版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上Harbin Institute of Technology可編程邏輯器件設(shè)計及應(yīng)用實驗報告專心-專注-專業(yè) 實驗一:電路圖方法設(shè)計:異步16分頻 一、 實驗內(nèi)容1、 熟悉ISE M的安裝及使用2、 熟悉電路圖方式的輸入方法;3、 熟悉ISE環(huán)境下的波形仿真4、 學(xué)習(xí)SIE安裝過程5、 建立一個新的工程(cpld 9500系列)6、 輸入電路圖異步16分頻,如圖1-1所示:圖1-1二 實驗結(jié)果1、異步16分頻電路圖如圖1-2所示:圖1-22、 建立測試波形方法仿真激勵圖形,如圖1-3所示:圖1-33、 引腳約束條件如下:NET "CLK" LOC
2、= "P6"NET "CLR" LOC = "P7"NET "O1" LOC = "P42"NET "O2" LOC = "P37"NET "O3" LOC = "P40"NET "O4" LOC = "P39"4、 最終仿真結(jié)果如圖1-4,1-5所示:圖1-4圖1-5三 實驗結(jié)果討論分析通過本次試驗,初步掌握了ISE的使用方法,通過ISE自帶庫文件完成電路的搭建,實現(xiàn)了對輸入
3、時鐘的2分頻,4分頻,8分頻和16分頻,通過最終的試驗驗證得到了正確的試驗結(jié)果。指導(dǎo)教師簽字:實驗二 電路圖方法分層設(shè)計:全加器 一、實驗內(nèi)容1、 建立一個新的工程(cpld 9500系列)2、 建立一個獨立的電路圖(All_ADD)3、 輸入電路圖: 一位全加器圖2-1一位全加器4、 建立測試波形方法仿真激勵圖形圖2-2波形仿真激勵5、 功能仿真記錄結(jié)果,分析正確性。6、 生成電路模塊 圖2-3模塊建立7、 利用電路模塊設(shè)計8位全加器,(新電路圖或者頂層電路圖)圖2-4 8位全加器(頂層電路圖)8、 建立測試波形方法仿真激勵圖形圖2-5 8位全加器波形仿真激勵9、 學(xué)習(xí)總線數(shù)據(jù)預(yù)置方式:通過
4、使用相同名字來對總線進(jìn)行連接設(shè)置,和總線數(shù)據(jù)格式。二 實驗結(jié)果一位全加器功能仿真結(jié)果:圖2-6 功能仿真結(jié)果8位全加器功能仿真結(jié)果一(無進(jìn)位):圖2-7 功能仿真結(jié)果8位全加器功能仿真結(jié)果二(有進(jìn)位):圖2-8 功能仿真結(jié)果三 實驗結(jié)果討論分析本次試驗充分體現(xiàn)了模塊化設(shè)計思想,首先我們運用庫文件實現(xiàn)了一位全加器,也即實驗中的ALL_ADD模塊,在實現(xiàn)此模塊后進(jìn)行仿真分析,確定無誤后,運用8個一位全加器實現(xiàn)實現(xiàn)8位全加器,考慮進(jìn)位。在實驗中進(jìn)一步熟悉了軟件的使用流程和具體的實際操作如操作總線結(jié)構(gòu)等基本操作,可謂知行合一。指導(dǎo)教師簽字:實驗三 Verilog語言方法設(shè)計:8位全加器 一、實驗內(nèi)容1
5、、 建立一個新的工程(cpld 9500系列)2、 建立一個Verilog模塊(All_ADD8)圖3-1 建立一個新的verilog模塊3、 輸入全加器圖3-2 輸入全加器4、 建立測試波形方法仿真激勵圖形測試波形一:圖3-3 測試波形測試波形二:圖3-4 測試波形5、 功能仿真記錄結(jié)果,分析正確性。6、 建立Verilog測試模塊源代碼如下:7、 功能仿真記錄結(jié)果,分析正確性。進(jìn)位結(jié)果。理解掌握語言描述。8、 8位可預(yù)置計數(shù)器(試驗擴(kuò)展)9、 建立一個Verilog模塊(Counter8)源代碼如下:timescale 1ns / 1psmodule extentest_v;reg 7:0
6、 D;reg CLK;reg CLR;reg PR;wire 7:0 Q;extendex uut (.D(D), .CLK(CLK), .CLR(CLR), .PR(PR), .Q(Q); parameter PERIOD = 200; always begin CLK = 1'b0; #(PERIOD/2) CLK = 1'b1; #(PERIOD/2); end initial beginD = 0;CLR = 0;PR = 0;#100;每隔100ns變換一次輸入數(shù)據(jù)PR = 1; D = 17; CLR = 0;#100;PR = 0;#100;end endmodu
7、le10、 學(xué)習(xí)總線數(shù)據(jù)預(yù)置方式11、 自己建立仿真過程(波形+Verilog測試)二 實驗結(jié)果測試波形一結(jié)果:圖3-5 仿真測試結(jié)果測試波形二結(jié)果:圖3-6 仿真測試結(jié)果文件測試結(jié)果:圖3-7 仿真測試結(jié)果更改數(shù)據(jù)測試結(jié)果:圖3-8 仿真測試結(jié)果三 實驗結(jié)果討論分析本次試驗與上次試驗的不同之處在于:上次試驗是通過庫文件鏈接電路圖先實現(xiàn)1位全加器,在此基礎(chǔ)上運用8個1位全加器按照邏輯鏈接在一起實現(xiàn)8位全加器,而在本次試驗中,我們運用的是Verilog語言實現(xiàn),個人感覺這種更加簡單清楚,首先是這種方法省去了電路鏈接的麻煩,其次是它的實現(xiàn)過程中只需要編程實現(xiàn)模塊即可,不用先生成1位全加器,然后再去
8、實現(xiàn)8位全加器,編程仿真實現(xiàn)想要的結(jié)果后可以直接生成8位全加器模塊,操作極為簡單。指導(dǎo)教師簽字:實驗四 LED顯示模塊設(shè)計 一、實驗內(nèi)容1、 在上一工程基礎(chǔ)上繼續(xù)做a、 工程名稱:MyProject1b、 選擇器件:Spartan3E2、 建立LED顯示模塊(verilog)圖4-1 LED顯示模塊l 功能說明:a、 數(shù)據(jù)輸入:4bits; b、 數(shù)據(jù)輸出;8bits;c、 功能:翻譯16進(jìn)制到7段LED顯示(參照顯示16進(jìn)制數(shù)對照表)l 過程說明:a、 建立Verilog模塊;b、 建立Verilog仿真;c、 驗證模塊正確性;3、 建立顯示數(shù)據(jù)鎖存分配模塊(verilog)圖4-2 數(shù)據(jù)鎖
9、存模塊l 功能說明:a、 數(shù)據(jù)輸入:8bits。b、 CK:鎖存信號,上升沿鎖存輸入數(shù)據(jù)c、 數(shù)據(jù)輸出:鎖存輸出最后輸入的兩字節(jié)數(shù)據(jù),分別對應(yīng)4位輸出l 過程說明:a、 建立Verilog模塊;b、 建立Verilog仿真;c、 驗證模塊正確性;4、 建立電路圖方式頂層模塊顯示模塊圖4-3 頂層5、 聯(lián)合驗證;二 實驗結(jié)果輸入波形一:圖4-4 測試波形得到的相應(yīng)仿真結(jié)果圖一:圖4-5 仿真結(jié)果輸入波形二:圖4-6 測試波形得到的相應(yīng)仿真波形結(jié)果圖二:圖4-7 仿真結(jié)果三 實驗結(jié)果討論分析本次試驗依然使用的是Verilog語言,個人覺得實現(xiàn)的關(guān)鍵之處在于輸入輸出的對應(yīng),我們對照共陰極發(fā)光二極管的
10、顯示模式,為每一個輸入通過編程實現(xiàn)其對應(yīng)的輸出即可。本次試驗更深入了解的Verilog編程語言,以及電路設(shè)計的模塊化實現(xiàn),在本次試驗中引入了時鐘,對時鐘的生成與操作有了初步的了解為下一次試驗打下了基礎(chǔ),與此同時,我還學(xué)習(xí)到了Verilog語言一些特有的編程規(guī)則。指導(dǎo)教師簽字:實驗五 串行口設(shè)計一、 實驗內(nèi)容預(yù)備知識:串行通信:數(shù)據(jù)一位一位次序發(fā)送或接收。異步通信:它用一個起始位表示字符的開始,用停止位表示字符的結(jié)束。其每幀的格式如下: 在一幀格式中,先是一個起始位0,然后是8個數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來是奇偶校驗位(能省略),最后是停止位1。用這種格式表示字符,則字符能一個接一個地
11、傳送。無奇、偶校驗的工作模式(10位):有奇、偶校驗的工作模式(11位):(1) 率:在串行通信中,用波特率來描述數(shù)據(jù)的傳輸速度,所謂波特率,即每秒鐘傳送的二進(jìn)制位數(shù),其單位是bps(bits per second).它是衡量串行數(shù)據(jù)速度快慢的重要指標(biāo).國際上規(guī)定的一個標(biāo)準(zhǔn)波特率系列: 110,300,600,1200,1800,2400,4800,9600,14.4K,19.2K,28.8K,33.6K,56Kbps(2) 奇偶校驗:對傳送數(shù)據(jù)中1的個數(shù)進(jìn)行校驗,若二者不一致,則說明數(shù)據(jù)傳送過程中出現(xiàn)了差錯.奇偶校驗的特點是按字符校驗,數(shù)據(jù)傳輸速度將受到影響,一般只用于異步串行通信中。實驗過
12、程:1、 建立一個新的工程 a、 工程名稱:MyProject1b、 選擇器件:Spartan3E2、 建立模式控制模塊(verilog)圖5-1 模式控制模塊l 功能說明:a、 DataIn:控制數(shù)據(jù)輸入、8bits;低4位用于選擇波特率模式,最高位用于選擇奇、偶校驗是否有效;b、 WR:控制數(shù)據(jù)寫入,1bit;上升沿鎖存輸入數(shù)據(jù);c、 FreOut:波特率模式選擇輸出,DataIn低4位,由WR上升沿鎖存保持;09變化;大于9不變化。d、 ModOut:奇、偶校驗?zāi)J竭x擇;DataIn最高位,由WR上升沿鎖存保持;e、 默認(rèn)值:FreOut =6;ModOu=1;l 過程說明:a、 建立V
13、erilog模塊;b、 建立Verilog仿真;c、 驗證模塊正確性;源代碼如下:module ModeCon(DataIn, WR, FreOut, ModOut); input 7:0 DataIn; input WR; output 3:0 FreOut; output ModOut; reg ModOut=1;/ModOut初始值為1 reg 3:0 FreOut=6;/FreOut初始值為6 always (posedge WR) beginModOut<=DataIn7;if(DataIn3:0<9)FreOut<=DataIn3:0; endendmodule測
14、試代碼如下:module ModeConTest_v; reg 7:0 DataIn;reg WR;wire 3:0 FreOut;wire ModOut; parameter PERIOD = 100; /value=時鐘周期(單位ns) always begin WR = 1'b0; #(PERIOD/2) WR = 1'b1; #(PERIOD/2); end / Instantiate the Unit Under Test (UUT)ModeControl uut (.DataIn(DataIn), .WR(WR), .FreOut(FreOut), .ModOut(
15、ModOut);initial beginDataIn = 0;WR = 0;/ Wait 100 ns for global reset to finish#100; DataIn=16'h12; #100; DataIn=16'h23; #100; DataIn=16'h44; #100; DataIn=16'h96; / Add stimulus hereend endmodule3、 建立波特率發(fā)生器模塊(verilog)圖5-2 波特率發(fā)生模塊l 功能說明:a、 FreSel:波特率控制數(shù)據(jù)輸入、4bits;09變化,對應(yīng)選擇波特率300、600、12
16、00、1800、2400、4800、9600、14.4K、19.2K、28.8Kbps共10種變化。b、 CLK:時鐘射入,頻率為22.1184MHz;c、 CLK_S:對應(yīng)波特率分頻輸出,根據(jù)FreSel輸入控制數(shù)據(jù)進(jìn)行對應(yīng)分頻,對應(yīng)模式有300、600、1200、1800、2400、4800、9600、14.4K、19.2K、28.8Kbpsd、 CLK_S16:對應(yīng)波特率16倍分頻輸出;l 過程說明:a、 建立Verilog模塊;b、 建立Verilog仿真;c、 驗證模塊正確性;d、 建立電路圖方式頂層模塊Seriale、 連接波特率發(fā)生器模塊和模式控制模塊進(jìn)行聯(lián)合驗證;源代碼如下:m
17、odule FreqMod(FreSel, CLK, CLK_S16, CLK_S); input 3:0 FreSel; input CLK; output CLK_S16; output CLK_S; reg CLK_S=0; reg CLK_S16=0; reg 16:0count=0; reg 16:0count_16=0; reg 16:0num=0; reg 16:0num16=0; always (posedge CLK) beginif(FreSel=0)num<=36864;/300 else if(FreSel=1)num<=18432;/600else if(
18、FreSel=2)num<=9216;/1200else if(FreSel=3)num<=6144;/1800else if(FreSel=4)num<=4608;/2400else if(FreSel=5)num<=2304;/4800else if(FreSel=6)num<=1152;/9600else if(FreSel=7)num<=768;/14.4kelse if(FreSel=8)num<=576;/19.2kelse if(FreSel=9)num<=384;/28.8k end always (posedge CLK) be
19、gin count<=count+1; num16<=num/(16); count_16=count_16+1; if(count>=num) beginCLK_S<=CLK_S;count<=0;endif(count_16>=num16)beginCLK_S16<=CLK_S16;count_16<=0;endendendmodule測試代碼如下:module FreqModTest_v;/ Inputsreg 3:0 FreSel;reg CLK;/ Outputswire CLK_S16;wire CLK_S; parameter PE
20、RIOD = 100; /value=時鐘周期(單位ns) always begin CLK= 1'b0; #(PERIOD/2) CLK = 1'b1; #(PERIOD/2); end / Instantiate the Unit Under Test (UUT)BitProducer uut (.FreSel(FreSel), .CLK(CLK), .CLK_S16(CLK_S16), .CLK_S(CLK_S);initial begin/ Initialize Inputs/ Wait 100 ns for global reset to finish #100; F
21、reSel=1001;/ Add stimulus hereend endmodule4、 建立發(fā)送數(shù)據(jù)模塊(verilog)圖5-3 發(fā)送數(shù)據(jù)模塊l 功能說明:a、 DataIn:發(fā)送數(shù)據(jù)輸入、8bits;b、 WR:控制數(shù)據(jù)寫入,1bit;上升沿鎖存輸入數(shù)據(jù);寫入后下一個CLK上升沿開始立即發(fā)送數(shù)據(jù)c、 CLK:時鐘射入,對應(yīng)波特率時鐘;d、 Mod:模式輸入,0對應(yīng)無奇偶校驗;1對應(yīng)有奇偶校驗;e、 TX:串行數(shù)據(jù)輸出,平時高電平,當(dāng)有數(shù)據(jù)輸入后,下一個CLK上升沿開始立即發(fā)送數(shù)據(jù);f、 BUSY:空閑指示,當(dāng)TX輸出時為高,其它時間為低;l 過程說明:a、 建立Verilog模塊;b、
22、 建立Verilog仿真;c、 驗證模塊正確性;d、 加入頂層模塊Seriale、 進(jìn)行聯(lián)合驗證;源代碼如下:module TxMod(DataIn, WR, CLK, Mod, TX, BUSY); input 7:0 DataIn; input WR; input CLK; input Mod; output TX; output BUSY; reg Tx=1; reg Busy=0; reg 7:0data=0; reg flag=0; reg 3:0count=1; reg num=0; always (posedge WR) begin data<=DataIn; num<
23、;=data0+data1+data2+data3+data4+data5+data6+data7; flag<=1; end always (posedge CLK) begin if(flag=1) begin Busy<=1; if(count=1) Tx<=0; else if(count=2) Tx<=data0; else if(count=3) Tx<=data1; else if(count=4) Tx<=data2; else if(count=5) Tx<=data3; else if(count=6) Tx<=data4;
24、else if(count=7) Tx<=data5; else if(count=8) Tx<=data6; else if(count=9) Tx<=data7; else if(count=10) begin if(Mod=0) Tx<=1;else if(Mod=1) Tx<=num;count<=0;flag<=0; end count<=count+1; end else Tx=1; Busy=0; endendmodule5、 建立發(fā)送數(shù)據(jù)模塊(verilog)圖5-4 發(fā)送數(shù)據(jù)模塊l 功能說明:a、 RX:串行數(shù)據(jù)輸入、1bits;b、 CLK:時鐘輸入,對應(yīng)16倍波特率時鐘。目的:提高采樣率,在第一時刻發(fā)現(xiàn)起始脈沖;同時對每一位進(jìn)行3次采樣(時間平均),已剔出干擾;c、 Mod:模式輸入,0對應(yīng)無奇偶校驗;1對應(yīng)有奇偶校驗;d、 TX:串行數(shù)據(jù)輸出,平時高電平,當(dāng)有數(shù)據(jù)輸入后,下一個CL
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國塑膠玩具行業(yè)并購重組擴(kuò)張戰(zhàn)略制定與實施研究報告
- 2025-2030年中國個人護(hù)理電器行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 2025-2030年中國汗蒸館行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國紅外探測器行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 2025-2030年中國經(jīng)濟(jì)型酒店行業(yè)并購重組擴(kuò)張戰(zhàn)略制定與實施研究報告
- 2025-2030年中國碳納米管行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 自動噴水系統(tǒng)設(shè)計規(guī)范
- 建設(shè)三北工程-促進(jìn)社會和諧
- 2025年鋼球全陶瓷軸承項目可行性研究報告
- 江西省吉安市峽江縣2023-2024學(xué)年九年級上學(xué)期期末化學(xué)試題
- 竣工驗收消防查驗和消防驗收
- 衛(wèi)生院崗位風(fēng)險分級和監(jiān)管制度工作方案
- 2016-2023年大慶醫(yī)學(xué)高等??茖W(xué)校高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 供應(yīng)商審核培訓(xùn)教程
- 整合營銷策劃-標(biāo)準(zhǔn)化模板
- 物業(yè)前期介入與承接查驗要點精講培訓(xùn)
- 四川省廣元市2022-2023學(xué)年八年級上學(xué)期語文期末試卷(含答案)
- 抗震支吊架-檢驗批質(zhì)量驗收記錄
- 【APP違規(guī)收集個人信息的法律問題分析9800字(論文)】
- 商品房預(yù)售合同簽約證明和預(yù)告登記申請書
- 質(zhì)量管理體系成熟度評估表
評論
0/150
提交評論