大西瓜開發(fā)板v1.2fpga入門教程_第1頁(yè)
大西瓜開發(fā)板v1.2fpga入門教程_第2頁(yè)
大西瓜開發(fā)板v1.2fpga入門教程_第3頁(yè)
大西瓜開發(fā)板v1.2fpga入門教程_第4頁(yè)
大西瓜開發(fā)板v1.2fpga入門教程_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.數(shù)字電路設(shè)計(jì)入門1.1 數(shù)字電路設(shè)計(jì)是邏輯設(shè)計(jì)。通常,數(shù)字電路的邏輯值只有1和0,表征電1.數(shù)字電路設(shè)計(jì)入門1.1 數(shù)字電路設(shè)計(jì)是邏輯設(shè)計(jì)。通常,數(shù)字電路的邏輯值只有1和0,表征電壓或電流的離散值,一般1代表高電平,0代表低們就認(rèn)為該信號(hào)表征高電平,即為1。反之TTL、CMOS、LVTTL、LVCMOS當(dāng)前的數(shù)字電路中存在許多種電平標(biāo)準(zhǔn),比較常見的ECL、PECL、LVDS、HSTL、等。這些電平的詳細(xì)指標(biāo)請(qǐng)見補(bǔ)1:電平標(biāo)準(zhǔn)組合邏輯電路時(shí)序邏輯電路(Register(1)、時(shí)鐘分頻電路該時(shí)序電路的功能為實(shí)現(xiàn)對(duì)時(shí)鐘clk4 分頻,其中clk_2時(shí)序邏輯電路(Register(1)、時(shí)鐘分頻電

2、路該時(shí)序電路的功能為實(shí)現(xiàn)對(duì)時(shí)鐘clk4 分頻,其中clk_22 分頻時(shí)鐘,clk_4分頻時(shí)鐘,enable為該電路的使能信號(hào)。其功能仿真波形如下Register的原理和tc- TD (2)、序列檢測(cè)器出1,其他時(shí)刻輸出0電路中clk為時(shí)鐘信號(hào),D1,D2,D3為移位寄存(2)、序列檢測(cè)器出1,其他時(shí)刻輸出0電路中clk為時(shí)鐘信號(hào),D1,D2,D3為移位寄存器的輸毛刺的產(chǎn)生與消除競(jìng)爭(zhēng)與徑產(chǎn)生的,使得它們狀態(tài)改變的時(shí)刻有先有后,這種時(shí)差引起的現(xiàn)象稱為競(jìng)爭(zhēng)(Race。爭(zhēng)的結(jié)果將很可能導(dǎo)(Hazard)發(fā)生(例如產(chǎn)生毛刺,造成錯(cuò)誤,并1.2.2 毛刺的產(chǎn)生與危害信號(hào)在 器件中通過邏輯單元連線時(shí),一定存

3、在延時(shí)。延時(shí)的大小不僅和1.2.2 毛刺的產(chǎn)生與危害信號(hào)在 器件中通過邏輯單元連線時(shí),一定存在延時(shí)。延時(shí)的大小不僅和了“競(jìng)”。這時(shí),往往會(huì)出現(xiàn)一些不正確的尖峰信號(hào),這些尖峰信號(hào)就是“毛刺”讓1.2.3 毛刺的消除1、輸出加D 觸發(fā)器D觸發(fā)器去讀帶毛刺的信號(hào), 但是如果毛刺信號(hào)發(fā)生在時(shí)鐘信號(hào)的跳變沿觸發(fā)器的效果就沒有那么明顯了(加 1、輸出加D 觸發(fā)器D觸發(fā)器去讀帶毛刺的信號(hào), 但是如果毛刺信號(hào)發(fā)生在時(shí)鐘信號(hào)的跳變沿觸發(fā)器的效果就沒有那么明顯了(加 q,仍含有毛刺。另外,D觸發(fā)器的使用還會(huì)給系統(tǒng)帶來(lái)一定的延時(shí),D 觸發(fā)器去除毛刺的時(shí)候,一定要視情況而定,并不是所有的毛刺都可以用 D 觸發(fā)器來(lái)消除

4、。2、信號(hào)同步法出。因此,做到真正的同步就是去除毛刺信號(hào)的關(guān)鍵問題。所以同步的關(guān)鍵就是保證在時(shí)3、格雷碼計(jì)數(shù)器二進(jìn)制計(jì)數(shù)器,由111轉(zhuǎn)換為000時(shí),必將產(chǎn)生毛刺。此時(shí),使用格雷碼計(jì)數(shù)器將避免1.3 1.3.1 1.3.2 同步電路的設(shè)計(jì)準(zhǔn)則: 1.3 1.3.1 1.3.2 同步電路的設(shè)計(jì)準(zhǔn)則: 1.3.3 關(guān)于時(shí)鐘設(shè)計(jì)的如今在設(shè)計(jì)中常見的時(shí)鐘類型包括: 1.3.3 關(guān)于時(shí)鐘設(shè)計(jì)的如今在設(shè)計(jì)中常見的時(shí)鐘類型包括: 在PLL PLL 鎖相環(huán)默認(rèn)將其驅(qū)動(dòng)的時(shí)鐘分配至全局時(shí)鐘網(wǎng)絡(luò)或區(qū)域時(shí)鐘網(wǎng)絡(luò)Jitter 和Skew 都很小 。D5。 。D5。1.3.4 亞穩(wěn)setuphold時(shí)間不能得到滿足,就可

5、 不一定等于原來(lái)數(shù)據(jù)輸入端(resolutiontime。經(jīng)過決斷1.3.4 亞穩(wěn)setuphold時(shí)間不能得到滿足,就可 不一定等于原來(lái)數(shù)據(jù)輸入端(resolutiontime。經(jīng)過決斷亞穩(wěn)態(tài)的危害主要體 。 邏輯誤判將導(dǎo)致功能性錯(cuò)誤,而亞穩(wěn)態(tài)。 1.3.5 對(duì)跨時(shí)鐘域數(shù)據(jù)的setup hold 2FIFO或 2FIFO或 2.FPGAFPGA是FieldProgrammableGateArray 的縮寫,即現(xiàn)場(chǎng)可編程門陣列, 是一種可編程的:2.2 FPGA 2.FPGAFPGA是FieldProgrammableGateArray 的縮寫,即現(xiàn)場(chǎng)可編程門陣列, 是一種可編程的:2.2 F

6、PGA 列SRAMFPGA通俗地說(shuō),F(xiàn)PGA是一個(gè)Cyclone 系列的器LAB6FPGAPLD 2.3 FPGA ASIC ASIC是Application FPGA通俗地說(shuō),F(xiàn)PGA是一個(gè)Cyclone 系列的器LAB6FPGAPLD 2.3 FPGA ASIC ASIC是Application a,b,c,dRAM000000113FPGALanguage)和原理圖是兩種最常用的數(shù)字硬件電路描 3FPGALanguage)和原理圖是兩種最常用的數(shù)字硬件電路描 Tools: HDL 編譯器 , Text Editor Block&SymbolQuartus)SynopsysVCS,Acti

7、veTools:AssignmentEditor(Quartus) Pin Planner (Quartus)Tools:Synplify SynplifySynopsysysis& DC, yzer Place&evel SimulationAssignPins&RTL SimulationRTL級(jí)HDLDesign3.1 需求定義(功能定義3.2RTLHDL 3.33.1 需求定義(功能定義3.2RTLHDL 3.3 功能仿真(前仿真 3.4 管腳分配與設(shè)計(jì)約束3.5綜將RTL級(jí)HDL語(yǔ)言翻譯成由與、或、非門等基本邏輯單元組成的門級(jí)連接(網(wǎng)表門級(jí)仿真(綜合后仿真3.7 局 可以被理解挑選可

8、實(shí)現(xiàn)設(shè)計(jì)網(wǎng)表的最優(yōu)的資源組合,布線3.8 時(shí)序/時(shí)延分局 可以被理解挑選可實(shí)現(xiàn)設(shè)計(jì)網(wǎng)表的最優(yōu)的資源組合,布線3.8 時(shí)序/時(shí)延分 iolation3.9配置 4.1verilogRTL 設(shè)4.1.1 4.1verilogRTL 設(shè)4.1.1 4.1.2 RLT 級(jí)設(shè)計(jì)時(shí)需注意:; 3由于硬件是并行工作的,在 Verilog 語(yǔ)言的 module 中,所有描述語(yǔ)句(包括 4.1.3 阻塞賦值與非阻塞賦值xyc/1 y = a + b/2 4.1.3 阻塞賦值與非阻塞賦值xyc/1 y = a + b/2 always( always( edgeclkornegedgeedgeclkorneged

9、geif(rst_n=1b0) y = 1b0;y = if(rst_n=1b0) x = 1b1;x = VerilogHDL中,有兩種過程性賦值方式,即阻塞賦值(blockingassignment)和非x = y + c; /1 y = a + b; / 2 x = y + c; /1 y = a + b; / 2 always( always( edgeclkornegedgeedgeclkornegedgeif(rst_n=1b0) y = 1b0;y = if(rst_n=1b0) x = 1b1;x = 4.2 HDL 4.2.1 哪些是不可綜合的代碼delay alwaysed

10、ge 4.2.1 哪些是不可綜合的代碼delay alwaysedge for (i=0; iwordlength ; i=i+1)parity=parityxor當(dāng) wordlength 為變量時(shí),任何 都不能綜合這個(gè)代碼。這是因?yàn)橛布?如何判斷自己寫的代碼是可綜合 4.3 RTL 優(yōu)化 RTL 4.3.1PipeliningPipelining,即流水線時(shí)序優(yōu)化方法,其本質(zhì)是調(diào)整一個(gè)較大的 4.3 RTL 優(yōu)化 RTL 4.3.1PipeliningPipelining,即流水線時(shí)序優(yōu)化方法,其本質(zhì)是調(diào)整一個(gè)較大的組合邏輯路徑中的寄 時(shí)延較大的a_pipe z 4.3.2 模塊復(fù)用與資源共

11、享 0 4.3.2 模塊復(fù)用與資源共享 0 inputoutputassigndata_bar=data_in+assignsquare=(data_in7)?(data_bar*data_bar):(data_in*data_in); inputoutputassigndata_tmp=(data_in7)?(data_in+1):data_in; assign square = data_tmp * data_tmp; RTL 4.3.3 4.4 在狀態(tài)機(jī)的設(shè)計(jì)中采用兩段式寫法(2 always 模塊)或三段式寫法(3 4.3.3 4.4 在狀態(tài)機(jī)的設(shè)計(jì)中采用兩段式寫法(2 always

12、模塊)或三段式寫法(3 組合邏輯時(shí)序邏輯組合邏輯狀組合邏輯輸 出若時(shí)序允許, 盡量當(dāng)前狀態(tài) 組合邏輯時(shí)序邏輯組合邏輯時(shí)序邏輯當(dāng)前狀態(tài) 組合邏輯時(shí)序邏輯組合邏輯時(shí)序邏輯當(dāng)前狀態(tài) modules parameter/onehotwithzero= 當(dāng)前狀態(tài)alwaysedgeclkornegedge/1stalwaysblock,sequentialeifCS=alwaysedgeclkornegedge/1stalwaysblock,sequentialeifCS=CSalways(nrstorCSori1ori2) NS=case/2ndalwaysblock,combinationalcon

13、ditionifif (i1 & i2) if(i1&i2)NS = S1;NS=ifif (i2&if(i2&NS=S1; NS=NS=ifif(i2&if(i2&NS = S2; NS=if (i1) NS=NS=NS=alwaysifedgeclkornegedge/3rdalwaysblock,thesequentialFSMo1,o2,err=o1,o2,err =case (NS)Synplify Pro Synplify Pro FSM 觀察器 QuartusFPGA 模塊,地址產(chǎn)生模塊,ROM查找表模塊。整個(gè)系統(tǒng)實(shí)現(xiàn)的思路是:首先,由外部QuartusFPGA 模塊,地址產(chǎn)生模

14、塊,ROM查找表模塊。整個(gè)系統(tǒng)實(shí)現(xiàn)的思路是:首先,由外部 定精確120MHz的系統(tǒng)時(shí)鐘。然后,地址產(chǎn)生模塊在系統(tǒng)時(shí)鐘的激勵(lì)下,將頻率控制字與累加寄存器輸出的數(shù)據(jù)進(jìn)行累加,然后把累加結(jié)果作為地址輸出給ROM查找表模塊ROM查找表模塊在每個(gè)系統(tǒng)時(shí)鐘的上升沿,按照地址ROM查找表中相應(yīng)的波據(jù)就是最終的就來(lái)開始設(shè)計(jì)這個(gè)DDS正弦波發(fā)生首先,建立一個(gè) Quartus工程,點(diǎn)擊 5.240MHz DDS波形信這打算用PLL 鎖相環(huán)來(lái)實(shí)現(xiàn)所以可以使用Quartus自帶的對(duì)這打算用PLL 鎖相環(huán)來(lái)實(shí)現(xiàn)所以可以使用Quartus自帶的對(duì)于時(shí)鐘產(chǎn)生 右鍵選擇 InsertSymbol;選擇 create a cu

15、stom megafunction variation ,然 后選擇建立一個(gè)新的verilog(clk,input5:0control_word; output 11:0 address; reg 11:0address;always (edgeclkornegedgereset) if(reset=1b0) address=12h000; elseif(enable=1b1) address=address+6b0,control_word; address=address; 其加入到頂層文件中。點(diǎn)擊 fileCreate/Update因?yàn)樵贛egafunction 中提供的ROM 模塊 其

16、加入到頂層文件中。點(diǎn)擊 fileCreate/Update因?yàn)樵贛egafunction 中提供的ROM 模塊ROM ROM 成這樣,整個(gè)系統(tǒng)就設(shè)計(jì)完成了,下圖顯示的就是整個(gè)設(shè)計(jì)的頂層文件。在設(shè)計(jì)的最后, 可以使用 應(yīng)該確保設(shè)計(jì)中沒有語(yǔ)法錯(cuò)誤和設(shè)計(jì)5.3 管腳分配與設(shè)計(jì)約束需要將project 中涉及到的引腳分配至指定的pin 上,這 需要將project 中涉及到的引腳分配至指定的pin 上,這 project 分配情況,電平標(biāo)準(zhǔn)為 LVTTL。工作頻率為 120MHz ,那么點(diǎn)擊,Assignments 或 Quartus使用手冊(cè)的還是依靠經(jīng)驗(yàn)。5.4工作頻率為 120MHz ,那么點(diǎn)擊,

17、Assignments 或 Quartus使用手冊(cè)的還是依靠經(jīng)驗(yàn)。5.4(Copiatio。 Synthesis(Fitter(seberyzer,析5.5時(shí)序仿右鍵InsertNodeor析5.5時(shí)序仿右鍵InsertNodeor至 補(bǔ)充一點(diǎn):大家可以清晰地看到波至 補(bǔ)充一點(diǎn):大家可以清晰地看到波形仿真中的毛刺,這是因Quartus的仿真是 首先,需要設(shè)置配置方式和配置 AssignmentsDevice: 7電首先,需要設(shè)置配置方式和配置 AssignmentsDevice: 7電的使用請(qǐng)見使。 DDS一個(gè)用原理圖方式描述的文件(格式為.bdf 的使用請(qǐng)見使。 DDS一個(gè)用原理圖方式描述的文件(格式為.bdf 可以點(diǎn)擊 moduleDDS_ 11:0wirewire SYNTHESIZED_WIRE_1; SYNTHESIZED_WIRE_1 Uaddress_gen testbench,testbench 化SYNTHESIZED_WIRE_1 Uaddress_gen testbench,testbench 化。對(duì)于 DDS 正弦波發(fā)生共需要時(shí)鐘 inclk,復(fù)位 reset,使能 enable 和頻 reg clk ;reg

溫馨提示

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

評(píng)論

0/150

提交評(píng)論