欢迎来到天天文库
浏览记录
ID:8811096
大小:101.56 KB
页数:19页
时间:2018-04-08
《verilog实现串并与并串转换》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Abstract在實務上常常需要將parallel轉成serial,然後再將serial轉成parallel,本文討論如何實現這些功能。Introduction使用環境:NC-Verilog5.4+Debussy5.4v9+QuartusII7.2很多介面都採用serial傳輸,如I2C、LVDS、mini-LVDS…等,在寫入時必須將parallel資料轉成serial,讀出時又得將serial轉成parallel,所以是個常用的電路,其原理就是使用shiftregister來達成,本文將一一討論parall
2、el轉serial,serial轉parallel,也順便討論parallel轉parallel與serial轉serial。並進串出(ParallelInSerialOut)當load為1且clkrisingedge時,paralleldata載入至register當中,當load為0且clkrisingedge時,register資料依序往前遞移,在最後一個register將資料送出。p2s.v/Verilog1 /* 2 (C)OOMusou2009http://oomusou.cnblogs.com3
3、4 Filename :p2s.v5 Simulator :NC-Verilog5.4+Debussy5.4v96 Synthesizer:QuartusII7.27 Description:parallelinserialoutrtl8 Release :Oct/24/20091.09 */10 11 modulep2s(12 clk,13 rst_n,14 load,15 pi,16 so17 );18 19 inputclk;20 inputrst_n;21 inputload;22
4、 input[3:0]pi;23 outputso;24 25 reg[3:0]r;26 27 always@(posedgeclkor negedgerst_n)28 if(~rst_n)29 r<= 4'h0;30 else if(load)31 r<=pi;32 else33 r<={r,1'b0};34 35 assignso=r[3];36 37 endmodule33行r<={r,1'b0};用Verilog實現shiftregister有很多種方式,但以33行這
5、種方式最精簡,其他codingstyle可參考(筆記)如何將值delayn個clock?(SOC)(Verilog)。Testbenchp2s_tb.v/Verilog1 /* 2 (C)OOMusou2009http://oomusou.cnblogs.com3 4 Filename :p2s_tb.v5 Simulator :NC-Verilog5.4+Debussy5.4v96 Description:parallelinserialouttestbench7 Release :Oct/24/
6、20091.08 */9 10 `timescale1ns/1ns11 `include "p2s.v"12 13 modulep2s_tb;14 15 regclk;16 regrst_n;17 regload;18 reg[3:0]pi;19 wireso;20 21 initial begin22 load= 1'b0;23 pi= 4'h0;24 #10;25 load<= 1'b1;26 pi<= 4'b1010;27 #20;28 load<= 1'b0;29 pi<= 4'h0;3
7、0 end31 32 initialclk= 1'b0;33 always#10clk= ~clk;34 35 initial begin36 rst_n= 1'b0;37 #5;38 rst_n= 1'b1;39 end40 41 initial begin42 $fsdbDumpfile("p2s.fsdb");43 $fsdbDumpvars(0,p2s_tb);44 #150;45 $finish;46 end47 48 p2sp2s_0(49 .clk(clk),50 .rst_n(
8、rst_n),51 .load(load),52 .pi(pi),53 .so(so)54 );55 56 endmodule模擬結果 串進並出(SerialInParallelOut) serialdata依序送進shiftregister,當en為1時,一次將shiftregister內的資料送進parallelout。s2p.v/Verilog1 /* 2 (C)OOMus
此文档下载收益归作者所有