DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2).docxVIP

  • 38
  • 0
  • 约1.03万字
  • 约 14页
  • 2016-08-22 发布于河南
  • 举报

DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2).docx

DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2)

/halflife/archive/2010/04/23/1718797.html本节练习主要用组合逻辑电路实现2进制到10进制数字的转换以及BCD码的加法。Part I 2进制数字的显示在HEX3到HEX0上显示SW15-0的值。SW15-12,SW11-8,SW7-4,SW3-0分别对应于HEX3,HEX2,HEX1,HEX0.在数码管上显示0-9,忽略开关表示的数值1010-1111.本练习的目的是手工推导数码管显示的逻辑,要求只用赋值语句和布尔表达式实现。part1.vpart1顶层文件 1 //part1 display 0-9 on the 7-segment displays 2 module part1(HEX3,HEX2,HEX1,HEX0,SW); 3 input [15:0]SW; 4 output [0:6]HEX3,HEX2,HEX1,HEX0; 5 6 btd H3(SW[15:12],HEX3); 7 btd H2(SW[11:8],HEX2); 8 btd H1(SW[7:4],HEX1); 9 btd H0(SW[3:0],HEX0);10 11 endmodule数码管译码电路: 1 //binary-to-decimal 2 module btd(s,seg); 3 input [3:0]s; 4 output [0:6]seg; 5 6 assign seg[6]=~s[3]~s[2]~s[1]|s[2]s[1]s[0]; 7 assign seg[5]=~s[3]~s[2]s[0]|~s[2]s[1]|s[1]s[0]; 8 assign seg[4]=s[0]|s[2]~s[1]; 9 assign seg[3]=~s[3]~s[2]~s[1]s[0]|10 s[2]~s[1]~s[0]|11 s[2]s[1]s[0];12 assign seg[2]=~s[2]s[1]~s[0];13 assign seg[1]=s[2]~s[1]s[0]|s[2]s[1]~s[0];14 assign seg[0]=s[2]~s[1]~s[0]|~s[3]~s[2]~s[1]s[0];15 16 endmodule Part II 2进制值转换为10进制将4位二进制输入V=v3v2v1v0转换成2位十进制数D=d1d0,在HEX1和HEX0上分别显示d1和d0.输出值与输入值的对应关系如表1.图1给出了电路的部分设计。比较器用来检测V>9.电路A用来将>9的输入转换成对应的个位的BCD码.电路B用来将1位二进制的输入转换为对应的BCD码显示.part2.v 1 //part 2 2 module part2(V,D1,D0); 3 input [3:0]V; 4 output [0:6]D1,D0; 5 wire z;//comparator output 6 wire [2:0]a; //circuit A output 7 wire [3:0]m; //multiplexer output 8 9 comparator C(V,z);10 circuita A(V[2:0],a);11 mux_4b_2to1 M(V,{1b0,a},z,m);12 circuitb B(z,D1);13 btd D(m,D0);14 15 endmodule 16 17 //circuit B18 module circuitb(z,seg);19 input z;20 output [0:6]seg;21 22 assign seg[6]=1;23 assign seg[5]=z;24 assign seg[4]=z;25 assign seg[3]=z;26 assign seg[2]=0;27 assign seg[1]=0;28 assign seg[0]=z;29 30 endmodule31 32 33 //4-bit 2-to-1 multiplexer34 module mux_4b_2to1(x,y,s,m);35 input [3:0]x;36 input [3:0]y;37 input s;38 output [3:0]m;39 40 mux_2to1 u3(x[3],y[3],s,m[3]);41 mux_2to1 u2(x[2],y[2],s,m[2]);42 mux_2to1 u1(x[1],y[1],s,m[1]);43 mux_2to1 u0(x[0],y[0],s,m[0]);44 45 endmodule 46 //2to1

文档评论(0)

1亿VIP精品文档

相关文档