八选一数据选择器和四位数据比较器(verilog实验报告)(共5页).doc
精选优质文档-倾情为你奉上Verilog HDV 数字设计与综合实验报告微电子0901班姓名 : 袁东明 _ 学号:_一、 实验课题:1. 八选一数据选择器2. 四位数据比较器二、八选一数据选择器Verilog程序:2.1主程序 module option(a,b,c,d,e,f,g,h,s0,s1,s2,out); input 2:0 a,b,c,d,e,f,g,h; input s0,s1,s2; output 2:0 out; reg 2:0 out; always(a or b or c or d or e or f or g or h or s0 or s1 or s2) begin case(s0,s1,s2) 3'd0 : out=a; 3'd1 : out=b; 3'd2 : out=c; 3'd3 : out=d; 3'd4 : out=e; 3'd5 : out=f; 3'd6 : out=g; 3'd7 : out=h;endcaseendendmodule2.2激励程序module sti; reg 2:0 A,B,C,D,E,F,G,H; reg S0,S1,S2; wire 2:0 OUT; option dtg(A,B,C,D,E,F,G,H,S0,S1,S2,OUT); initial begin A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=0;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=1;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=0;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=1;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=0;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=1;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=1;S2=0;#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=1;S2=1; end endmodule三、四位数据比较器 3.1主程序module fourcompare(a,b,c); input3:0 a,b; output 1:0 c; reg1:0 c; always(a or b) begin if(a>b) c=2'd2; else if(a<b) c=2'd1; else c=2'd0; endendmodule3.2激励程序module sti; reg 3:0 A,B; wire 1:0C; fourcompare fte(A,B,C); initial begin A=2'd0;B=2'd1; #100 A=2'd2;B=2'd1; #100 A=2'd1;B=2'd1;endendmodule四、实验波形图截图:4.1八选一数据选择器4.2四位数据比较器四、波形分析及实验心得:4.1.波形分析1.八选一数据选择器输入数据为A=000,B=001,C=010,D=011,E=100,F=101,g=110,h=111;S0,S1,S2,为选择控制端,它们组成一个三位数,记为enable,控制数据的输出,其中S0为最高位,S1次之,S2为最低位。当enable=000,输出A; enable= 001,输出B;enable= 010,输出C;enable= 011,输出D;enable= 100,输出E;enable= 101,输出F;enable= 110,输出G;enable= 111,输出H观察波形当enable=000时,输出为000即A;当enable=001时,输出为001,即B;当enable=010时,输出为010即C;当enable=011时,输出为011即D;当enable=100时,输出为100即E;当enable=101时,输出为101,即F;当enable=110时,输出为110即G;当enable=111时,输出为111即G,其结果与理论结果相吻合故验证该设计是正确的。2.四位数据选择器 该设计要求比较两个四位数的大小A、B,输出结果为A>B(10)、A=B(00)或A<B(01);观察波形当输入数据当A=0000,B=0001,输出结果为01当A=0010,B=0001,输出结果为10当A=0001,B=0001,输出结果为00 经分析其仿真结果与理论相符合,说明了其设计的正确性。4.2 实验心得这次实验与上次相比有明显的进步,通过这次实验我对modelsim的应用更加得心应手,深切的体会到了verilog是一种描述性语言,这次实验总的来说是比较顺利的,但在实验过程中还是遇到了一些问题,比如端口的匹配问题,在写程序的时候误将位宽写在了变量名的后面,虽然程序能够运行但有警告,仿真波形是错误的,可见在写程序时警告有时也是致命的,这要求我们在学习的过程中思想一定要严谨!其次在做实验时一定要多想,例如在学习这门课时,书上说在模块外部输入可以是wire型或reg型,但在写程序时激励模块往往要初始化数据,所以编程时其类型往往声明为reg型,通过这个例子我明白了书上所说的有时往往是一个比较笼统的,而更多的需要我们自己去实践、探索、勤思考,只有这样我们才能把书本上的知识转化为属于我们自己的知识,才能在学习的道路上走的更远! 专心-专注-专业