FPGA經(jīng)典面試題_第1頁
FPGA經(jīng)典面試題_第2頁
FPGA經(jīng)典面試題_第3頁
FPGA經(jīng)典面試題_第4頁
FPGA經(jīng)典面試題_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、FPGA與CPLD內(nèi)部結(jié)構(gòu)區(qū)別?CPLD以altraMAX7000 這種PLD為例,可分為三塊結(jié)構(gòu):宏單元(Marocell), 可編程連線(PIA)和I/O控制塊。宏單元是PLD的基本結(jié)構(gòu),由它來實現(xiàn)基本 的邏輯功能??删幊踢B線負責信號傳遞,連接所有的宏單元。I/O控制塊負責輸入輸出的電氣特性控制,比如可以設(shè)定集電極開路輸出,擺率控制,三態(tài)輸出等。這種基于乘積項(實際就是與或陣列)的PLD基本都是由EEPROM和Flash 工藝制造的,一上電就可以工作,無需其他芯片配合。布線方式是全局的,所以 延時可預測。CPLD適合做邏輯設(shè)計。FPGAFPGA基于LUT, LUT本質(zhì)上就是一個RAM ,每

2、一個LUT可以看成一個有 4位地址線的16x1的RAM。這也是為什么FPGA需要外接一個rom來上電配 置。以xilinx的Spartan-II為例,主要包括CLBs, I/O塊,RAM塊和可編程連 線。在spartan-II中,一個CLB包括2個Slices,每個slices包括兩個LUT,兩 個觸發(fā)器和相關(guān)邏輯。 Slices可以看成是SpartanII實現(xiàn)邏輯的最基本結(jié)構(gòu)。FPGA的制造工藝確定了 FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多, 往往都是幾千上萬,PLD一般只能做到512個邏輯單元,而且如果用芯片價格 除以邏輯單元數(shù)量,F(xiàn)PGA的平均邏輯單元成本大大低于PLDo所以如果

3、設(shè)計 中使用到大量觸發(fā)器,例如設(shè)計一個復雜的時序邏輯,那么使用FPGA就是一個 很好選擇。2 .Latch 和Register區(qū)別?行為描述中Latch如何產(chǎn)生?本質(zhì)的區(qū)別在于:latch是電平觸發(fā),reg是邊沿觸發(fā)。時序設(shè)計中盡量使用reg觸發(fā)。行為描述中,如果對應所有可能輸入條件,有的輸入沒有對應明確的輸出,系統(tǒng)會綜合出 atch。二匕如:always( a or b) /缺少 else 語句beginif(a=1) q <= b;end3 .對競爭冒險的理解,以及如何消除?在組合邏輯中,由于門的輸入信號通路中經(jīng)過了不同的延時,導致到達該門的時間不一致叫競爭。產(chǎn)生毛刺叫冒險。如果布爾

4、式中有相反的信號則可能產(chǎn)生競爭和冒險現(xiàn)象。解決方法:一是添加布爾式的消去項,二是在芯片外部加電容。4 .用Verilog設(shè)計一個5分頻器。5分頻,奇數(shù)分頻都可以類似這么做,只需要改div1和div2的參數(shù)。div1 為奇數(shù)分頻除2的余數(shù)。采用上升延和下降延分別觸發(fā)不同波形,最后疊加的 方式產(chǎn)生奇數(shù)分頻。module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);input clk;input rst;output clklx;output clklxpose;output clklxnege;output2

5、:0 coutpose;output2:0 coutnege;reg clklxpose;reg clklxnege;reg2:0 coutpose;reg2:0 coutnege;parameter divl = 2 , div2 = 4;/ divl= 5 / 2, div2 = 5 - 1assign clk1x = clk1xpose | clk1xnege;always(posedge clk or negedge rst)beginif(!rst)clk1xpose = 0;else if(coutpose = div1)clk1xpose = clk1xpose;else if(

6、coutpose = div2)clk1xpose = clk1xpose;elseclk1xpose = clk1xpose;endalways(negedge clk or negedge rst)beginif(!rst)clk1xnege = 0;else if(coutnege = div1)clk1xnege = clk1xnege;else if(coutnege = div2)clklxnege = clk1xnege;elseclklxnege = clklxnege; endalways(posedge clk or negedge rst)beginif(!rst)cou

7、tpose = 0;else if(coutpose = div2)coutpose = 0;elsecoutpose = coutpose + 1; endalways(negedge clk or negedge rst)beginif(!rst)coutnege = 0;else if(coutnege = div2)coutnege = 0;elsecoutnege = coutnege + 1; endendmodule1、FPGA結(jié)構(gòu)一般分為三部分:可編程邏輯塊(CLB)、可編程I/O模塊和 可編程內(nèi)部連線。2 CPLD的內(nèi)部連線為連續(xù)式布線互連結(jié)構(gòu),任意一對輸入、輸出端之間的 延

8、時是固定;FPGA的內(nèi)部連線為分段式布線互連結(jié)構(gòu),各功能單元間的延時 不定(不可預測)。3大規(guī)??删幊唐骷饕?CPLD和FPGA兩類,其中CPLD通過可編程 乘積項邏輯實現(xiàn)其邏輯功能。基于SRAM的FPGA器件,每次上電后必須進行一次配置。FPGA內(nèi)部陣列的配置一般采用在電路可重構(gòu)技術(shù),編程數(shù)據(jù)保存在 靜態(tài)存儲器(SRAM),掉電易失。4目前世界上有十幾家生產(chǎn) CPLD/FPGA的公司,最大的兩家是:Altera, Xilinx。5硬件描述語言(HDL)是EDA技術(shù)的重要組成部分,是電子系統(tǒng)硬件行為 描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語言,它的種類很多,如VHDL、Verilog HDL、 AH

9、DL6 WHEN_ELSE條件信號賦值語句 和IF_ELSE順序語句的異同WHEN_ELSE條件信號賦值語句中無標點,只有最后有分號;必須成對出 現(xiàn);是并行語句,必須放在結(jié)構(gòu)體中。IF_ELSE順序語句中有分號;是順序語句,必須放在進程中7可編程邏輯器件設(shè)計輸入有原理圖輸入、硬件描述語言輸入和波形輸入三 種方式。原理圖輸入方式是一種最直接的設(shè)計描述方式,硬件描述語言的突出優(yōu)點是:* 語言與工藝的無關(guān)性;語言的公開可利用性,便于實現(xiàn)大規(guī)模系統(tǒng)的設(shè)計;* 具有很強的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計輸入庫 之間的轉(zhuǎn)換非常方便,用不著對底層的電路和PLD結(jié)構(gòu)的熟悉。波形設(shè)計輸入適用于時

10、序邏輯和有重復性的邏輯函數(shù)。8用VHDL/Veilog HDL語言開發(fā)可編程邏輯電路的完整流程:文本編輯一功能仿真一邏輯綜合一布局布線一時序仿真。* 所謂綜合,就是根據(jù)設(shè)計功能和實現(xiàn)該設(shè)計的約束條件(如面積、速度、功耗和成本等),將設(shè)計輸入轉(zhuǎn)換成滿足要求的電路設(shè)計方案,該方案必須同時 滿足與其的功能和約束條件。綜合的過程也是設(shè)計目標的優(yōu)化過程,其目的是將 多個模塊化設(shè)計文件合并為一個網(wǎng)表文件,供布局布線使用,網(wǎng)表中包含了目標器件中的邏輯單元和互連的信息。* 布局布線就是根據(jù)設(shè)計者指定的約束條件(如面積、延時、時鐘等卜目標 器件的結(jié)構(gòu)資源和工藝特性,以最優(yōu)的方式對邏輯元件布局,并準確地實現(xiàn)元件

11、間的互連,完成實現(xiàn)方案(網(wǎng)表)到使實際目標器件(FPGA或CPLD)的變換。9基于EDA軟件的FPGA / CPLD設(shè)計流程為:原理圖/HDL文本輸入一功能仿真一綜合一適配一時序仿真一編程下載一硬 件測試。* 綜合是EDA設(shè)計的關(guān)鍵步驟,綜合就是將電路的高級語言轉(zhuǎn)換成低級的, 可與FPGA/CPLD相映射的功能網(wǎng)表文件。為實現(xiàn)系統(tǒng)的速度、面積、性能的要 求,需要對綜合加以約束,稱為綜合約束。10構(gòu)成一個完整的VHDL語言程序的五個基本結(jié)構(gòu):實體(ENTITY)、結(jié)構(gòu)體(ARCHITECURE)、配置(CONFIGURATION)、 庫(LIBRARY)、程序包(PACKAGE)。* 實體的由實

12、體說明和結(jié)構(gòu)體兩部分組成。實體說明部分用于描述所設(shè)計系 統(tǒng)的外部端口信號和參數(shù)的屬性和設(shè)置,而結(jié)構(gòu)體部分則定義了設(shè)計單元的具體 功能、行為、數(shù)據(jù)流程或內(nèi)部結(jié)構(gòu)。* 結(jié)構(gòu)體的三種描述方式,即行為級描述、數(shù)據(jù)流級描述和結(jié)構(gòu)級描述。結(jié)構(gòu)體通常由結(jié)構(gòu)體名稱、定義語句和并行處理語句構(gòu)成,* 程序包用于存放各設(shè)計模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等。* 庫用于存放已編譯的實體、結(jié)構(gòu)體、程序包和配置,可以通過其目錄進行 查詢和調(diào)用。在VHDL語言中,可以存在多個不同的庫,但是庫與庫之間是獨 立的,不能互相嵌套。它可由用戶生成或由 ASIC芯片制造商提供,以便于在設(shè) 計中為大家所共享。常用庫:(1)IEEE庫

13、IEEE 庫主要包括 std_logic_1164、numeric_bit、numeric_std等程序包,還有 一些程序包非 ieee 標準,但并入 IEEE 庫,如 std_logic_arich、std_logic_unsign ed> std_logic_signed。使用IEEE程序包,必須聲明。(2) std 庫包含standard textio程序包。Std庫符合IEEE標準,應用中不必聲明。(3) work 庫用戶的VHDL設(shè)計先行工作庫。(4) vital 庫包含時序程序包vital_timing和vital_primitives。設(shè)計開發(fā)過程通常不用每個設(shè)計實體都必須

14、有各自完整的庫說明語句和use語句。Use語句的使用將使說明的程序包對本設(shè)計實體部分全部開放,即是可視的。11 VHDL的數(shù)據(jù)對象包括常量(constant)、變量(varuable)和信號(signal), 它們是用來存放各種類型數(shù)據(jù)的容器。12 在VHDL的端口聲明語句中,端口方向包括in、out、buffer、inout、 linkage“BUFFERS緩沖端口,與OUT類似,只是緩沖端口允許實體內(nèi)部使用該 端口信號,它可以用于輸出,也可以用于端口信號的反饋。當一個結(jié)構(gòu)體用“BUFFER說明輸出端口時,與其連接的另一個結(jié)構(gòu)體的端口也要用BUFFER說明。以“LINKAGE定義的端口不指定

15、方向,無論哪個方向的信號都可以連接。13 VHDL的PROCESS (進程)語句是由順序語句 組成的,但其本身卻是 并行語句。14 VHDL的子程序有 過程(PROCEDURE)和 函數(shù)(FUNCTION)兩種類 型,具有可重載性特點。15 圖形文件的擴展名是.bdf ;矢量波形文件的擴展名是.vwf ;使用VH DL語言,文本設(shè)計文件的擴展名是.vhd ;自建元件圖形符號文件的擴展名.bsf;資源分配說明文件擴展名.qsf,用文本打開它可以修改引腳編號;邏輯綜合會 生成.edf文件;雙擊.qpf文件可啟動QuartusII并打開已有工程。16 圖形編輯中模塊間的連線有三種形式:節(jié)點線、總線和

16、管道線17 Quartus編譯器編譯FPGA工程最終生產(chǎn)兩種不同用途的文件,它們分別 是.sof和.pof。sof是SRAM Object File,下載到FPGA中,斷電丟失。pof是Programmer Object File,下載到配置芯片中,上電重新配置FPGA18 FPGA過程中的仿真有三種:行為仿真、邏輯仿真、時序仿真。19 IP核在EDA技術(shù)和開發(fā)中占有很重要的地位,提供 VHDL硬件描述語 言功能塊,但不涉及實現(xiàn)該功能模塊的具體電路的IP核為軟件IP。二 名詞解釋,寫出下列縮寫的中文(或者英文)含義:1 . FPGA Field Programmable Gate Array

17、現(xiàn)場可編程門陣列2 VHDL- Very-High-Speed Integrated Circuit Hardware Description Langu age)甚高速集成電路硬件描述語言3 HDL Hardware Description Language硬件描述語言4 EDA Electronic Design Automation 電子設(shè)計自動化5 CPLD Complex Programmable Logic Device 復雜可編程邏輯器件6 PLD Programmable Logic Device 可編程邏輯器件7 GAL , generic array logic 通用陣列邏

18、輯8 . LAB Logic Array Block 邏輯陣列塊9 . CLB Configurable Logic Block 可配置邏輯模塊10 EAB Embedded Array Block 嵌入式陣列塊11 SOPC System-on-a-Programmable-Chip 可編程片上系統(tǒng)12 . LUT Look-Up Table 查找表13 . JTAG Joint Test Action Group 聯(lián)合測試行為組織14 . IP Intellectual Property 知識產(chǎn)權(quán)15 ASIC Application Specific Integrated Circuit

19、s 專用集成電路16 ISP In System Programmable 在系統(tǒng)可編程17 ICR In Circuit Re-config 在電路可重構(gòu)18 RTL Register Transfer Level 寄存器傳輸級選擇:1 .基于VHDL設(shè)計的仿真包括有門級時序仿真、行為仿真、功能 仿真和前端功能仿真這四種,按照自頂向下的設(shè)計流程,其先后順序應該是:DA. B. C. D.2 .執(zhí)行Quartus II的B命令,可以檢查設(shè)計電路錯誤。A Create Default Symbol B Compiler-編譯C Simulator -時序仿真 D Timing Analyzer

20、-時序分析3 .在設(shè)計輸入完成后,應立即對設(shè)計文件進行( C )。A編輯B編譯C功能仿真D時序仿真4 .在VHDL中用(C )來把特定的結(jié)構(gòu)體關(guān)聯(lián)一個確定的實體,為一個 大型系統(tǒng)的設(shè)計提供管理和進行工程組織。A輸入B輸出C綜合D配置5 電子系統(tǒng)設(shè)計優(yōu)化,主要考慮提高資源利用率減少功耗(即面積優(yōu)化), 以及提高運行速度(即速度優(yōu)化),下列方法A不屬于面積優(yōu)化。A流水線設(shè)計B資源共享C邏輯優(yōu)化D用行化6 不完整地IF語句,其綜合結(jié)果可實現(xiàn)A時序邏輯電路 B組合邏輯電路 C雙向電路D三態(tài)控制電路7 .下面對利用原理圖輸入設(shè)計方法進行數(shù)字電路系統(tǒng)設(shè)計,那一種說法是不正確的。A.原理圖輸入設(shè)計方法直觀便

21、捷,但不適合完成較大規(guī)模的電路系統(tǒng)設(shè)計;8 .原理圖輸入設(shè)計方法一般是一種自底向上的設(shè)計方法;C.原理圖輸入設(shè)計方法無法對電路進行功能描述;D.原理圖輸入設(shè)計方法也可進行層次化設(shè)計。8.在VHDL語言中,下列對進程(PROCESS)語句的語句結(jié)構(gòu)及語法規(guī) 則的描述中,不正確的是C。A. PROCESS為一無限循環(huán)語句;敏感信號發(fā)生更新時啟動進程,執(zhí)行完成 后,等待下一次進程啟動。8 .敏感信號參數(shù)表中,不一定要列出進程中使用的所有輸入信號;C.進程由說明部分、結(jié)構(gòu)體部分、和敏感信號三部分組成;D.當前進程中聲明的變量不可用于其他進程9 IP核在EDA技術(shù)和開發(fā)中占有很重要的地位,提供VHDL硬

22、件描述語言 功能塊,但不涉及實現(xiàn)該功能模塊的具體電路的IP核為CA硬件IP B固件IP C軟件IP D都不是10綜合是EDA設(shè)計的關(guān)鍵步驟,下面對綜合的描述中錯誤的是 A綜合就 是把抽象設(shè)計中的一種表示轉(zhuǎn)換成另一種表示的過程。B綜合就是將電路的高級語言轉(zhuǎn)換成低級的, 可與FPGA/CPLD相映射的功 能網(wǎng)表文件。C為實現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對綜合加以約束,稱為綜 合約束。D綜合可理解為一種映射過程,并且這種映射關(guān)系是唯一的,即綜合結(jié)果 是唯一的。11大規(guī)??删幊唐骷饕?CPLD和FPGA兩類,下面對FPGA結(jié)構(gòu)與工 作原理描述中,正確的是A FPGA全稱為復雜可編程邏輯器件B

23、 FPGA是基于乘積項結(jié)構(gòu)的可編程邏輯器件。C基于SRAM的FPGA器件,每次上電后必須進行一次配置。D在Altera公司生產(chǎn)的器件中,MAX7000系列屬于FPGA結(jié)構(gòu)12大規(guī)模可編程器件主要有 CPLD和FPGA兩類,其中CPLD通過實現(xiàn)其 邏輯功能。A可編程乘積項邏輯;B查找表(LUT) C輸入緩沖D輸出緩沖13進程中的信號賦值語句,其信號更新是A按順序完成B比變量更快完成C在進程最后完成D都不對14 VHDL語言是一種結(jié)構(gòu)化的語言,一個設(shè)計實體(電路模塊)包括實體說明與結(jié)構(gòu)體兩部分,結(jié)構(gòu)體描述A器件的外部特性 B器件的內(nèi)部功能C器件的綜合約束D器件外部特性與內(nèi)部功能15關(guān)于VHDL的數(shù)

24、字,請找出以下數(shù)字中最大的一個 A 2#1111_1110# B 8#276# C 10#170# D 16#E#E1判斷下列標識符書寫是否合法Architecture architecture add2-1 add2_12_009 2,009 2.009e3 2.009 E3VHDL語言的短標識符遵循以下命名規(guī)則:* 短標識符必須以英文字母開頭;* 短標識符由26個字母(AZ, az)、數(shù)字(09)和下劃線“,符組成;* 下劃線“_S前后都必須有英文字母或者數(shù)字;* 短標識符不區(qū)分大小寫;如:EDA、Eda、eda均為相同的命名。VHDL語言的擴展標識符遵循以下命名規(guī)則:* 擴展標識符用反斜

25、杠來分隔;如: ,等。* 擴展標識符允許包含圖形符號及空格等;如:counter &, entity%end* 擴展標識符的兩個反斜杠之間可以用保留字;如:,*擴展標識符的兩個反斜杠之間可以用數(shù)字開頭;如:44count* 擴展標識符中允許多個下劃線相連;如:adder.es_等。* 同名的擴展標識符和短標識符不表示同一名稱;如:和adder不相同。* 擴展標識符區(qū)分大小寫字母;如:和 不相同。*擴展標識符中如果含有一個反斜杠,可以兩個反斜杠來代替;如:表示的擴展標識符名稱為 addercountera十進制數(shù)的定義格式為:整數(shù).整數(shù)北指數(shù)其中整數(shù)可表示為"數(shù)字_數(shù)字”,指數(shù)

26、可表示為"E+(或-)整數(shù)”,但只有十進 制的實數(shù)才允許指數(shù)為負值。在相鄰的數(shù)字之間插入下劃線,對數(shù)值并無影響, 而且允許在數(shù)字之前冠以若干個零,但是不允許在數(shù)字中存在空格或其它字符。以基表示的數(shù),格式:基#基于基的整數(shù).基于基的整數(shù)#指數(shù)基是一個整數(shù),其最小值是2,最大值是16?;诨恼麛?shù)可表示為 擴展 數(shù)字擴展數(shù)字”,其中擴展數(shù)字為數(shù)字(或字母,如十六進制中的A、B、C、D、 E、F,且大小寫字母所表達的意義相同),插入下劃線不會影響其數(shù)值大小。2#111111_11# 等效于(2#11111111#),表示十進制數(shù) 2558#0037 等效于(8#377#),表示十進制數(shù) 2

27、55 3X82+7 >8+7016#0Ff# 等效于(16#FF#),表示十進制數(shù) 255=16X5+1516#8F#E1 表示十進制數(shù) 2288,即 143M6=(16 >8+15) M62#1.1111_01#e8 表示十進制數(shù) 500=(1+2-1+2-2+2-3+2-4+2-6) >2816#0.E#E0 表示十進制數(shù) 0.875 =(16 )0+14X16-1) X160位申用于表示位矢量,格式為:基數(shù)說明符 數(shù)字字符串”其中的基數(shù)說明符包括B、。和X,B表示二進制數(shù),O表示八進制數(shù),X表示十六進制數(shù)。B “10101111,” O “375; X “89AC,數(shù)位字符串實際是位矢量,只有 2, 8, 16進制,默認為B,用于對一維位矢量的賦值,8每數(shù)占3位,16每數(shù)占4位邏輯運算符的左邊和右邊以及代入的信號

溫馨提示

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

評論

0/150

提交評論