FPGA習題答案_第1頁
FPGA習題答案_第2頁
FPGA習題答案_第3頁
FPGA習題答案_第4頁
FPGA習題答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、FPGA/CPLD應用技術(shù)(Verilog語言版) 第一章 認識數(shù)字系統(tǒng)設(shè)計開發(fā)環(huán)境:一、填空題1. (1)11001,19(2)45,2D(3)111111,632. 建立工程;輸入設(shè)計;編譯工程;設(shè)計仿真;器件編程3. Altera4. 可編程只讀存儲器PROM(Programmable Read Only Memory)可編程邏輯陣列PLA(Programmable Logic Array)可編程陣列邏輯PAL(Programmable Array Logic)通用陣列邏輯器件GAL(Generic Array Logic)可擦除可編程邏輯器件EPLD(Erasable Programm

2、able Logic Device)復雜可編程邏輯器件CPLD(Complex Programmable Logic Device)現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)5. 低密度可編程邏輯器件(LDPLD)、高密度可編程邏輯器件(HDPLD)6. “與或陣列”、“門陣列”、 “與或陣列”7. 輸入電路、與陣列、或陣列、輸出電路8. 可編程功能單元、可編程I/O引腳、可編程布線資源和片內(nèi)存儲塊RAM9. 電子設(shè)計自動化、Electronic Design Automatic10. 硬件描述語言、Hardware Description Lang

3、uage11. Programmable Read Only MemoryProgrammable Logic Array可編程邏輯陣列Programmable Array Logic可編程陣列邏輯Generic Array Logic通用陣列邏輯器件Erasable Programmable Logic Device可擦除可編程邏輯器件Complex Programmable Logic Device復雜可編程邏輯器件Field Programmable Gate Array現(xiàn)場可編程門陣列Very-High-Speed Hardware Description Language 超高速硬件

4、描述語言In System Programming 在系統(tǒng)可編程Look-Up Table 查找表Programmable Logic Device 可編程邏輯器件Logic Array Blocks 邏輯陣列塊Computer Aided Design 計算機輔助設(shè)計技術(shù)CAD12. 寫出下列英文單詞的中文意思。(1)工程、項目 (2)向?qū)В?)器件 (4)封裝(5)管腳 (6)系列 (7)原理圖 (8)圖表 (9)塊 (10)符號 (11)輸入 (12)輸出 (13)編譯 (14)信息 (15)分析 (16)綜合(17)裝配、布局 (18)匯編、裝配 (19)報告 (20)波形 (21)節(jié)

5、點 (22)仿真器 (23)功能的 (24)時序的(25)分配 (26)熔絲(27)互連 (28)宏單元(29)乘積項 (30)進位二、問答題1. 畫出Quartus II軟件的完整設(shè)計流程。答案:如圖T1.1所示。設(shè)計輸入完成設(shè)計的輸入;設(shè)計輸入可以有多種形式綜合完成設(shè)計綜合,生成綜合網(wǎng)表文件布局布線完成綜合網(wǎng)表文件到器件的布局布線時序分析完成綜合后電路的時序分析仿真完成電路的仿真,包括功能仿真和時序仿真兩種工具器件編程與配置完成生成器件下載文件約束輸入完成約束的輸入;如速度約束、面積與速度的優(yōu)先關(guān)系、引腳設(shè)置設(shè)計輸入可以有多種形式文本編輯器塊與符號編輯器宏向?qū)Р寮芾砥鞣峙渚庉嬈饕_規(guī)劃器

6、設(shè)置對話框布局圖編輯器設(shè)計分割窗口分析和綜合器RTL查看器輔助工具布局布線器分配編輯器布局圖編輯器增量布局連線工具芯片編輯器Fitter工具時序分析報告窗口技術(shù)映射查看器仿真器波形編輯器匯編器編程器轉(zhuǎn)換編程文件圖T1.1 Quartus II軟件的完整設(shè)計流程2.答案:共包括以下5步:建立工程;輸入設(shè)計;編譯工程;設(shè)計仿真;器件編程,任務實現(xiàn)基本流程如圖T1.2所示。建立工程文件輸入設(shè)計文件(原理圖或其它)工程編譯查錯有錯?軟件仿真(功能、時序)有錯?選擇器件、分配引腳工程編譯查錯有錯?器件編程YYYNNN圖T1.2 設(shè)計步驟3. 答案:如圖T1.3圖T1.3 可編程邏輯器件的分類4. 畫出4

7、選1數(shù)據(jù)選擇器的輸入輸出結(jié)構(gòu)及真值表。答案:如圖T1.4和表T1.1所示。S1S0控制選擇端輸出FP0P1輸入P2P3圖T1.4 4選1數(shù)據(jù)選擇器 表T1.1 4選1數(shù)據(jù)選擇器真值表控制選擇端輸出S1 S0F00011011P0P1P2P35. 簡述FPGA的一般設(shè)計流程。答案:FPGA/CPLD進行電路設(shè)計的過程是指在計算機上利用EDA工具軟件對FPGA/CPLD器件進行開發(fā)設(shè)計的過程,一般包括設(shè)計準備、設(shè)計輸入、功能仿真、設(shè)計實現(xiàn)、時序仿真、下載編程和器件測試七個步驟。(1)設(shè)計準備設(shè)計準備階段是FPGA/CPLD進行電路設(shè)計的第一步,包括方案論證、系統(tǒng)設(shè)計、器件選擇等工作。(2)設(shè)計輸入

8、設(shè)計輸入階段就是設(shè)計者將設(shè)計電路以某種方式輸入到計算機中。設(shè)計輸入通常有以下幾種方式:原理圖輸入方式、HDL硬件描述語言輸入方式、波形輸入方式、層次設(shè)計輸入方式、狀態(tài)機圖表輸入方式等,前兩種是比較常用的輸入方式,下面分別簡單介紹。原理圖輸入方式與傳統(tǒng)的原理圖設(shè)計類似,用最直接的圖形化的方式描述設(shè)計電路,使用工具軟件提供的元件庫中的符號,用連線畫出原理圖。這種輸入方式是大家最習慣的方式,直觀簡單,便于仿真,但原理圖設(shè)計效率低,對設(shè)計人員要求高。HDL硬件描述語言輸入方式是用文本方式輸入設(shè)計電路,是EDA設(shè)計的基本特征之一。目前常用的硬件描述語言有VHDL(Very High speed Desc

9、ription Language)、Verilog-HDL等。因為語言與工藝無關(guān),采用這種方式輸入設(shè)計電路,設(shè)計人員對底層電路和PLD結(jié)構(gòu)不必太熟悉,而且便于實現(xiàn)大規(guī)模系統(tǒng)的設(shè)計;缺點是硬件描述語言必須依賴綜合器,綜合器的好壞直接影響到生成電路的質(zhì)量。(1) 功能仿真功能仿真也稱為前仿真。在編譯之前對設(shè)計的電路進行邏輯功能驗證,初步檢測電路功能是否正確。仿真時首先要建立波形文件或測試向量,仿真結(jié)果一般是輸出信號波形和報告文件等。(2) 設(shè)計實現(xiàn)設(shè)計電路的邏輯功能驗證正確后,可以進入電路的設(shè)計實現(xiàn)環(huán)節(jié)了。設(shè)計實現(xiàn)是FPGA/CPLD進行電路設(shè)計的關(guān)鍵步驟,工具軟件將對設(shè)計輸入文件(原理圖或文本等

10、)進行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程下載需要的編程文件。(3) 時序仿真時序仿真一般稱為后仿真,是把設(shè)計電路與具體實現(xiàn)器件(FPGA/CPLD)結(jié)合起來的仿真。因為不同的器件內(nèi)部延時不一樣,不同的布局布線方案也會產(chǎn)生不同的延時。因此,時序仿真是增加了延時信息后對設(shè)計電路的仿真,是仿真電路在器件中實現(xiàn)后,作為實際器件工作的情況。(4) 下載編程下載編程是將設(shè)計實現(xiàn)階段生成的編程文件裝入到目標器件FPGA/CPLD中,也就是將設(shè)計電路在具體器件中實現(xiàn)。(5) 器件測試器件測試就是指器件在編程實現(xiàn)后,可以用編譯產(chǎn)生的文件對器件進行校驗、加密等工作,當然,利用實驗板對器件的性能進行現(xiàn)場測試也是

11、十分必要的。第二章 Verilog設(shè)計基礎(chǔ)一、填空題1模塊2. module, endmodule3模塊名字,模塊輸入輸出端口列表4輸入(input),輸出(output),輸入輸出雙向(inout)5分號6結(jié)構(gòu)描述方式,行為描述方式,數(shù)據(jù)流描述方式7門級原語,已建立好的電路模塊8 wire連線型,reg寄存器型,memory存儲器型9 wire類型10 reg類型二、問答題1 答案:在實際電路系統(tǒng)中,經(jīng)常會遇到總線,比如地址總線、數(shù)據(jù)總線等,它們具有多位數(shù)據(jù)線。用Verilog來描述n位總線信號為wire型變量的格式如下:wiren-1:0 信號名1,信號名2,; 例如:wire7:0 da

12、ta; /說明一個8位數(shù)據(jù)總線data為wire型用Verilog來描述n位總線信號為reg型變量的格式如下:regn-1:0 信號名1,信號名2,; 例如:reg7:0 a,b; /說明一個8位數(shù)據(jù)總線a和b為reg型如果用Verilog來描述n位總線型的輸入輸出端口,則可以按如下格式定義:inputn-1:0 端口1,端口2,; /說明端口1,端口2,為n位輸入端口outputn-1:0 端口1,端口2,; /說明端口1,端口2,為n位輸出端口inoutn-1:0 端口1,端口2,; /說明端口1,端口2,為n位雙向端口例如:input3:0 data; /說明一個4位的輸入端口data

13、output7:0 q; /說明一個8位的輸出端口q inout1:0 OUT; /說明一個2位的雙向端口OUT2答案wire連線型相當于組合邏輯電路中的各種連接線,其特點是輸出的值緊隨輸入值的變化而變化,不能暫存。verilog HDL模塊中的輸入輸出信號類型默認定義為wire型。程序模塊中引用實例元件的輸出信號變量以及用“assign”語句賦值的變量,一般地都定義為wire型。reg類型定義的是一種能暫存數(shù)據(jù)的變量,對應的是具有狀態(tài)保持作用的電路元件,如觸發(fā)器、寄存器等。程序模塊中需要在always過程語句中賦值的變量都須定義為reg型變量。reg型變量與wire型變量的根本區(qū)別就在于:r

14、eg型變量在定義時默認的初始值為不定值x,在設(shè)計時要求放在always過程語句內(nèi)部通過過程賦值語句賦予明確的值。如果寄存器變量沒有得到新的賦值,它將一直保持原有的值不變。3答案在電路建模過程中如果使用if條件語句,當分支條件表達式值已將控制表達式的所有可能取值都一一列出的話,則else語句項可以省略不寫。但如果沒有列出所有可能出現(xiàn)的條件分支的話,在進行邏輯綜合時編譯器認為條件不滿足從而引入一個觸發(fā)器保持原值,在進行組合電路設(shè)計過程中,應避免這種觸發(fā)器的存在。為了保證包含所有的條件分支情況,通常是在if語句最后加上else語句將沒有羅列出來的情況統(tǒng)統(tǒng)包含進來。4答案一個case語句中只能有一個d

15、efault語句項。如果分支表達式值已將控制表達式的所有可能取值都一一列出的話,則default語句項可以省略不寫。但由于每一個變量至少有4種取值0、1、z和x,所以一般不可能列出所有的可能取值。如果沒有列出所有條件分支的話,在進行邏輯綜合時編譯器認為條件不滿足從而引入一個觸發(fā)器保持原值,在進行組合電路設(shè)計過程中,應避免這種觸發(fā)器的存在。為了保證包含所有的取值,通常都在case語句的最后加上default語句。如果是用if條件語句建模的話,通常是在if語句最后加上else語句將沒有羅列出來的取值統(tǒng)統(tǒng)包含進來。5答案Verilog HDL支持采用自頂向下的結(jié)構(gòu)化設(shè)計方法進行復雜電路系統(tǒng)設(shè)計。將一

16、個復雜的系統(tǒng)設(shè)計分割成許多較小的、較簡單的功能單元模塊,這些小模塊與大系統(tǒng)相比,設(shè)計更容易、測試更簡單。對這些小模塊分別進行設(shè)計和驗證通過后,再調(diào)用這些小模塊嵌套在更大的功能單元模塊中進行設(shè)計和驗證,最后組合為一個完整的電路系統(tǒng)。 在Verilog HDL的層次化設(shè)計中調(diào)用小單元模塊的方法有兩種:一種是和調(diào)用門原語方法類似的位置映射法;一種是將例化模塊的端口名對應信號名的信號映射法。用位置映射法引用一個模塊,需要先在引用語句前面寫上這個模塊的名字,然后在一個空格后寫上此模塊引用的實例名,在其后圓括號內(nèi)按模塊端口順序?qū)懮线B接到各個端口的信號線名。其引用的語法如下:模塊名 實例名(連接端口1的信號

17、名, 連接端口2的信號名,);用信號映射法引用一個模塊,不必嚴格遵守端口順序,只需將所調(diào)用的模塊端口逐一對應到信號線上列出。信號映射法引用模塊的語法如下: 模塊名 實例名(.端口名1(連接端口1的信號名),.端口名2(連接端口2的信號名),);三、操作題1(1)結(jié)構(gòu)描述方式 module circuit1( A, B, C, D, F ); input A,B,C,D; output F; nand(W1,A,B); and(W2,B,C,D); or(F,W1,W2); endmodule (2)數(shù)據(jù)流描述方式 module circuit2( A, B, C, D, F ); input

18、A,B,C,D; output F; assign F=(A&B)|(B&C&D); endmodule (3)行為描述方式 module circuit1( A, B, C, D, F ); input A,B,C,D; output F; reg F; always (A or B or C or D) begin F=(A&B)|(B&C&D); end endmodule2. module tri_circuit( IN, E, OUT ); input IN,E; output OUT; assign OUT=E?IN:1bz; /若E=1,則OUT=IN;若E=0,則OUT為高阻態(tài)

19、 endmodule3 module 7segLED( IN, OUT, ); input3:0 IN; output6:0 OUT; always (IN) begin case(IN) 4d0:OUT=7b1111110; 4d1:OUT=7b0110000; 4d2:OUT=7b1101101; 4d3:OUT=7b1111001; 4d4:OUT=7b0110011; 4d5:OUT=7b1011011; 4d6:OUT=7b1011111; 4d7:OUT=7b1110000; 4d8:OUT=7b1111111; 4d9:OUT=7b1111011; default:OUT=7bx

20、; endcase end endmodule第三章 組合邏輯電路一、填空題1. 兩;輸入;reg;if-else;case。2. always;initial。3. 并行;順序執(zhí)行。4. reg;wire。5. (1)0001 0000 0001(2)0001 0011(3)0110 0110(4)0100 0010(5)0101 0110(6)1000 01107. 電路當前的輸出僅取決于當前的輸入信號,輸出信號隨輸入信號的變化而改變,與電路原來的狀態(tài)無關(guān),這種電路無記憶功能。8. =;=。9. 共陰極;共陽極;靜態(tài)顯示;動態(tài)顯示。二、判斷題三、問答題1. (1)4位;(2)寄存器類型;(

21、3)會錯,a應該為wire類型變量;(4)4b1001;(5)1b0;(6)m=3b10;2. 基于硬件描述語言的組合邏輯設(shè)計方法如下:第一步,文字描述的邏輯命題,轉(zhuǎn)換規(guī)格書。首先,分析事件的因果關(guān)系,確定輸入和輸出變量。一般總是把引起事件的原因定為輸入變量,把事件引起的結(jié)果定為輸出變量。然后,定義邏輯狀態(tài)的含義。即確定 0,1 分別代表輸入、輸出變量的兩種不同狀態(tài)。最后,畫出電路的結(jié)構(gòu)框圖,并且定義好相關(guān)信號含義,寫出電路規(guī)格書。第二步,根據(jù)規(guī)格書的要求,用RTL的硬件描述語言描述電路(一般需要通過仿真驗證)。第三步,根據(jù)已有的庫進行綜合,得到可以與實際直接對應的網(wǎng)表并最終實現(xiàn)電路。第4章

22、時序邏輯電路設(shè)計一、填空題1. 同步電路、異步電路2. 非阻塞賦值3. 全局時鐘(同步時鐘)4. Mealy型狀態(tài)機、Moore型狀態(tài)機5. 有限狀態(tài)機6. Mealy、Moore7. 時鐘沿8. 有限狀態(tài)機、Finite State Machine。二、簡答題1.答案:(1)在用Verilog HDL進行數(shù)字邏輯設(shè)計時,只使用一個主時鐘,同時只使用同一個時鐘沿(上升沿或下降沿)。(2)在FPGA設(shè)計中,推薦所有輸入、輸出信號均應通過寄存器寄存,寄存器接口當作異步接口考慮。(3)當全部電路不能用同步電路思想設(shè)計時,即需要多個時鐘來實現(xiàn),則可以將全部電路分成若干局部電路(盡量以同一時鐘為一個模塊

23、),局部電路之間接口當異步接口考慮。(4)電路中所有的寄存器、狀態(tài)機在上電復位時必須有一個確定的初始態(tài)。(5)電路的實際最高頻率不應大于理論最高頻率,應留有設(shè)計余地。2.答案:異步復位是指在復位信號有效時,系統(tǒng)立即進行復位,而不管時鐘信號的狀態(tài),在用Verilog HDL的always塊描述異步復位時,always塊中的敏感信號列表必須包括復位信號,如always(posedge clk or posedge reset)。同步復位是指在復位信號和時鐘信號同時有效時,系統(tǒng)才進行復位。在用Verilog HDL的always塊描述同步復位時,always塊中的敏感信號列表不包含復位信號。3.答案:觸發(fā)器是時鐘沿敏感的器件,而鎖存器是電平敏感的器件,在項目設(shè)計中,鎖存器會帶來諸多問題,如額外延時,DFT問題等,因此,在實際設(shè)計中必須盡量避免鎖存器的出現(xiàn)。4.答案:RS觸發(fā)器是一種危險的觸發(fā)器,R=S=1會導致不穩(wěn)定態(tài),初始狀態(tài)不確定

溫馨提示

  • 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

提交評論