FPGA經(jīng)典筆試習(xí)題+答案_第1頁
FPGA經(jīng)典筆試習(xí)題+答案_第2頁
FPGA經(jīng)典筆試習(xí)題+答案_第3頁
FPGA經(jīng)典筆試習(xí)題+答案_第4頁
FPGA經(jīng)典筆試習(xí)題+答案_第5頁
免費預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、1、FPGA結(jié)構(gòu)一般分為三部分:可編程邏輯塊(CLB)、可編程I/O模塊和可編程內(nèi)部連線。2 CPLD的內(nèi)部連線為連續(xù)式布線互連結(jié)構(gòu),任意一對輸入、輸出端之間的延時是固定 ;FPGA的內(nèi)部連線為分段式布線互連結(jié)構(gòu),各功能單元間的延時不定(不可預(yù)測)。3 大規(guī)??删幊唐骷饕蠧PLD和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

2、 硬件描述語言(HDL)是EDA技術(shù)的重要組成部分,是電子系統(tǒng)硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語言,它的種類很多,如VHDL、Verilog HDL、 AHDL6 WHEN_ELSE條件信號賦值語句 和 IF_ELSE順序語句的異同 WHEN_ELSE條件信號賦值語句中無標點,只有最后有分號;必須成對出現(xiàn);是并行語句,必須放在結(jié)構(gòu)體中。 IF_ELSE順序語句中有分號;是順序語句,必須放在進程中7 可編程邏輯器件設(shè)計輸入有原理圖輸入、硬件描述語言輸入和波形輸入三種方式。原理圖輸入方式是一種最直接的設(shè)計描述方式,硬件描述語言的突出優(yōu)點是:* 語言與工藝的無關(guān)性;語言的公開可利用性,便于實現(xiàn)大

3、規(guī)模系統(tǒng)的設(shè)計;* 具有很強的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計輸入庫之間的轉(zhuǎn)換非常方便,用不著對底層的電路和PLD結(jié)構(gòu)的熟悉。 波形設(shè)計輸入適用于時序邏輯和有重復(fù)性的邏輯函數(shù)。8 用VHDL/Veilog HDL語言開發(fā)可編程邏輯電路的完整流程:文本編輯功能仿真邏輯綜合布局布線時序仿真。* 所謂綜合,就是根據(jù)設(shè)計功能和實現(xiàn)該設(shè)計的約束條件(如面積、速度、功耗和成本等),將設(shè)計輸入轉(zhuǎn)換成滿足要求的電路設(shè)計方案,該方案必須同時滿足與其的功能和約束條件。綜合的過程也是設(shè)計目標的優(yōu)化過程,其目的是將多個模塊化設(shè)計文件合并為一個網(wǎng)表文件,供布局布線使用,網(wǎng)表中包含了目標器件中的邏輯單元和

4、互連的信息。*布局布線就是根據(jù)設(shè)計者指定的約束條件(如面積、延時、時鐘等)、目標器件的結(jié)構(gòu)資源和工藝特性,以最優(yōu)的方式對邏輯元件布局,并準確地實現(xiàn)元件間的互連,完成實現(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)

5、、 結(jié)構(gòu)體(ARCHITECURE)、 配置(CONFIGURATION) 、 庫(LIBRARY) 、 程序包 (PACKAGE) 。*實體的由實體說明和結(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語言中,可以存在多個不同的庫,但

6、是庫與庫之間是獨立的,不能互相嵌套。它可由用戶生成或由ASIC芯片制造商提供,以便于在設(shè)計中為大家所共享。 常用庫:(1)IEEE庫 IEEE庫主要包括std_logic_1164、numeric_bit、numeric_std等程序包,還有一些程序包非IEEE標準,但并入IEEE庫,如std_logic_arich、std_logic_unsigned、std_logic_signed。使用IEEE程序包,必須聲明。(2) std庫包含 standard textio程序包。Std庫符合IEEE標準,應(yīng)用中不必聲明。(3) work庫 用戶的VHDL設(shè)計先行工作庫。(4) vital 庫包含

7、時序程序包vital_timing和vital_primitives。設(shè)計開發(fā)過程通常不用每個設(shè)計實體都必須有各自完整的庫說明語句和use語句。Use語句的使用將使說明的程序包對本設(shè)計實體部分全部開放,即是可視的。 11 VHDL的數(shù)據(jù)對象包括常量(constant)、 變量(varuable) 和 信號(signal) ,它們是用來存放各種類型數(shù)據(jù)的容器。12 在VHDL的端口聲明語句中,端口方向包括 in 、out 、buffer 、inout、linkage “BUFFER”為緩沖端口,與OUT類似,只是緩沖端口允許實體內(nèi)部使用

8、該端口信號,它可以用于輸出,也可以用于端口信號的反饋。當(dāng)一個結(jié)構(gòu)體用“BUFFER”說明輸出端口時,與其連接的另一個結(jié)構(gòu)體的端口也要用BUFFER說明。以“LINKAGE”定義的端口不指定方向,無論哪個方向的信號都可以連接。 13 VHDL的PROCESS(進程)語句是由順序語句 組成的,但其本身卻是并行語句 。14 VHDL的子程序有 過程(PROCEDURE)  和 函數(shù)(FUNCTION) 兩種類型,具有可重載性特點。15 圖形文件的擴展名是 .bdf ;矢量波形文件的擴展名是 .vwf ;使用VHDL語言,文本設(shè)計文

9、件的擴展名是 .vhd ;自建元件圖形符號文件的擴展名.bsf;資源分配說明文件擴展名.qsf,用文本打開它可以修改引腳編號;邏輯綜合會生成edf文件;雙擊.qpf文件可啟動QuartusII并打開已有工程。16 圖形編輯中模塊間的連線有三種形式: 節(jié)點線 、總線和管道線 17 Quartus編譯器編譯FPGA工程最終生產(chǎn)兩種不同用途的文件,它們分別是.sof和.pof。sof是SRAM Object File,下載到FPGA中,斷電丟失。pof是Programmer Object File,下載到配置芯片中,上電重新配置FPGA18 FPGA過程中的仿真有三種:行為仿真、邏輯仿真、時序仿真。

10、19 IP核在EDA技術(shù)和開發(fā)中占有很重要的地位,提供VHDL硬件描述語言功能塊,但不涉及實現(xiàn)該功能模塊的具體電路的IP核為軟件IP。二 名詞解釋,寫出下列縮寫的中文(或者英文)含義:1. FPGA FieldProgrammable Gate Array 現(xiàn)場可編程門陣列2 VHDL- Very-High-Speed Integrated Circuit Hardware Description Language) 甚高速集成電路硬件描述語言3  HDL Hardware Description Language硬件描述語言4 EDA Electronic Design Autom

11、ation 電子設(shè)計自動化5 CPLD Complex Programmable Logic Device復(fù)雜可編程邏輯器件6 PLD Programmable Logic Device 可編程邏輯器件7  GAL, generic array logic通用陣列邏輯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.

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 Circuits 專用集成電路16 ISP In System Programmable 在系統(tǒng)可編程17 ICR In Circuit Re-config 在電路可重構(gòu)18 RTL Register Transfer Level 寄存器傳輸級選擇:1 基于VHDL設(shè)計的仿真包括有門級時序仿真、行為仿真

13、、功能仿真和前端功能仿真這四種,按照自頂向下的設(shè)計流程,其先后順序應(yīng)該是:_D_ A B. C D2 執(zhí)行Quartus II的 B 命令,可以檢查設(shè)計電路錯誤。A Create Default Symbol B Compiler-編譯C Simulator -時序仿真 D Timing Analyzer -時序分析3. 在設(shè)計輸入完成后,應(yīng)立即對設(shè)計文件進行( C  )。 A編輯   B 編譯    C 功能仿真   D時序仿真4. 在VHDL中用( C  )來把特定的結(jié)構(gòu)體關(guān)聯(lián)一個確定的實體

14、,為一個大型系統(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è)計方法直觀便捷,但不適合完成較

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

16、和開發(fā)中占有很重要的地位,提供VHDL硬件描述語言功能塊,但不涉及實現(xiàn)該功能模塊的具體電路的IP核為 C A 硬件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ī)??删幊唐骷饕蠧PLD和FPGA兩類,下面對FPGA結(jié)構(gòu)與工作原理

17、描述中,正確的是 C A FPGA全稱為復(fù)雜可編程邏輯器件B FPGA是基于乘積項結(jié)構(gòu)的可編程邏輯器件。 C 基于SRAM的FPGA器件,每次上電后必須進行一次配置。 D 在Altera公司生產(chǎn)的器件中,MAX7000系列屬于FPGA結(jié)構(gòu)12 大規(guī)??删幊唐骷饕蠧PLD和FPGA兩類,其中CPLD通過 A 實現(xiàn)其邏輯功能。A 可編程乘積項邏輯; B 查找表(LUT) C 輸入緩沖 D 輸出緩沖13 進程中的信號賦值語句,其信號更新是 C A 按順序完成 B比變量更快完成 C 在進程最后完成 D 都不對14 VHDL語言是一種結(jié)構(gòu)化的語言,一個設(shè)計實體(電路模塊)包括實體說明與結(jié)構(gòu)體兩部分,

18、結(jié)構(gòu)體描述 B A 器件的外部特性 B 器件的內(nèi)部功能 C 器件的綜合約束 D 器件外部特性與內(nèi)部功能 15 關(guān)于VHDL的數(shù)字,請找出以下數(shù)字中最大的一個 A 2#1111_1110# B 8#276# C 10#170# D 16#E#E1 判斷下列標識符書寫是否合法Architecture architecture add2-1 add2_1 2_009 2,009 2.009e3 2.009 E3 VHDL語言的短標識符遵循以下命名規(guī)則:* 短標識符必須以英文字母開頭;* 短標識符由26個字母(AZ,az)、數(shù)字(09)和下劃線“_”字符組成;* 下劃線“_”的前后都必須有英文字母或者

19、數(shù)字;* 短標識符不區(qū)分大小寫;如:EDA、Eda、eda均為相同的命名。VHDL語言的擴展標識符遵循以下命名規(guī)則:* 擴展標識符用反斜杠來分隔;如:adde,begin-add等。* 擴展標識符允許包含圖形符號及空格等;如:counter & adder,entity%end* 擴展標識符的兩個反斜杠之間可以用保留字;如:entity,architecture等。* 擴展標識符的兩個反斜杠之間可以用數(shù)字開頭;如: l adder,44counter等。 * 擴展標識符中允許多個下劃線相連;如:adder.es_ counter等。* 同名的擴展標識符和短標識符不表示同一名稱;如:ad

20、der和adder不相同。* 擴展標識符區(qū)分大小寫字母;如:EDA和eda不相同。* 擴展標識符中如果含有一個反斜杠,可以兩個反斜杠來代替;如:addercounter表示的擴展標識符名稱為addercountera十進制數(shù)的定義格式為:整數(shù).整數(shù)指數(shù)其中整數(shù)可表示為"數(shù)字_數(shù)字",指數(shù)可表示為"E+(或)整數(shù)",但只有十進制的實數(shù)才允許指數(shù)為負值。在相鄰的數(shù)字之間插入下劃線,對數(shù)值并無影響,而且允許在數(shù)字之前冠以若干個零,但是不允許在數(shù)字中存在空格或其它字符。 以基表示的數(shù),格式: 基#基于基的整數(shù).基于基的整數(shù)#指數(shù)基是一個整數(shù),其最小值是2,最大值

21、是16?;诨恼麛?shù)可表示為“擴展數(shù)字_擴展數(shù)字”,其中擴展數(shù)字為數(shù)字(或字母,如十六進制中的A、B、C、D、E、F,且大小寫字母所表達的意義相同),插入下劃線不會影響其數(shù)值大小。 2#111111_11#等效于(2#),表示十進制數(shù)2558#0037 等效于(8#377#),表示十進制數(shù)255 3×82+7×8+7016#0Ff#等效于(16#FF#),表示十進制數(shù)255=16×15+1516#8F#E1表示十進制數(shù)2288,即143×16=(16 ×8+15)×162#1.1111_01#e8表示十進制數(shù)500=(1+2-1+2-

22、2+2-3+2-4+2-6) ×2816#0.E#E0表示十進制數(shù)0.875 =(16×0+14×16-1) ×160位串用于表示位矢量,格式為:基數(shù)說明符“數(shù)字字符串”其中的基數(shù)說明符包括B、O和X,B表示二進制數(shù),O表示八進制數(shù),X表示十六進制數(shù)。B“”,O“375”,X“89AC”,數(shù)位字符串實際是位矢量,只有2,8,16進制,默認為B,用于對一維位矢量的賦值,8每數(shù)占3位,16每數(shù)占4位邏輯運算符的左邊和右邊以及代入的信號的數(shù)據(jù)類型必須是相同的,否則編譯時會給出出錯警告。當(dāng)一個語句中存在兩個以上的邏輯表達式時,在VHDL語言中,左右沒有優(yōu)先級差別

23、。X<=(a AND b) OR c;若去掉式中的括號,則從語法上來說是錯誤的。不過,如果一個邏輯表達式中只有一種邏輯運算符,那么改變運算的順序不會導(dǎo)致邏輯的改變,此時括號就可以省略掉。例如: a<=b OR c OR d OR e;a<=b AND c AND d AND e -對應(yīng)的邏輯表達式為a=b·c·d·e a<=b OR c OR d OR e -對應(yīng)的邏輯表達式為a=bcde a<= (b OR c) AND (d OR e) -對應(yīng)的邏輯表達式為a= (bc)·(de)在進行關(guān)系運算時,左右兩邊的操作數(shù)的類型

24、必須相同,但是位長度不一定相同。在利用關(guān)系運算符對位矢量數(shù)據(jù)進行比較時,比較過程是從最左邊的位開始,自左至右按位進行比較的。在位長不同的情況下,只能按自左至右的比較結(jié)果作為關(guān)系運算的結(jié)果。 關(guān)系運算符中的小于等于運算符“<=”與信號賦值時的符號“<=”是相同的。在閱讀程序時,應(yīng)按照上下文關(guān)系來判斷此符號到底是關(guān)系運算符還是代入符。移位運算:SLL是將位向量左移,右邊移空位補零;SLA是將位向量左移,右邊第一位的數(shù)值保持原值不變;SRL是將位向量右移,左邊移空位補零;SRA是將位向量右移,左邊第一位的數(shù)值保持原值不變。ROR和ROL是自循環(huán)移位方式。 A<= "100

25、1"B<=A SLL 1; 邏輯左移B=0010C<=A SRL 1; 邏輯右移C=0100D<=A SLA 1; 算術(shù)左移 D=0011E<=A SRA 1; 算術(shù)右移 E=1100F<=A ROL 1; 循環(huán)左移 F=0011G<=A ROR 1; 循環(huán)右移 G=1100VHDL的數(shù)據(jù)對象有三種類型:常量(constant)、 變量(varuable)  和信號(signal)它們是用來存放各種類型數(shù)據(jù)的容器。* 常量。全局量 CONSTANT 常量名: 數(shù)據(jù)類型: = 表達式; CONSTANT DELAY :

26、TIME : = 50 ns; Constant fbt: std_logic_vector:= “010110” ; * 變量。局部量,在進程說明、過程說明和函數(shù)調(diào)用說明中使用。 變量說明語句的一般格式為:VARIABLE 變量名: 數(shù)據(jù)類型 約束條件: = 表達式; VARIABLE num : INTEGER RANGE 0 TO 127 : = 20; 變量賦值語句的格式:變量名 : = 表達式; 對變量的賦值是立即生效的* 信號。全局量 信號說明語句的格式:SIGNAL 信號名: 數(shù)據(jù)類型 約束條件: = 表達式; SINGNAL gnd : BIT : = '0'

27、信號賦值語句的格式:信號名 <= 表達式 AFTER時間表達式; D1<=D2 AFTER 15 ns;信號與變量的區(qū)別:信號賦值語句在進程外作為并行語句,并發(fā)執(zhí)行,與語句所處的位置無關(guān)。變賦值語句在進程內(nèi)或子程序內(nèi)作為順序語句,按順序執(zhí)行,與語句所處的位置有關(guān)。 信號賦值符號為 <=,變量賦值符號位 := 。信號賦值符號用于信號賦值動作,不立即生效,變量賦值符號用于變量賦值動作,立即生效。例如:已知start為STD_LOGIC類型信號,sum是INTEGER類型信號,判斷下列程序段 PROCESS (start) BEGINFOR I in 1 to 9 LOOP Sum

28、:=sum+iEND LOOP;ENDPROCESS;sum 是信號,賦值應(yīng)該用<= VHDL數(shù)據(jù)類型枚舉類型IEEE1164標準中預(yù)定義了一個枚舉類型type std_logic is(UX01ZWLH-) 注意這里的大小寫。如:已知AB 均為std_logic類型的信號,請判斷下面的程序片段 A<=0;B<=x; 不定態(tài)符號應(yīng)該由小寫x改為大寫X根據(jù)VHDL源程序,畫出所設(shè)計的電路原理圖。給定原理圖寫程序(1) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL ENTITY HAD ISPORT( a: IN STD_LOGIC; b : IN STD_LOGIC; c : OUT STD_LOGIC; d : OUT STD_LOGIC;);END ENTITY HAD;ARCHITECTURE fh1OF HAD ISBEGIN c<=a NAND b; d<=(a OR b) AND (a NAND b);END ARCHITECTURE fh1;(2)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY 

溫馨提示

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

最新文檔

評論

0/150

提交評論