《verilog实现八位并串变换电路.docx》由会员分享,可在线阅读,更多相关《verilog实现八位并串变换电路.docx(5页珍藏版)》请在第一文库网上搜索。
1、veri1og实现八位并/串变换电路实验报告范阿龙30112160052014.04.16实验报告一.实验目的1 .在原有基础上进一步掌握VeriIOg语言,并熟悉应用。体会Veri1Og语言在硬件设计中的优越性。2 .了解并、串变换电路。3o学会电路的测试及仿真。二.实验内容图中给出了一个并/串电路的结构,它的功能是将并行输入的数据加载到8位寄存器中,然后根据需要进行串行输出,并/串变换电路是常用的电路单元。并串变换电路结构三、RT1代码采用同步电路结构、同步复位方式。信号定义如下:din:8位并行输入数据DoUt:1位串行输出数据Qk:时钟,上升沿触发。reset:同步复位en:使能1oa
2、d:并行输入控制在e1k上升沿到来时,en&1oad=1,并行写入数据在CIk上升沿到来时,en=1,1oad=0,串行输出数据定义信号八位并行输入RT1代码:modu1eptos(c1k,reset,dinp,1oad,en,dout);inpute1k,reset,en,1oad;inputp:0dinp;outputdout;reg7:0shifter;a1ways(posedgee1k)if(reset)shifter=0;e1seif(enfe1oad)shifter7:0=dinp7:0J;e1seif(en)shifter7:0J=shifter6:0,ib);assigndou
3、t=shifter17;endmodu1e四.仿真测试电路测试代码:modu1eptos_tb;reg7:0dinp,1oad,en,e1k,reset;wiredout;ptosuut(.c1k(c1k),.reset(reset),.dinp(din),.Ioad(Ioad),.en(en),.dout(dout);a1waysbegin#10c1k=1;#10c1k=0;endinitia1begin/Initia1izeInputsdinp=0;1oad=0;en=0;e1k=0;reset=1;/Wait100nsforg1oba1resettofinish#100;reset=0;
4、# 50;repeat(1)(posedgee1k);# 2;en=1;Ioad=I;dinp=8,ha9;repeat(1)(posedgee1k);# 2;en=1;Ioad=O;repeat(7)(posedgee1k);# 2;en=0;endEndmodu1e仿真波形:0ns200nti11ii11I1111iiii400ns-IIIIIIiIII二Name1101010010000QdotI福dinp7:01oad,匾en1e1k皿reset1J-1_TF(XXXXXXx)Xn_I101011ITInJmrUU1nJUIIIJInRnnr1r1nrJUIJ1rUIJIr1nnrX1:1.000.000ns