版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、北京郵電大學ASIC原理課程實驗實驗報告設計要求:(3,1,8)卷積碼編碼器學院:電子工程學院專業(yè):電子信息科學與技術班級: 學號:姓名: 2013年6月20日一、設計要求運用verilog語言編寫一個(3,1,8)卷積碼編碼器,并對其進行仿真。二、卷積碼編碼器原理卷積碼擁有良好的糾錯性能,是一種被廣泛應用于移動通信的信道編碼系統。一個(n,k,m)卷積碼編碼器由k個輸入,具有m階存儲的n個輸出的線形時序電路實現。通常, n和k是較小的整數,且kn,但m比較大。當k1時,信息序列不再分成小塊,以便可以連續(xù)處理。卷積碼(n,k,m)表示碼率Rk/n,編碼器級數ms1,其中s是碼約束長度。反向CD
2、MA信道使用(3,1,8)卷積碼,碼率R1/3,約束長度為9,由于k1,n3,m8,則該卷積編碼器包含單個輸入端,一個8級移位寄存器,三個模 2加法器和一個3向編碼器輸出的連續(xù)轉向器。編碼器每輸入一位信息比特將產生三位編碼輸出。這些編碼符號中,第一個輸出符號G0是生成序列g1編碼產生的符號,第二個輸出符號G1是由生成序列g1編碼產生的符號,最后一個輸出符號G2是由生成序列g1編碼產生的符號,如下圖所示。該電路由一個八位寄存器、三個碼生成邏輯、一個時隙發(fā)生器和一個四選一復用器構成。mux的輸入為G0、G1和G2,碼選擇信號C1:0和clk1由時隙發(fā)生器產生,輸出信號即為整個電路的輸出Yout。卷
3、積編碼器的初始狀態(tài)用rst異步清零信號置為0,rst=0時,電路清零。卷積編碼器的初始狀態(tài)全為0,初始狀態(tài)之后輸出的第一個編碼符號由生成序列g1編碼產生。這里,三個生成序列分別為g1=(101101111),g1=(110110011), g1=(111001001)。即三個生成多項式分別為:C01+X+X2+X3+X5+X6+X8 (557) C11+X+X4+X5+X7+X8 (663)C21+X3+X6+X7+X8 (711)三、實驗設計與實現根據以上實驗要求,我們首先設想了分為幾個模塊,然后將各個模塊進行整合實現編碼器的功能,根據我們的設想編寫相應的verilog程序,進行調試、實現。
4、以下是實驗的具體過程。 1.卷積碼模塊設計(1)3分頻器(fenping)。它的功能是產生clk時鐘三分之一頻率的時鐘信號,命名為clk1,同時產生選擇信號sel1:0。(2)4-1多路選擇器(mux_4_1)。根據sel1:0輸入的選擇信號,選擇4路(in0,in1,in2,in3)輸入的1路來輸出(out)。后來,根據老師的指導,將卷積的運算邏輯組裝在這個模塊里。(3)8位移位寄存器(wyjc_8)。用于記錄輸入的信息。每經過一個時鐘上升沿(clk1)向前移位一次。2.verilog程序編寫各個模塊相應的代碼和注釋如下所示。(1)3分頻器module fenping(clear,clk,c
5、lk1,count);input clk,clear;output clk1,count;wire clk,clear;reg clk1;reg 2:0 count;always (posedge clk or posedge clear)beginif(clear=1)count2:0<=3b010;elsebegin/通過循環(huán)移位實現3分頻count0<=count2;count1<=count0;count2<=count1;clk1<=count1;end;endendmodule(2)41多路選擇器module mux_4_1(clk1,clk,sel,
6、in,kin,out);input1:0 sel;input clk,in,clk1;input7:0 kin;output out;wire 1:0 sel;reg out;reg 8:0k;always (posedge clk) /依次計算c0,c1,c2begincase(sel)default out<=0;2b00:out<=(k0+k1)+(k2+k3)+(k5+k6+k8);2b01:out<=k0+k1+k4+k5+k7+k8;2b10:out<=k0 +k3+k6)+k7+k8;endcaseendalways (posedge clk1) /采樣部
7、分begink7:0<=kin7:0;k8<=in;endendmodule(3)8位移位寄存器module wyjc_8(clear,clk,in,out);Input clear,clk,in;output7:0 out;reg7:0 out;wire clear,clk,in;always (posedge clk or posedge clear)beginif(clear=1)out7:0<=8b0;elsebeginout7<=in;out6<=out7;out5<=out6;out4<=out5;out3<=out4;out2<
8、;=out3;out1<=out2;out0<=out1;endendendmodule(4)整合模塊include “fenping.v”/將各模塊加入文件include “mux_4_1.v”include “wyjc_8.v”module bianma(rst,clk,in,out,clk1);input rst,clk,in;output out;output clk1;wire clr,clk,in,clk1,rst;wire7:0 k;wire2:0 sel;reg g0,g1,g2;fenping f1(.clk(clk),.clear(clr),.clk1(clk1
9、),.count(sel);/分頻器實例化wyjc_8 w1(.clear(clr),.clk(clk1),.in(in),.out(k);/移位寄存器實例化mux_4_1 m1(.clk1(clk1),.in(in),.kin(k),.clk(clk),.sel(sel1:0),.out(out);/多路選擇器實例化assign clr=rst;/復位信號翻轉endmodule (5)測試程序·timescale 1 ns/ 1 nsmodule bianma_test1;reg clk,rst,in,code,flag;wire out,clk1;integer I,j,r_se
10、ed;reg31:0 a;reg15:0 c0,c1,c2;bianma b1(.clk1(clk1),.clk(clk),.rst(rst),.in(in),.out(out);initial clk=0;/時鐘產生always #5 clk=clk;initial/復位部分beginrst=0;#7 rst=1;endinitial/結束仿真#490 $finish;Initial/輸入與對照分量產生begin$monitor($stime,”clk=%b,rst=%b,in=%b,out=%b,code=%b,error=%b ”,clk,rst,in,out,code,flag);a3
11、1:0=32b0;a18:0=$random % (1024*8);for(i=0;i<16;i=i+1)beginc0i=ai+8 ai+6 ai+5 ai+3 ai+2 ai+1ai;c1i=ai+8 ai+7 ai+5 ai+4 ai+1ai;c2i=ai+8 ai+7 ai+6 ai+3ai;endin=0;flag=0;#10 in=a8;for(i=0;i<16;i=i+1)begin#30 in=ai+9;endendinitial/采樣對比begin#20 code=0;for(j=0;j<16;j=j+1)begin#5 code=c0j;#5 if(out
12、!=code) flag=1;#5 code=c1j;#5 if(out!=code) flag=1;#5 code=c2j;#5 if(out!=code) flag=1;if(flag=1) $dispaly(“error”);endendinitial $sdf_annotate(“bianma.sdf”,b1);/延時文件endmodule四、仿真與綜合 1.初始波形(輸入IN為隨機數)圖中out端輸出為編碼器輸出,code端輸出為對照輸出,從仿真波形圖可以看出,兩者的輸出波形完全一致,即編碼器工作正常。2.門級電路仿真各模塊和綜合后仿真結果如下4張圖所示。3.綜合后電路信息4.綜合后
13、仿真波形(輸入IN為隨機數)在 control_test.v 文件中加入以下語句,以便將control.sdf 文件標注到測試文件中: initial $sdf_annotate(“control.sdf”,c1); c1 為測試文件中調用control 電路模塊的標簽在對門級電路control.vg 進行仿真時,在仿真命令中使用-v/home2/student/lib/train/verilog/tsmc25.v將庫文件引入,得到的仿真波形如下圖所示。由上圖可知,在其他條件不變情況下,編碼器工作依然正常,但是out端(實際)的輸出與code端(對照)的輸出相比,有1ps的延遲。五.實驗思考題
14、請用 vi 打開control.vg 和control.sdf 文件,理解其中內容,尤其是control.sdf 中的延遲信息是如何表示的,并回答以下問題。1.control.vg 文件是verilog 語言級的描述還是結構化的描述?實驗中的部分vg文件如下截圖所示。可以看出,vg文件是結構化描述。2.control.sdf 文件中,對觸發(fā)器的延遲包括哪些信息,請一一列出。Sdf文件中關于觸發(fā)器的描述部分截圖如下。可以看出觸發(fā)器的延時信息包括每一個邏輯單元的每一個管腳的上升時延與下降時延的最小值、典型值、最大值。3.在對門級電路control.vg 進行仿真時,加上maxdelays 模擬選項
15、,觀察仿真結果;并與不加maxdelays 模擬選項的模擬結果進行比較,如果有不同之處,請將其不同處列在下面,并分析原因。加上maxdelays 模擬選項的模擬結果:通過仿真波形對比發(fā)現,是否加入模擬選項之間沒有任何差別,實際上使用+maxdelays與不使用+maxdelays在門級仿真中有延時的差別,是因為門級仿真時使用到.sdf文件。這個文件中包含邏輯綜合中生成的33個邏輯單元的延時信息。這些信息表示了每一個邏輯單元的每一個管腳的上升時延與下降時延的最小值、典型值、最大值。當使用+maxdelays時,門級仿真使用了延時的最大值,故門級仿真波形表現出其延時要長于不用+maxdelays。六、實驗總結 本次ASIC實驗課程的要求是編寫一個(3,1,8)卷積碼編碼器,實驗過程總體還算順利,不過也難免遇到一些問題,程序的編寫和修改是貫穿始終的,除此之外,首先的問題是理論知識的應用方面,因為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑安全主管年度述職
- 二級造價基礎知識
- 幼小銜接培訓課件
- 機關遲到檢討書
- 注冊公司公司章程范本
- 與達成合作協議
- 2025關于樣板房裝修出售補充的合同范本
- 2025標準個人房屋租賃合同協議
- 2025借款合同樣本
- 【七年級下冊地理中圖版】4.2.2 因地制宜發(fā)展農業(yè) 珍惜每一寸土地 切實保護耕地 同步練習
- 林區(qū)防火專用道路技術規(guī)范
- 2023社會責任報告培訓講稿
- 2023核電廠常規(guī)島及輔助配套設施建設施工技術規(guī)范 第8部分 保溫及油漆
- 2025年蛇年春聯帶橫批-蛇年對聯大全新春對聯集錦
- 表B. 0 .11工程款支付報審表
- 警務航空無人機考試題庫及答案
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 新生兒窒息復蘇正壓通氣課件
- 法律顧問投標書
- 班主任培訓簡報4篇(一)
- 成都市數學八年級上冊期末試卷含答案
評論
0/150
提交評論