




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、評閱Verilog HDL數(shù)字系統(tǒng)設計報告 10姓名 學號 時間 地點 實驗題目 通過模塊實例調(diào)用實現(xiàn)大型系統(tǒng)的設計 一、 實驗目的:1 學習和掌握狀態(tài)機的嵌入和模塊實例的連接方法; 2 了解大型系統(tǒng)設計的層次化,結(jié)構化解決辦法的技術基礎; 3學習數(shù)據(jù)總線在模塊設計中的應用和控制,掌握復雜接口模塊設計的基礎技術;4學習和編寫用工程概念來編寫較完整的測試模塊,做到接近真實的完整測試。二、 實驗環(huán)境:CPU型號: 英特爾 Pentium Dual-Core T4200 2.00GHz 內(nèi)存容量:4G (三星 DDR3 1067 MHz) 操作系統(tǒng)類型:Windows XP SP3仿真軟件:Mode
2、lSim SE 6.2b 三、 實驗內(nèi)容: 使用狀態(tài)機的嵌套和模塊化的方法編寫并行與串行數(shù)據(jù)轉(zhuǎn)換器,在Modelsim中對產(chǎn)生的波形進行分析并驗證運行過程,通過學習數(shù)據(jù)總線在模塊設計中的應用和控制,掌握復雜接口模塊設計的基礎技術。四、 系統(tǒng)框圖:框圖:P_S狀態(tài)圖(并轉(zhuǎn)串)S_P(串轉(zhuǎn)并)五、 實驗波形圖: 1、nGet_AD_data 由高電平變?yōu)榈碗娖?,發(fā)出控制信號, P_S的數(shù)據(jù)寄存器清零,狀態(tài)寄存器置數(shù)。2、D_Pin_ena從低電平變成高電平使并行數(shù)據(jù)從 data_buf 中輸入數(shù)據(jù)進入P_S的寄存器中,之后該 信號從高電 平變成低電平,等待下次寫入控制。3、D_Bin_ena從低電
3、平變成高電平,控制數(shù)據(jù)從P_S的D_Bin_out接口向S_P的寄存器中寫入,數(shù)據(jù)寫完后變?yōu)榈碗娖?。;六?體會:這次的電路系統(tǒng)部件與第九次實驗的轉(zhuǎn)換器電路相似,只是串轉(zhuǎn)并、并轉(zhuǎn)串轉(zhuǎn)換器通過電路進行了組合互聯(lián),其功能仍很簡單。數(shù)據(jù)在nGet_AD_data、 D_Pin_ena的控制下進行并轉(zhuǎn)串的轉(zhuǎn)換和輸出,再在D_Bin_ena等信號的控制下進入串轉(zhuǎn)并的轉(zhuǎn)換器中最終輸出。而這個設計中不同于單個轉(zhuǎn)換器,加入許多的控制信號如nGet_AD_data、D_Bin_ena、D_Pin_ena,是一個多端控制的電路,符合現(xiàn)代電路的設計思想。在仿真過程中主要的問題是下載的代碼由于格式問題存在部分錯誤,經(jīng)
4、過了仔細的核對才運行成功。七、 附錄:(代碼。)/- 文件名P_S.v - /* * 模塊功能:把在nGet_AD_data負跳變沿時刻后能維持約三個 * * 時鐘周期的并行字節(jié)數(shù)據(jù)取入模塊,在時鐘節(jié)拍下轉(zhuǎn)換為字 * * 節(jié)的位流,并產(chǎn)生相應字節(jié)位流的有效信號 * */ define YES 1define NO 0moduleP_S(Dbit_out,link_S_out,data,nGet_AD_data,clk);input clk; /主時鐘節(jié)拍input nGet_AD_data; /負電平有效的取并行數(shù)據(jù)控制信號線 input7:0 data; /并行輸入的數(shù)據(jù)端口。 output
5、 Dbit_out; /串行位 流的輸出 output link_S_out; /允許串行位流輸出的控制信號 reg 3:0 state; /狀態(tài)變量寄存器 reg7:0 data_buf; /并行數(shù)據(jù)緩存器 reg link_S_out; /串行位流輸出的控制信號寄存器 reg d_buf; /位緩存器 reg finish_flag; /字節(jié)處理結(jié)束標志 assign Dbit_out = (link_S_out)? d_buf:0; /給出串行數(shù)據(jù)。 always (posedge clk or negedge nGet_AD_data) / nGet_AD_data下降沿置數(shù),寄存器清
6、零,clk上跳沿送出位流 if(!nGet_AD_data) begin finish_flag <=0; state <= 9; link_S_out <=NO; d_buf <= 0; data_buf <=0; end else case(state) 9: begin data_buf <= data; state <=10; link_S_out <=NO; end 10: begin data_buf <= data; state <=0; link_S_out <=NO; end 0: begin link_S_o
7、ut <=YES; d_buf <=data_buf7; state <=1; end 1: begin d_buf <=data_buf6; state <=2; end 2: begin d_buf <=data_buf5; state <=3; end 3: begin d_buf <=data_buf4; state <=4; end 4: begin d_buf <=data_buf3; state <=5; end 5: begin d_buf <=data_buf2; state <=6; end 6:
8、 begin d_buf <=data_buf1; state <=7; end 7: begin d_buf <=data_buf0; state <=8; end 8: begin link_S_out <=NO; state <= 4'b1111; /do nothing state finish_flag <=1; end default: begin link_S_out <=NO; state <= 4'b1111; /do nothing state end endcase endmodule /-文件名S_P
9、.v - /*8* * 模塊功能:把在位流有效信號控制下的字節(jié)位流讀入模塊, * * 在時鐘節(jié)拍控制下轉(zhuǎn)換為并行的字節(jié)數(shù)據(jù),輸出到并行 * * 數(shù)據(jù)口。 * */ timescale 1ns/1ns define YES 1 define NO 0 module S_P(data, Dbit_in, Dbit_ena, clk); output 7:0 data; /并行數(shù)據(jù)輸出口 input Dbit_in, clk; /字節(jié)位流輸入口 input Dbit_ena; /字節(jié)位流使能輸入口 reg 7:0 data_buf; reg 3:0 state; /狀態(tài)變量寄存器 reg p_out
10、_link; /并行輸出控制寄存器 assign data = (p_out_link=YES) ? data_buf : 8'bz; always(negedge clk) if(Dbit_ena ) case(state) 0: begin p_out_link <=NO; data_buf7 <= Dbit_in; state <=1; end 1: begin data_buf6 <= Dbit_in; state <=2; end 2: begin data_buf5 <= Dbit_in; state <=3; end 3: beg
11、in data_buf4 <= Dbit_in; state <=4; end 4: begin data_buf3 <= Dbit_in; state <=5; end 5: begin data_buf2 <= Dbit_in; state <=6; end 6: begin data_buf1 <= Dbit_in; state <=7; end 7: begin data_buf0 <= Dbit_in; state <=8; end 8: begin p_out_link <= YES; state <= 4
12、39;b1111; end default: state <=0; endcase else begin p_out_link <= YES; state <=0; end endmodule /-文件名 sys.v - /* * 模塊的功能: 把兩個獨立的邏輯模塊(P_S和S_P)合并到一個可綜合 * * 的模塊中,共用一條并行總線,配合有關信號,分時進行輸入/或輸出。* * 模塊的目的:學習如何把兩個單向輸入/輸出的實例模塊,連接在一起, * * 共享一 條總線。 * * 本模塊是完全可綜合模塊,已經(jīng)通過綜合和布線后仿真。 * */ include "./P_S
13、.v"include "./S_P.v"module sys(databus,use_p_in_bus,Dbit_out,Dbit_ena,nGet_AD_data,clk); input nGet_AD_data; /取并行數(shù)據(jù)的控制信號 input use_p_in_bus; / 并行總線用于輸入數(shù)據(jù)的控制信號 input clk; /主時鐘 inout 7:0 databus; /雙向并行數(shù)據(jù)總線 output Dbit_out; /字節(jié)位流輸出 output Dbit_ena; /字節(jié)位流輸出使能 wire clk; wire nGet_AD_data;
14、wire Dbit_out; wire Dbit_ena; wire 7:0 data; assign databus = (!use_p_in_bus)? data : 8'bzzzz_zzzz; P_S m0(.Dbit_out(Dbit_out),.link_S_out(Dbit_ena),.data(databus), .nGet_AD_data(nGet_AD_data),.clk(clk); S_P m1(.data(data), .Dbit_in(Dbit_out), .Dbit_ena(Dbit_ena),.clk(clk); endmodule /-文件名:Top.v
15、 -/* * 模塊的功能: 對合并在一起的可綜合的模塊sys 進行測試驗證。其測試信號* * 盡可能地與實際情況一致,用隨機數(shù)系統(tǒng)任務對數(shù)據(jù)的到來和時鐘沿的 * * 抖動都進行了模擬仿真。本模塊無任何工程價值,只有學習價值。 * */ timescale 1ns/1nsinclude "./sys.v" / 改用不同級別的Verilog 網(wǎng)表文件可進行不同層次的仿真module Top; reg clk; reg7:0 data_buf; reg nGet_AD_data; reg D_Pin_ena; /并行數(shù)據(jù)輸入sys模塊的使能信號寄存器 wire 7:0 data;
16、 wire clk2; wire Dbit_ena; assign data = (D_Pin_ena)? data_buf : 8'bz; initial begin clk = 0; nGet_AD_data =1; /置取數(shù)據(jù)控制信號初始值為高電平 data_buf = 8'b1001_1001; /假設的數(shù)據(jù)緩存器的初始值,可用于模擬并行數(shù)據(jù)的變化 D_Pin_ena = 0; end initial begin repeat(100) begin #(100*14+$random %23) nGet_AD_data = 0; /取并行數(shù)據(jù)開始 # (112+$random %12) nGet_AD_data = 1; /保持一定時間低電平后恢復高電平 # ($random%50) D_Pin_ena = 1; /并行數(shù)據(jù)輸入sys模塊的使能信號有效 # (100*3 + $random%5) D_Pin_ena = 0; /保持三個時鐘周期后讓出總線 # 333 da
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)服務終端運營策略及作業(yè)指導書
- 廁所修建合同書
- 噴鋁施工方案
- 三農(nóng)產(chǎn)品市場監(jiān)管與管理手冊
- 預應力箱梁施工方案
- 路基軟土下臥層施工方案
- 亮化照明工程施工方案
- 路面改造圍擋施工方案
- 水處理專項施工方案
- 地下底板施工方案
- 常用臨床檢驗
- 人類行為與社會環(huán)境全套課件
- 運輸管理實務教案
- 上課用03工程中的價值利益與公正課件
- 邊坡支護方案-土釘墻
- 司機安全培訓課件
- 鋼結(jié)構施工進度計劃保障措施
- 川儀熱電偶熱電阻選型手冊
- 交通運輸設備整套課件匯總完整版電子教案(全)
- 最新VTE指南解讀(靜脈血栓栓塞癥的臨床護理指南解讀)
- 《汽車概論》第二版全套電子課件完整版ppt整本書電子教案最全教學教程整套課件
評論
0/150
提交評論