


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、北京郵電大學(xué)ASIC原理課程實驗實驗報告設(shè)計要求:( 3,1,8 )卷積碼編碼器學(xué)院:電子工程學(xué)院專業(yè):電子信息科學(xué)與技術(shù)班級:學(xué)號:姓名:2013 年 6 月 20 日一、設(shè)計要求運用verilog語言編寫一個(3,1,8)卷積碼編碼器,并對其進行仿真。二、卷積碼編碼器原理卷積碼擁有良好的糾錯性能,是一種被廣泛應(yīng)用于移動通信的信道編碼系統(tǒng)。 一個(n,k,m)卷積碼編碼器由k個輸入,具有m階存儲的n個輸出的線形時序 電路實現(xiàn)。通常,n和k是較小的整數(shù),且kvn,但m比較大。當(dāng)k = 1時, 信息序列不再分成小塊,以便可以連續(xù)處理。卷積碼(n,k,m)表示碼率R= k/n, 編碼器級數(shù)m= s
2、1,其中s是碼約束長度。反向CDMA信道使用(3,1, 8)卷積碼,碼率R= 1/3,約束長度為9,由 于k = 1,n= 3,m= 8,則該卷積編碼器包含單個輸入端,一個8級移位寄存器, 三個模2加法器和一個3向編碼器輸出的連續(xù)轉(zhuǎn)向器。編碼器每輸入一位信息 比特將產(chǎn)生三位編碼輸出。這些編碼符號中,第一個輸出符號GO是生成序列g(shù)1編碼產(chǎn)生的符號,第二個輸出符號G1是由生成序列g(shù)1編碼產(chǎn)生的符號,最復(fù)用器構(gòu)成。mux的輸入為GO、G1和G2,碼選擇信號C1:0和clk1由時隙發(fā) 生器產(chǎn)生,輸出信號即為整個電路的輸出Yout。卷積編碼器的初始狀態(tài)用rst異步清零信號置為0,rst=0時,電路清零。
3、卷積編碼器的初始狀態(tài)全為 0,初始狀態(tài)之后輸出的第一個編碼符號由生成 序列g(shù)1編碼產(chǎn)生。這里,三個生成序列分別為g1=(101101111),g1=(110110011), g13)=(111001001。即三個生成多項式分別為:C0= 1+X+X2+X3+X5+X6+X8 (557)C1 = 1+X+X4+X5+X7+X8 (663)C2= 1+X3+X6+X7+X8 (711)三、實驗設(shè)計與實現(xiàn)根據(jù)以上實驗要求, 我們首先設(shè)想了分為幾個模塊, 然后將各個模塊進行整 合實現(xiàn)編碼器的功能,根據(jù)我們的設(shè)想編寫相應(yīng)的 verilog 程序,進行調(diào)試、實 現(xiàn)。以下是實驗的具體過程。1. 卷積碼模塊設(shè)
4、計(1) 3分頻器(fen pi ng)。它的功能是產(chǎn)生elk時鐘三分之一頻率的時鐘信 號,命名為clk1,同時產(chǎn)生選擇信號sel1:0。(2) 4-1多路選擇器(mux_4_1)。根據(jù)sel1:0輸入的選擇信號,選擇 4路 (in0,in1,in2,in3)輸入的1路來輸出(out)。后來,根據(jù)老師的指導(dǎo),將卷積的運算 邏輯組裝在這個模塊里。( 3) 8 位移位寄存器( wyje_8 )。用于記錄輸入的信息。每經(jīng)過一個時鐘上 升沿(clk1 )向前移位一次。2. verilog 程序編寫各個模塊相應(yīng)的代碼和注釋如下所示。( 1) 3 分頻器module fenping(elear,elk,e
5、lk1,eount);input elk,elear;output elk1,eount;wire elk,elear;reg elk1;reg 2:0 eount;always (posedge elk or posedge elear)beginif(elear=1)eount2:0<=3 ' b010;elsebegin/ 通過循環(huán)移位實現(xiàn) 3 分頻count0<=count2;count1<=count0;count2<=count1;clk1<=count1;end;endendmodule2) 41 多路選擇器module mux_4_1(cl
6、k1,clk,sel,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;2' b00:out<=(k0+k1)+(k2+k3)+(k5+k6+k8);2' b01:out<=k0+k1+k4+k5+k7+k8;2' b10:out<=k0 +k3+k6)+k7+k8; e
7、ndcaseendalways (posedge clk1) / 采樣部分begin k7:0<=kin7:0; k8<=in;endendmodule3) 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) begin if(clear=1)out7:0<=8 ' b0; elsebegin out7<=in; out6<=
8、out7; out5<=out6;out4<=out5; out3<=out4;out2<=out3; out1<=out2;out0<=out1; end endendmodule4) 整合模塊'in elude“ fen pi ng將各模塊加入文件'inelude“ mux_4_1.v ”'inelude“ wyjc_8.v ”module bianma(rst,elk,in,out,elk1); input rst,elk,in;output out; output elk1;wire elr,elk,in,elk1,rst;w
9、ire7:0 k; wire2:0 sel;reg g0,g1,g2;fenping f1(.elk(elk),.elear(elr),.elk1(elk1),.eount(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;/ 復(fù)位信號翻轉(zhuǎn)endmodule(5)測試程序timescale 1 ns/ 1 ns
10、module bianma_test1;reg clk,rst,in,code,flag;wire out,clk1; integer I,j,r_seed;reg31:0 a;reg15:0 c0,c1,c2;bianma b1(.clk1(clk1),.clk(clk),.rst(rst),.in(in),.out(out);initial clk=0;/ 時鐘產(chǎn)生always #5 clk=clk;initial/ 復(fù)位部分beginrst=0;#7 rst=1;endinitial/ 結(jié)束仿真#490 $finish;Initial/ 輸入與對照分量產(chǎn)生begin,clk,rst,in
11、,out,code,fl$monitor( $stime, ” clk=%b,rst=%b,in=%b,out=%b,code=%b,error=%b ag);a31:0=32 ' b0;a18:0=$random % (1024*8); for(i=0;i<16;i=i+1)begincOi=ai+8F ai+6A ai+5A ai+3A ai+2A ai+1Aai;c1i=ai+8F ai+7A ai+5F ai+4F ai+1Fai;c2i=ai+8A ai+7A ai+6A ai+3Aai;endin=0;flag=0;#10 in=a8;for(i=0;i<16;
12、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!=code) flag=1;#5 code=c1j;#5 if(out!=code) flag=1;#5 code=c2j;” error ” );#5 if(out!=code) flag=1; if(flag=1) $dispaly( end endinitial $sdf_annotate( endmodule四、仿真與綜合"bia nma/Sdf時文件bl);1.
13、初始波形(輸入 IN 為隨機數(shù))以看出,兩者的輸出波形完全一致,即編碼器工作正常2.門級電路仿真3綜合后電路信息4綜合后仿真波形(輸入IN為隨機數(shù))在control_test.v文件中加入以下語句,以便將control.sdf文件標(biāo)注到測試文件中:initial $sdf_annotate(“control.sdf” ,c1); c1 為測試文件中調(diào)用 control 電 路模塊的標(biāo)簽在對門級電路control.vg進行仿真時,在仿真命令中使用-v/home2/stude nt/lib/trai n/verilog/tsmc25.v將庫文件引入,得到的仿真波形如下圖 所示。申gpijI*IIK
14、JMpsbi».einyMbQO.KMpibMGMCpf'=! * ft imrw*h 4* :!他lb 4J4<1" =1i *:F1 |«*«|11_nnnnrLrLrLrLrmrLruirLrLj'm_rLn_rirLJLnrLrLn_rLnjLimnj irinru uinjuunuuu llt i rn j l n_n : i _n_n_: l. n rri_ n._n_n *«Mr g|LJ 1I I| | LI1| |j | i 1=.<IIE 町W 壯Aiir i i1 i1 i1B'* u、
15、f1111t!*J.1*fIT11怙沖fW9f 1八戸Li i厲 Ln Li F 41* ii-jPBBdl ife f-*|.由上圖可知,在其他條件不變情況下,編碼器工作依然正常,但是out端(實 際)的輸出與code端(對照)的輸出相比,有1ps的延遲。五. 實驗思考題請用vi打開control.vg和control.sdf文件,理解其中內(nèi)容,尤其是control.sdf 中的延遲信息是如何表示的,并回答以下問題。1. control.vg文件是verilog語言級的描述還是結(jié)構(gòu)化的描述? 實驗中的部分vg文件如下截圖所示。DFm 二二贏.缶乙?D (njL5)F ,Q (out), .Q
16、N (UNCOMNECTEDO):0AI22KL g227(.AO sel0), .Al.90 (n_13), .Bl (selllJ, .YA0I23B2X1 g22S(.AOM (n_10)r .ALM <sel(l), .GO (n_12)r .Bl (selll), ¥ (04);NAHD2X1 g220(.A gp10 ) P .B (nJLTL帚.Y (n_13)J;0Al23Bm g23O(.AOM (n_0), .AIM (n_8) ,(n_8, .Bl (n_0).玉OAI23B2K1 g231(.AOM (n_l), .AIM (n_9), .BO (n_9
17、), .Bl (ilI).漁21);可以看出,vg文件是結(jié)構(gòu)化描述。2. control.sdf文件中,對觸發(fā)器的延遲包括哪些信息,請一一列出。Sdf文件中關(guān)于觸發(fā)器的描述部分截圖如下。(CELL(rELUYFE "DEVSKOEL")(IWSIANCE fl.connt_roeMll)(DELAY(ABSOLUTE(PORT SN (:0.0)(FORT CK (:0.0nPORT D(IOFADE (Mgedge Sh) Q (:467) »(IOPATH Qis顯駅 CK Q (: :960) (: :78C)(TIMINGCHSCK(RkCREH (pos
18、;曲弟(po"電© CK) C; -77J(SETUPIDLD (ncficdgc E) (powdgo CK) (:290) (: :14)(SETUPHOLD (toseJgt E (poiedgr CK)(;:-760可以看出觸發(fā)器的延時信息包括每一個邏輯單元的每一個管腳的上升時延 與下降時延的最小值、典型值、最大值。3在對門級電路control.vg進行仿真時,加上+ maxdelays模擬選項,觀察仿真結(jié)果;并與不加+ maxdelays模擬選項的模擬結(jié)果進行比較,如果有不同之處,請將其不同處列在下面,并分析原因加上+ maxdelays模擬選項的模擬結(jié)果:通過仿真波形對比發(fā)現(xiàn),是否加入模擬選項之間沒有任何差別,實際上使用 +maxdelays與不使用+maxdelays在門級仿真中有延時的差別,是因為門級仿真 時使用到.sdf文件。這個文件中包含邏輯綜合中生成的 33個邏輯單元的延時信 息。這些信息表示了每一個邏輯單元的每一個管腳的上升時延與下降時延的最小 值、典型值、最大值。當(dāng)使用+maxdelays時,門級仿真使用了延時的最大值, 故門級仿真波形表現(xiàn)出其延時要長于不用 +maxdelays。六、實驗總結(jié)本次ASIC實驗課程的要求是編寫一個(3,1,8 )卷積碼編碼器,實驗過程總 體還算順利,不過也難免
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝品購銷合同細則
- 企事業(yè)單位合同簽訂環(huán)節(jié)防詐騙標(biāo)語展示
- 商業(yè)變壓器租賃合同標(biāo)準(zhǔn)格式
- 廢棄礦山治理與修復(fù)工程承包合同
- 勞務(wù)派遣合同范本
- 1 春夏秋冬 教學(xué)設(shè)計-2024-2025學(xué)年統(tǒng)編版語文一年級下冊
- Module 4 Unit 1 Did you read them(教學(xué)設(shè)計)-2023-2024學(xué)年外研版(一起)英語五年級下冊
- 制造業(yè)企業(yè)勞動合同范本
- 度鋼管供應(yīng)合同范本
- 10《吃飯有講究》教學(xué)設(shè)計-2024-2025學(xué)年道德與法治一年級上冊統(tǒng)編版
- 部編八年級下冊道德與法治第七課-尊重自由平等教案
- 天然氣加氣站安全事故的案例培訓(xùn)課件
- 結(jié)構(gòu)化思維與表達課件
- 教學(xué)課件:《就業(yè)指導(dǎo)與創(chuàng)業(yè)教育》(中職)
- 無人機警用解決方案樣本
- 健康體檢項目目錄
- 學(xué)校傳染病報告處置流程圖
- 大小嶝造地工程陸域形成及地基處理標(biāo)段1施工組織設(shè)計
- 物理化學(xué)(全套427頁PPT課件)
- 肺斷層解剖及CT圖像(77頁)
- LeapMotion教程之手勢識別
評論
0/150
提交評論