数电实验
2
实验报告
1
?/p>
设计修改方案
?/p>
1
)加入编码器连接
4
选一数据选择器,控制进行运算的种?/p>
?/p>
2
)修改了输出端数据选择器的程序,使得当计算器没有任何输入时,结果显
示保持为
0
,并且利用芯片自身的灭零管脚,让显示结果中,当十位为零时,十
位的零不显示?/p>
VCC
x1[0..3]
INPUT
VCC
y
2[0..3]
INPUT
VCC
sw3[3..0]
INPUT
x[3..0]
y
[3..0]
s0
s1
sub1[3..0]
sub2[3..0]
add1[3..0]
add2[3..0]
mul1[3..0]
mul2[3..0]
div
1[3..0]
div
2[3..0]
mux_4
inst13
a[3..0]
b[1..0]
encode
inst14
b[1..0]
b[1]
b[0]
编码器模块程?/p>
module encode (a,b);
input[3:0] a;
wire[3:0] a;
output[1:0] b;
reg[1:0] b;
always@(a)
begin
case(a)
4'b0111:b<=2'b00;
4'b1011:b<=2'b01;
4'b1101:b<=2'b10;
4'b1110:b<=2'b11;
default:b<=2'b00;
endcase
end
endmodule
编码器模块功能:
?/p>
4
个单独的单位负脉?/p>
按键对计算进行控制,
4
个按
键不按时全部?/p>
1111
,当?/p>
一个按键按下后,输入变?/p>
0111
,则编码器输?/p>
00
(执
行除法)
,当第二个按键按?/p>
后,输入变为
1001
,则编码
器输?/p>
01
(执行乘法)
,同?/p>
按下第三、四个键时则输出
10
?/p>
11
?/p>
以此控制计算器的?/p>
?/p>
?/p>
?/p>
?
a[3..0]
b[1..0]
encode
inst11