Q36:latch與register的區別,為什么現在多用register.行為級描述中latch如何產生的?
latch是電平觸發,register是邊沿觸發,register在同一時鐘邊沿觸發下動作,符合同步電路的設計思想,而latch則屬于異步電路設計,往往會導致時序分析困難,不適當的應用latch則會大量浪費芯片資源。
Q37:用D觸發器做個二分頻的電路?畫出邏輯電路?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity two_de_fre is
port(clk: in std_logic;
reset:in std_logic;
clk_out: out std_logic) ;
end two_de_fre;
architecture Behavioral of two_de_fre is
signal sig_clk: std_logic;
begin
process(clk)
begin
if(reset = '1') then
sig_clk <= '0';
elsif(clk'event and clk = '1') then
sig_clk <= not sig_clk;
end if;
end process;
clk_out <= sig_clk;
end Behavioral;
顯示工程設計中一般不采用這樣的方式來設計,二分頻一般通過DCM來實現。通過DCM得到的分頻信號沒有相位差。
Q38:什么是狀態圖?
狀態圖是以幾何圖形的方式來描述時序邏輯電路的狀態轉移規律以及輸出與輸入的關系。
Q39:用你熟悉的設計方式設計一個可預置初值的7進制循環計數器,15進制的呢?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity seven_counter is
port(reset:in std_logic;
clk: in std_logic;
counter_out std_logic_vector(2 downto 0));
end seven_counter;
architecture Behavioral of seven_counter is
signal sig_counter : std_logic_vector(2 downto 0);
begin
process(reset,clk)
begin
if(reset = '1') then
sig_count <= "101" ; --初值為5
elsif(clk'event and clk = '1') then
sig_count <= sig_count + 1;
end if;
end process;
counter_out <= sig_counter;
end Behavioral;
15進制計數器設計只需將counter_out和sig_counter改為4位就行;
Q39:用VERILOG或VHDL寫一段代碼,實現消除一個glitch?
將傳輸過來的信號經過兩級觸發器就可以消除毛刺。(這是我自己采用的方式:這種方式消除毛刺是需要滿足一定條件的,并不能保證一定可以消除)
Q40:sram,falsh memory,及dram的區別?
sram:靜態隨機存儲器,存取速度快,但容量小,掉電后數據會丟失,不像DRAM 需要不停的REFRESH,制造成本較高,通常用來作為快取(CACHE) 記憶體使用
flash:閃存,存取速度慢,容量大,掉電后數據不會丟失
dram:動態隨機存儲器,必須不斷的重新的加強(REFRESHED) 電位差量,否則電位差將降低至無法有足夠的能量表現每一個記憶單位處于何種狀態。價格比sram便宜,但訪問速度較慢,耗電量較大,常用作計算機的內存使用。
Q41:有四種復用方式,頻分多路復用,寫出另外三種?
四種復用方式:頻分多路復用(FDMA),時分多路復用(TDMA),碼分多路復用(CDMA),波分多路復用(WDM)
Q42:給出一個組合邏輯電路,要求分析邏輯功能。
所謂組合邏輯電路的分析,就是找出給定邏輯電路輸出和輸入之間的關系,并指出電路的邏輯功能。
分析過程一般按下列步驟進行:
1:根據給定的邏輯電路,從輸入端開始,逐級推導出輸出端的邏輯函數表達式。
2:根據輸出函數表達式列出真值表;
3:用文字概括處電路的邏輯功能;
Q43:如何防止亞穩態?
1 降低系統時鐘頻率
2 用反應更快的FF
3 引入同步機制,防止亞穩態傳播(可以采用前面說的加兩級觸發器)。
4 改善時鐘質量,用邊沿變化快速的時鐘信號
Q44:描述反饋電路的概念,列舉他們的應用。
反饋,就是在電路系統中,把輸出回路中的電量輸入到輸入回路中去。
反饋的類型有:電壓串聯負反饋、電流串聯負反饋、電壓并聯負反饋、電流并聯負反饋。
負反饋的優點:降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改善放大器的線性和非線性失真,有效地擴展放大器的通頻帶,自動調節作用。
電壓負反饋的特點:電路的輸出電壓趨向于維持恒定。
電流負反饋的特點:電路的輸出電流趨向于維持恒定。
Q45:有源濾波器和無源濾波器的區別
無源濾波器:這種電路主要有無源元件R、L和C組成
有源濾波器:集成運放和R、C組成,具有不用電感、體積小、重量輕等優點。
集成運放的開環電壓增益和輸入阻抗均很高,輸出電阻小,構成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。
Q46:什么叫做OTP片、掩膜片,兩者的區別何在?
OTP means one time program,一次性編程
MTP means multi time program,多次性編程
OTP(One Time Program)是MCU的一種存儲器類型
MCU按其存儲器類型可分為MASK(掩模)ROM、OTP(一次性可編程)ROM、FLASHROM等類型。
MASKROM的MCU價格便宜,但程序在出廠時已經固化,適合程序固定不變的應用場合
FALSHROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發用途;
OTP ROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量產的電子產品。
Q47、單片機上電后沒有運轉,首先要檢查什么?
首先應該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。
接下來就是檢查復位引腳電壓是否正常。分別測量按下復位按鈕和放開復位按鈕的電壓值,看是否正確。
然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應該使用示波器探頭的“X10”檔。另一個辦法是測量復位狀態下的IO口電平,按住復位鍵不放,然后測量IO口(沒接外部上拉的P0口除外)的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。
另外還要注意的地方是,如果使用片內ROM的話(大部分情況下如此,現在已經很少有用外部擴ROM的了),一定要將EA引腳拉高,否則會出現程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是因為EA引腳沒拉高的緣故(當然,晶振沒起振也是原因只一)。經過上面幾點的檢查,一般即可排除故障了。如果系統不穩定的話,有時是因為電源濾波不好導致的。在單片機的電源引腳跟地引腳之間接上一個0.1uF的電容會有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。遇到系統不穩定時,就可以并上電容試試(越靠近芯片越好)。
Q48:給了reg的setup,hold時間,求中間組合邏輯的delay范圍
Delay < period - setup – hold
Q49:時鐘周期為T,觸發器D1的寄存器到輸出時間最大為T1max,最小為T1min。組合邏輯電路最大延遲為T2max,最小為T2min。問,觸發器D2的建立時間T3和保持時間應滿足什么條件
T3setup>T+T2max,T3hold>T1min+T2min
Q50:阻塞式賦值和非組塞式賦值的區別?
非阻塞賦值:塊內的賦值語句同時賦值,一般用在時序電路描述中。
阻塞賦值:完成該賦值語句后才能做下一句的操作,一般用在組合邏輯描述中。
評論
查看更多