FPGA面試題目匯總_第1頁
FPGA面試題目匯總_第2頁
FPGA面試題目匯總_第3頁
FPGA面試題目匯總_第4頁
FPGA面試題目匯總_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、FPGA面試題 相關搜索:FPGA,面試 1 :什么是同步邏輯和異步邏輯?(漢王) 同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有固定的因果關系。答案應該與上面問 題一致 輸入x有無變化,狀態表中的每個狀態都是穩定的。 異步時序邏輯電路的特點:電路中除可以使用帶時鐘的觸發器外,還可以使用不帶時鐘的觸發器和 延 遲元件作為存儲元件,電路中沒有統一的時鐘,電路狀態的改變由外部輸入的變化直接引 起。 2:同步電路和異步電路的區別: 同步電路:存儲電路中所有觸發器的時鐘輸入端都接同一個時鐘脈沖源,因而所有觸發器的狀態的變化 都與所加的時鐘脈沖信號同步。| 異步電路:電路沒有統一的時鐘,有

2、些觸發器的時鐘輸入端與時鐘脈沖源相連,這有這些觸發器的狀態變 化與時鐘脈沖同步,而其他的觸發器的狀態變化不與時鐘脈沖同 步。 3 :時序設計的實質: 電路設計的難點在時序設計,時序設計的實質就是滿足每一個觸發器的建立 4 :建立時間與保持時間的概念? 建立時間:觸發器在時鐘上升沿到來之前,其數據輸入端的數據必須保持不變的時 間。時間:觸發器在時鐘上升沿到來之后,其數據輸入端的數據必須保持不變的時 間。 不考慮時鐘的skew,D2的建立時間不能大于(時鐘周期T - D1數據最遲到達時間 T1max+T2max ); 保持時間不能大于(D1數據最快到達時間 T1min+T2min );否則D2的數

3、據將進入亞穩態并向后級電路 傳播 5 :為什么觸發器要滿足建立時間和保持時間? 因 為觸發器內部數據的形成是需要一定的時間的,如果不滿足建立和保持時間,觸發器將進入亞穩態,進 入亞穩態后觸發器的輸岀將不穩定,在 0和1之間變化,這時 需要經過一個恢復時間,其輸岀才能穩定,但 穩定后的值并不一定是你的輸入值。這就是為什么要用兩級觸發器來同步異步輸入信號。這樣做可以防止 由于異步輸入信號對于本級時鐘可能不滿足建立保持時間而使本級觸發器產生的亞穩態傳播到后面邏輯中, 導致亞穩態的傳 播比較容易理解的方式)換個方式理解:需要建立時間是因為觸發器的D段像一個鎖存器在接受數據,為 了穩定的設置前級門的狀態

4、需要一段穩定時間;需要保持時間是因為在時鐘沿到來之后,觸發器要通過反 饋來所存狀態,從后級門傳到前級門需要時 間。 6 :什么是亞穩態?為什么兩級觸發器可以防止亞穩態傳播? 這也是一個異步電路同步化的問題,具體的可以參考EDACN技術月刊20050401。 亞穩態是指觸發器無法在某個規定的時間段內到達一個可以確認的狀態。使用兩級觸發器來使異步電路同 步化的電路其實叫做 一步同位器”,他只能用來對一位異步信號進行同步。兩級觸發器可防止亞穩態傳播 的原理:假設第一級觸發器的輸入不滿足其建立保持時間,它在第一個脈沖沿到來后輸岀的數據就為亞穩 態,那么在下 一個脈沖沿到來之前,其輸岀的亞穩態數據在一段

5、恢復時間后必須穩定下來,而且穩定的數 據必須滿足第二級觸發器的建立時間,如果都滿足了,在下一個脈沖沿到來時,第二級觸發器將不會岀現 亞穩態,因為其輸入端的數據滿足其建立保持時間。同步器有效的條件:第一級觸發器進入亞穩態后的恢 復時間+第二級觸發器的建立時間 carryout =0; next state carryout =1; next state carryout =1; next state carryout =0; next state carryout =1; next state carryout =0; next state carryout =0; next state car

6、ryout =1; next state carryout = X; next state =X; end case; end process; 25 :設計一個自動飲料售賣機,飲料10分錢,硬幣有5分和10分兩種,并考慮找零, 1. 畫出fsm (有限狀態機) 2. 用verilog編程,語法要符合fpga設計的要求 3. 設計工程中可使用的工具及設計大致過程? library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity dri

7、nk_auto_sale is port(clk: in std_logic; reset:in std_logic; sw101:in std_logic; sw102:in std_logic; buy : out std_logic; back: out std_logic); end drink_auto_sale; architecture Behavioral of drink_auto_sale is type state_type is(st0,st1); signal cs ,ns : state_type; begin process(clk,reset) begin if

8、(reset = 1) then cs = st0; elsif(clkevent and clk = 1) then cs if( sw101 = 1) then ns = st1; buy= 0; back= 0; elsif(sw102 = 1) then ns = st0; buy= 1; back = 0; else ns = st0 ; buy = 0; back if(sw101 = 1) then ns = st0; buy = 1; back = 0; elsif(sw102 = 1) then ns = st0; buy = 1; back ns = st0; buy= 0

9、; back =0.7VDD,Vilv=0.3VDD;Voh=0.9VDD,Vol=2.0v,Vilv=0.8v;Voh=2.4v,Vol=0.4v. 用cmos可直接驅動ttl;加上拉電阻后,ttl可驅動cmos. 1、 當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低于 COMS電路的最低高電平(一般為 3.5V ),這時就需要在TTL的輸岀端接上拉電阻,以提高輸岀高電平的值。 2、OC門電路必須加上拉電阻,以提高輸出的搞電平值。 3、為加大輸岀引腳的驅動能力,有的單片機管腳上也常使用上拉電阻。 4、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產生

10、降低輸入阻抗, 提供泄荷通路。 5、芯片的管腳加上拉電阻來提高輸岀電平,從而提高芯片輸入信號的噪聲容限增強抗干擾能力。 6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。 7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。 上拉電阻阻值的選擇原則包括: 1、從節約功耗及芯片的灌電流能力考慮應當足夠大;電阻大,電流小。 2、從確保足夠的驅動電流考慮應當足夠小;電阻小,電流大。 3、 對于高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮以上三點,通常在1k到10k之間選取。對下 拉電阻也有類似道理。 OC門電路必須加上拉電阻,以提高輸出的搞

11、電平值。 OC門電路要輸出1 ”時才需要加上拉電阻不加根本就沒有高電平 在有時我們用0C門作驅動(例如控制一個LED )灌電流工作時就可以不加上拉電阻 OC門可以實現線與”運算 OC門就是 集電極開路輸岀 總之加上拉電阻能夠提高驅動能力。 29 : IC設計中同步復位與異步復位的區 另U? 同步復位在時鐘沿采復位信號,完成復位動作。異步復位不管時鐘,只要復位信號滿足條件,就完成復位 動作。異步復位對復位信號要求比較高,不能有毛刺,如果其與時鐘關系不確定,也可能岀現亞穩態。 30 : MOORE 與 MEELEY狀態機的特征? Moore狀態機的輸出僅與當前狀態值有關,且只在時鐘邊沿到來時才會有

12、狀態變化。| Mealy狀態機的輸出不僅與當前狀態值有關 ,而且與當前輸入值有關。| 31 :多時域設計中,如何處理信號跨時域? J 不同的時鐘域之間信號通信時需要進行同步處理,這樣可以防止新時鐘域中第一級觸發器的亞穩 態 信號對下級邏輯造成影響。信號跨時鐘域同步:當單個信號跨時鐘域時,可以采用兩級觸發器來同步;數 據或地址總線跨時鐘域時可以采用異步fifo來實現時鐘同步;第三種方法就是采用握手信號。 32 :說說靜態、動態時序模擬的優缺點? 靜態時序分析是采用窮盡分析方法來提取岀整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播 延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大

13、路徑延時和最小路徑延時的分析,找岀 違背時序約束的錯誤。它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少,不僅可 以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計,因此靜態時序分析已 經越來越多地被用到數字集成電路設計的驗證中。 動態時序模擬就是通常的仿真,因為不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在 動態時序分析中,無法暴露一些路徑上可能存在的時序問題; 33 :一個四級的Mux,其中第二級信號為關鍵信號如何改善timing. ? 關鍵:將第二級信號放到最后輸出一級輸出,同時注意修改片選信號,保證其優先級未被修改。 (為什么?) 3

14、4 :給岀一個門級的圖,又給了各個門的傳輸延時,問關鍵路徑是什么,還問給岀輸入,使得輸岀依賴于關鍵 路徑? 35 :為什么一個標準的倒相器中P管的寬長比要比 N管的寬長比大? 和載流子有關,P管是空穴導電,N管是電子導電,電子的遷移率大于空穴,同樣的電場下, 的電流大于P管,因此要增大P管的寬長比,使之對稱,這樣才能使得兩者上升時間下降時間相等、高低 電平的噪聲容限一樣、充電放電的時間相 等。 36 :用mos管搭出一個二輸入與非門? 數字電子技術基礎49頁 37 :畫出NOT,NAND,NOR 的符號,真值表,還有transistor level的電路? 省略 38 :畫出CMOS的圖,畫出

15、tow-to-one mux gate.(威盛VIA 2003.11.06上海筆試試題)? 39 :用一個二選一 mux和一個inv實現異或? 其中:B連接的是地址輸入端 A和A非連接的是數據選擇端,F對應的的是輸岀端,使能端固定接地置零(沒有 畫出來). 40 :畫出CMOS電路的晶體管級電路圖,實現Y=A*B+C(D+E).(仕蘭微電子)? 41 :用與非門等設計全加法器?(華為) 數字電子技術基礎57頁。;. 42 : A,B,C,D,E 進行投票,多數服從少數,輸出是F(也就是如果A,B,C,D,E 中1的個數比0 多,那么F輸出 為1,否則F為0),用與非門實現,輸入數目沒有限制?

16、F= ABC + ABD + ABE +ACD + ACE+ ADE + BCD + BCE + CDE + BDE 43 :畫出一種CMOS的D鎖存器的電路圖和版圖? 44 : LATCH和DFF的概念和區別? 45 : latch與register 的區別,為什么現在多用register.行為級描述中latch如何產生的? latch是電平觸發,register是邊 沿觸發register在同一時鐘邊沿觸發下動作,符合同步電路的 設計思想,而latch則屬于異步電路設計,往往會導致時序分析困難,不適當的應用latch則會大量浪費 芯片資源。 46 :用D觸發器做個二分頻的電路?畫出邏輯電路

17、? 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)

18、 begin if(reset =1) then sig_clk = O; elsif(clkevent and clk = 1)then sig_clk = not sig_clk; end if; end process; clk_out = sig_clk; end Behavioral; 顯示工程設計中一般不采用這樣的方式來設計,二分頻一般通過 沒有相位差。 DCM來實現。通過 DCM得到的分頻信號 47 :什么是狀態圖? 狀態圖是以幾何圖形的方式來描述時序邏輯電路的狀態轉移規律以及輸岀與輸入的關 系。 48 :用你熟悉的設計方式設計一個可預置初值的7進制循環計數器,15進制的呢? l

19、ibrary 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 : s

20、td_logic_vector(2 begin process(reset,clk) begin if(reset =1) then sig_count = downto 0); 101;-初值為5 elsif(clkevent and clk = 1) sig_count = end if; then sig_count + 1; end process; counter_out = sig_counter; end Behavioral; 15進制計數器設計只需將 counter_out 和sig_counter 改為4位就行; 49 :你所知道的可編程邏輯器件有哪些? PAL,PLD,C

21、PLD,FPGA 50 :用VERILOG 或VHDL寫一段代碼,實現消除一個glitch ? 將傳輸過來的信號經過兩級觸發器就可以消除毛刺。(這是我自己采用的方式:這種方式消除毛刺是需要滿 足一定條件的,并不能保證一定可以消除) 51 : sram,falsh memory, 及 dram 的 區另U? sram :靜態隨機存儲器,存取速度快,但容量小,掉電后數據會丟失,不像DRAM需要不停的 REFRESH,制造成本較高,通常用來作為快取(CACHE)記憶體使用 flash :閃存,存取速度慢,容量大,掉電后數據不會丟失 dram :動態隨機存儲器,必須不斷的重新的加強(REFRESHED

22、)電位差量,否則電位差將降低至無法有 足夠的能量表現每一個記憶單位處于何種狀態。價格比sram便宜,但訪問速度較慢,耗電量較大,常用 作計算機的內存使 用。 52 :有四種復用方式,頻分多路復用,寫出另外三種? 四種復用方式:頻分多路復用(FDMA ),時分多路復用(TDMA ),碼分多路復用(CDMA ),波分 多路復用(WDM ) 53 : ASIC 設計流程中什么時候修正 Setup time violation 和Hold time violation?如何修正? 見前面的建立時間和保持時間 54 :給岀一個組合邏輯電路,要求分析邏輯功能。 所謂組合邏輯電路的分析,就是找岀給定邏輯電路

23、輸岀和輸入之間的關系,并指岀電路的邏輯功能。 分析過程一般按下列步驟進行: 1 :根據給定的邏輯電路,從輸入端開始,逐級推導岀輸岀端的邏輯函數表達式。 2 :根據輸岀函數表達式列岀真值表; 3:用文字概括處電路的邏輯功能; 55 :如何防止亞穩態? 1降低系統時鐘頻率 2用反應更快的FF 3引入同步機制,防止亞穩態傳播(可以采用前面說的加兩級觸發器)。 4改善時鐘質量,用邊沿變化快速的時鐘信號 56 :基爾霍夫定理的內容 基爾霍夫定律包括電流定律和電壓定律: 電流定律:在集總電路中,任何時刻,對任一節點,所有流岀節點的支路電流的代數和恒等于零。 電壓定律:在集總電路中,任何時刻,沿任一回路,所

24、有支路電壓的代數和恒等于零。 57 :描述反饋電路的概念,列舉他們的應用。 反饋,就是在電路系統中,把輸岀回路中的電量輸入到輸入回路中去。 反饋的類型有:電壓串聯負反饋、電流串聯負反饋、電壓并聯負反饋、電流并聯負反饋。 負反饋的優點:降低放大器的增益靈敏度,改變輸入電阻和輸岀電阻,改善放大器的線性和非線性失真, 有效地擴展放大器的通頻帶,自動調節作用。 電壓負反饋的特點:電路的輸岀電壓趨向于維持恒定。 電流負反饋的特點:電路的輸岀電流趨向于維持恒定。 58 :有源濾波器和無源濾波器的區別 無源濾波器:這種電路主要有無源元件R、L和C組成 有源濾波器:集成運放和 R、C組成,具有不用電感、體積小

25、、重量輕等優點。 集成運放的開環電壓增益和輸入阻抗均很高,輸岀電阻小,構成有源濾波電路后還具有一定的電壓放大和 緩沖作用。但集成運放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。 59 :什么叫做OTP片、掩膜片,兩者的區別何在? OTP means one time program ,一次性編程 MTP means multi time program ,多次性編程 OTP (One Time Program )是MCU的一種存儲器類型 MCU按其存儲器類型可分為 MASK(掩模)ROM、OTP( 一次性可編程)ROM、FLASHROM 等類型。 MASKROM的MCU價格便宜,但

26、程序在出廠時已經固化,適合程序固定不變的應用場合; FALSHROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開 發用途; OTP ROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求 低成本的應用場合,尤其是功能不斷翻新、需要迅速量產的電子產品。 60、單片機上電后沒有運轉,首先要檢查什么? 首先應該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例 如常用的5V。 接下來就是檢查復位引腳電壓是否正常。分別測量按下復位按鈕和放開復位按鈕的電壓值,看是否正確。然 后再檢查晶振是否起振了

27、,一般用示波器來看晶振引腳的波形,注意應該使用示波器探頭的X10 ”檔。另 一 個辦法是測量復位狀態下的IO 口電平,按住復位鍵不放,然后測量 IO 口(沒接外部上拉的 P0 口除外) 的 電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。 另外還要注意的地方是,如果使用片內ROM的話(大部分情況下如此,現在已經很少有用外部擴ROM的 了),一定要將EA引腳拉高,否則會岀現程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是 因為EA引腳沒拉高的緣故(當然,晶振沒起振也是原因只一)。經過上面幾點的檢查,一般即可排除故障 了。如果系統不穩定的話,有時是因為電源濾波不好導致的。在

28、單片機的電源引腳跟地引腳之間接上一個 0.1uF的電容會有所 改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。 遇到系統不穩定時,就可以并上電容試試(越靠近芯片越好)。 61 :給了 reg的setup,hold 時間,求中 間組合邏輯的delay范圍 Delay T+T2max,T3holdT1min+T2min 63 :用傳輸門和倒向器搭一個邊沿觸發器。(揚智電子筆試) 64 :用邏輯們畫出 D觸發器。(威盛VIA 2003.11.06上海筆試試題) 65 : 16分頻電路中需要多少觸發器? 66 :阻塞式賦值和非組塞式賦值的區別? 非阻塞賦值:塊內的賦值語句

29、同時賦值,一般用在時序電路描述 中 中塞賦值:完成該賦值語句后才能做下一句的操作,一般用在組合邏輯描述中 67 : 74、用FSM實現101101的序列檢測模塊。(南山之橋) a為輸入端,b為輸出端,如果a連續輸入為1101則b輸出為1,否則為0 例如 a :0001100110110100100110 a:0000000000100100000000 請畫出 state machine ;請用 RTL 描述其 state machine 。(未知) library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity detect_stream is port(clk: in std_logic; reset: in std_logic; data: in std_logic; result : out std_logic); end detect_stream; architecture Beha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論