資源描述:
《移位寄存器設(shè)計verilog》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、電子科技大學(xué)ASIC課程設(shè)計報告一學(xué)號:201222240937姓名:周恒課題題目:移位寄存器設(shè)計2013年5月1.WriteandverifytheVerilogmodelsforthetwobasictypesofsynchronizercircuits(a,b)showninFig.1本電路實現(xiàn)是功能是一個兩位的移位寄存器。Asynch_in為輸入,Synch_out為輸出,clock是時鐘,reset為異步復(fù)位信號。電路a的verilog代碼為:modulesyn_a(inputAsynch_in,inputclock,inputreset,outputSynch_out)
2、;wiremeta;regQ1,Q2;assignmeta=Q1;assignSynch_out=Q2;always@(posedgeclockornegedgereset)beginif(!reset)beginQ1<=1'b0;Q2<=1'b0;endelsebeginQ1<=Asynch_in;Q2<=meta;endendendmodule驗證代碼:`timescale1ns/1psmodulesyn_a_test;regAsynch_in;regclock;regreset;wireSynch_out;always#50clock=~clock;initialbeginc
3、lock=1;reset=1;Asynch_in=1;#50reset=0;Asynch_in=0;#50reset=1;#50Asynch_in=1;#100Asynch_in=0;#200Asynch_in=1;#100Asynch_in=0;#100Asynch_in=1;#100Asynch_in=0;#100$stop;endsyn_aa(.Asynch_in(Asynch_in),.clock(clock),.reset(reset),.Synch_out(Synch_out));endmodule輸出波形:從輸出波形可以看出輸出比輸入延遲一個時鐘,電路功能正確。電路b
4、電路b的verilog代碼:modulesyn_b(inputAsynch_in,inputclock,inputreset,outputregSynch_out);wireClr,Clr_in;regq1,q2;always@(posedgeAsynch_inornegedgeClr)if(!Clr)q1<=1'b0;elseq1<=1'b1;always@(posedgeclockornegedgeClr)if(!Clr)q2<=1'b0;elseq2<=q1;always@(posedgeclockornegedgereset)if(!reset)Synch_out<=1'b
5、0;elseSynch_out<=q2;and(Clr_in,!Asynch_in,Synch_out);or(Clr,Clr_in,reset);endmodule驗證代碼:`timescale1ns/1psmodulesyn_b_test;regAsynch_in;regclock,reset;wireSynch_out;always#50clock=~clock;initialbeginclock=1;reset=1;Asynch_in=1;#30reset=0;#20Asynch_in=0;#50reset=1;#50Asynch_in=1;#100Asynch_in=0;
6、#200Asynch_in=1;#100Asynch_in=0;#100Asynch_in=1;#100Asynch_in=0;#100Asynch_in=1;#100reset=0;#50reset=1;#100Asynch_in=0;#200Asynch_in=1;#100Asynch_in=0;#100Asynch_in=1;#100Asynch_in=0;#100Asynch_in=1;#100$stop;endsyn_bb(.Asynch_in(Asynch_in),.clock(clock),.reset(reset),.Synch_out(Synch_out));en
7、dmodulemodelsim仿真波形: