《verilog实现八位并串变换电路.docx》由会员分享,可在线阅读,更多相关《verilog实现八位并串变换电路.docx(6页珍藏版)》请在第一文库网上搜索。
1、verilog实现八位并/串变换电路实验报告范阿龙 30112160052014.04.16实验报告dout W一.实验目的1 .在原有基础上进一步掌握Verilog语言,并熟悉应用。体会verilog语言在硬件设计中的优越性。2.了解并、串变换电路。3。学会电路的测试及仿真。:实验内容图中给出了一个并/串电路的结构,它的功能是将并行输入的数据加载到8位寄存器中,然后根据需要进行串行输出,并/串变换电路是常用的电路单元。dinp7:0elkload并串变换电路结构三、RTL代码采用同步电路结构、同步复位方式。信号定义如下:din : 8位并行输入数据Dout : 1位串行输出数据Clk:时钟,
2、上升沿触发。reset:同步复位en:使能load:并行输入控制在elk上升沿到来时,en&load = 1,并行写入数据在elk上升沿到来时,en= 1, load = 0,串行输出数据RTL代码:/定义信号/八位并行输入module ptos(clk, reset, dinp5 load, en, dout);input elk, reset, en, load;inut7r dinp;output dout;reg 7:0 shifter;always (posedge elk)if(reset) shifter=0;else if(en&load) shifterf7:0=dinpf7
3、:0;else if(en) shifter7:0= shifter6:0, bO;assign dout=shifter7;endmodule四.仿真测试电路测试代码:module ptos_tb;reg 7:0 dinpjoad, en, elk, reset;wire dout;ptos uut (.clk(clk), .reset(reset), .dinp(dinp)5 .load(load)5 .en(en), .dout(dout);always begin #10 clk= 1; #10 clk=0; endinitial begin/ Initialize Inputsdinp =0 ;load =0; en=0; elk = 0; reset = 1;/ Wait 100 ns for global reset to finish#100;reset=0;# 50;repeat( 1 )(posedge elk);# 2; en=l; load=l; dinp=8*ha9;reeat( 1 )(posedge elk);# 2; en=l; load=0;repeat( 7) (posedge elk);# 2;en=0;endEndmodule仿真波形: