#设计一个4位输入1位输出的组合逻辑电路,输入为8421BCD码,当输入为大于3的奇数时,输出为1,否则输出0。
(1)列出真值表
(2)画出卡诺图并化简,写出最简逻辑函数表达式
(3)画出电路图
(4)用verilog描述上述电路,并编写用于仿真的测试模块。
#
真值表和卡诺图画出来后得到了f=s0,是不是错了呀?这样怎么设计电路图和verilog呢
#设计一个4位输入1位输出的组合逻辑电路,输入为8421BCD码,当输入为大于3的奇数时,输出为1,否则输出0。
(1)列出真值表
(2)画出卡诺图并化简,写出最简逻辑函数表达式
(3)画出电路图
(4)用verilog描述上述电路,并编写用于仿真的测试模块。
#
f = s0 是不对的
f = s0 & (s2 | s3) = s0 & (~ s2) & (~ s3)
verilog 直接用逻辑表达式
assign f = s0 & (s2 | s3);
verilog 用判断
always@ ( *)
begin
if({s3,s2,s1,s0} > 3 && s0 == 1)
f = 1;
else
f = 0;
end