漢王筆試
下面是一些基本的數位電路知識問題,請簡要回答之。
a) 什麼是setup 和holdup時間?
setup/hold time是測試晶元對輸入訊號和時鐘訊號之間的時間要求。建立時間是指觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間。輸入訊號應提前時鐘上公升沿(如上公升沿有效)t時間到達晶元,這個t就是建立時間-setup time.
如不滿足setup time,這個資料就不能被這一時鐘打入觸發器,只有在下乙個時鐘上公升沿,資料才能被打入觸發器。
保持時間是指觸發器的時鐘訊號上公升沿到來以後,資料穩定不變的時間。如果hold time不夠,資料同樣不能被打入觸發器。
建立時間(setup time)和保持時間(hold time)。建立時間是指在時鐘邊沿前,資料訊號需要保持不變的時間。保持時間是指時鐘跳變邊沿後資料訊號需要保持不變的時間。
如果資料訊號在時鐘沿觸發前後持續的時間均超過建立和保持時間,那麼超過量就分別被稱為建立時間裕量和保持時間裕量。
b) 什麼是競爭與冒險現象?怎樣判斷?如何消除?
在組合邏輯中,由於門的輸入訊號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。
產生毛刺叫冒險。如果布林式中有相反的訊號則可能產生競爭和冒險現象。
解決方法:一是新增布林式的消去項,二是在晶元外部加電容。
c) 請畫出用d觸發器實現2倍分頻的邏輯電路?
d) 什麼是"線與"邏輯,要實現它,在硬體特性上有什麼具體要求?
將兩個閘電路的輸出端併聯以實現與邏輯的功能成為線與。
在硬體上,要用oc門來實現,同時在輸出埠加乙個上拉電阻。
由於不用oc門可能使灌電流過大,而燒壞邏輯門。
e) 什麼是同步邏輯和非同步邏輯?
同步邏輯是時鐘之間有固定的因果關係。非同步邏輯是各時鐘之間沒有固定的因果關係。
f) 請畫出微機介面電路中,典型的輸入裝置與微機介面邏輯示意圖(資料介面、控制介面、所存器/緩衝器)。
g) 你知道那些常用邏輯電平?ttl與coms電平可以直接互連嗎?
cmos輸出接到ttl是可以直接互連。ttl接到cmos需要在輸出埠加一上拉電阻接到5v或者12v。
單端邏輯訊號,ttl、cmos、lvttl、lvcmos、pci;
單端差分邏輯訊號(偽差分訊號),單端sstl、單端hstl;
差分邏輯訊號三大類,lvds、sstl、ecl、pecl。
2、可程式設計邏輯器件在現代電子設計中越來越重要,請問:
a) 你所知道的可程式設計邏輯器件有哪些?
fpga和cpld
b) 試用vhdl或verilog、able描述8位d觸發器邏輯。
vhdl描述:
library ieee;
use ieee.std_logic_1164.all;
entityd8 is
port( d : in std_logic_vector(7 downto 0);
q : out std_logic_vector(7 downto 0);
clrbar, clk : in std_logic);
end d8;
architecture ver1 ofd8 is
begin
q <= (others => '0') when (clrbar = '0') else
d when rising_edge(clk) else
unaffected;
end ver1;
3、設想你將設計完成乙個電子電路方案。請簡述用eda軟體(如protel)進行設計(包
括原理圖和pcb圖)到除錯出樣機的整個過程。在各環節應注意哪些問題?
飛利浦-大唐筆試歸來
1,用邏輯們和cmos電路實現ab+cd
2. 用乙個二選一mux和乙個inv實現異或
3. 給了reg的setup,hold時間,求中間組合邏輯的delay範圍。
setup/hold time 是測試晶元對輸入訊號和時鐘訊號之間的時間要求。建立時間是指觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間。輸入訊號應提前時鐘上公升沿(如上公升沿有效)t時間到達晶元,這個t就是建立時間-setup time.
如不滿足setup time,這個資料就不能被這一時鐘打入觸發器,只有在下乙個時鐘上公升沿,資料才能被打入觸發器。保持時間是指觸發器的時鐘訊號上公升沿到來以後,資料穩定不變的時間。時hold time不夠,資料同樣不能被打入觸發器。
4. 如何解決亞穩態
亞穩態是指觸發器無法在某個規定時間段內達到乙個可確認的狀態。當乙個觸發器進入亞穩態時,既無法**該單元的輸出電平,也無法**何時輸出才能穩定在某個正確的電平上。在這個穩定期間,觸發器輸出一些中間級電平,或者可能處於振盪狀態,並且這種無用的輸出電平可以沿訊號通道上的各個觸發器級聯式傳播下去。
5. 用verilog/vhdl寫乙個fifo控制器
library ieee;
use ieee.std_logic_1164.all;
entity fifomxn is
generic(m, n : positive := 8); --m is fifo depth, n is fifo width
port(reset, wrreq, rdreq, clock : in std_logic;
datain : in std_logic_vector((n-1) downto 0);
dataout : out std_logic_vector((n-1) downto 0);
full, empty : inout std_logic);
end fifomxn;
architecture v2 of fifomxn is
type fifo_array is array(0 to (m-1)) of bit_vector((n-1) downto 0);
signal fifo_memory : fifo_array;
signal wraddr, rdaddr, offset : natural range 0 to (m-1);
signal rdpulse, wrpulse, q1, q2, q3, q4 : std_logic;
signal databuffer : bit_vector((n-1) downto 0);
begin
--pulse synchronisers for wrreq and rdreq
--modified for synplify to a process
sync_ffs : process
begin
wait until rising_edge(clock);
q1 <= wrreq;
q2 <= q1;
q3 <= rdreq;
q4 <= q3;
end process;
--concurrent logic to generate pulses
wrpulse <= q2 and not(q1);
rdpulse <= q4 and not(q3);
fifo_read : process
begin
wait until rising_edge(clock);
if reset = '1' then
rdaddr <= 0;
databuffer <= (others => '0');
elsif (rdpulse = '1' and empty = '0') then
databuffer <= fifo_memory(rdaddr);
rdaddr <= (rdaddr + 1) mod m;
end if;
end process;
fifo_write : process
begin
wait until rising_edge(clock);
if reset = '1' then
wraddr <= 0;
elsif (wrpulse = '1' and full = '0') then
fifo_memory(wraddr) <= to_bitvector(datain);
wraddr <= (wraddr + 1) mod m;
end if;
end process;
offset <= (wraddr - rdaddr) when (wraddr > rdaddr)
else (m - (rdaddr - wraddr)) when (rdaddr > wraddr)
else 0;
empty <= '1' when (offset = 0) else '0';
full <= '1' when (offset = (m-1)) else '0';
dataout <= to_stdlogicvector(databuffer) when rdreq = '0'
else (others => 'z');
end v2;
6. 用verilog/vddl檢測stream中的特定字串
信威dsp軟體面試題
1)dsp和通用處理器在結構上有什麼不同,請簡要畫出你熟悉
的一種dsp結構圖
2)說說定點dsp和浮點dsp的定義(或者說出他們的區別)
3)說說你對迴圈定址和位反序定址的理解
4)請寫出【-8,7】的二進位制補碼,和二進位制偏置碼。
用q15表示出0.5和-0.5
揚智電子筆試
第一題:用mos管搭出乙個二輸入與非門。
第二題:積體電路前段設計流程,寫出相關的工具。
第三題:名詞irq,bios,usb,vhdl,sdr
irq: interrupt request
bios: basic input output system
usb: universal serial bus
vhdl: vhic hardware description language
sdr: single data rate
第四題:unix 命令cp -r, rm,uname
第五題:用波形表示d觸發器的功能
第六題:寫非同步d觸發器的vhdl
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dff_asy is
port (
clock : in std_logic ;--clock
reset : in std_logic ;--reset
dff_in : in std_logic ;--data in
dff_out : out std_logic --data out
);end dff_asy;
architecture rtl of dff_asy is
signal reg_dff_out : std_logic ; -- internal signals
begin
process (clock,reset) begin
if (reset = '1') then -- asynchronous reset
reg_dff_out <= '0';
elsif (clock'event and clock = '1') then
reg_dff_out <= dff_in ;
end if;
end process;
dff_out <= reg_dff_out ;
end rtl;
電子工程師面試題整理
漢王筆試 下面是一些基本的數位電路知識問題,請簡要回答之。a 什麼是setup 和holdup時間?setup hold time是測試晶元對輸入訊號和時鐘訊號之間的時間要求。建立時間是指觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間。輸入訊號應提前時鐘上公升沿 如上公升沿有效 t時間到達晶元...
電子工程師面試題
收集的一些電子工程師面試題,正在繼續完成中.模擬 模擬電路 analog circuit 處理模擬訊號的電子電路模擬訊號 時間和幅度都連續的訊號 連續的含義是在某以取值範圍那可以取無窮多個數值 數字 數碼訊號指幅度的取值是離散的,幅值表示被限制在有限個數值之內。二進位製碼就是一種數碼訊號。二進位製碼...
電子工程師面試題合集
微控制器開發工程師 只允許30分鐘完成 1.請列舉出你所知道的微控制器品牌?你使用過其中多少種?2.用你熟悉的微控制器寫一段10ms軟體件延時程式?3.已知乙個陣列int a n 1 裡面存放的n個數是0,1,2.n這個自然數序列n 1個數裡面的n個,請用最簡單的演算法找出缺少的是哪個數?只要求寫思...