哥,你数电有点差呀。我可以教你方法,但是具体做法的细节。我可不记得很清楚,而且你表述不清:
从输入端分析:你输入的4位数据是并口还是串口?并口就是你有4根线同时输入;串口就是你有一根线按时钟触发,一个时钟发一个,4位就是4个时钟(地线忽略)。
中间转换:串行输入,使用移位寄存器解析这4位电平(你控制4个时钟,具体使用参考移位寄存器)。并口输入不用搞了。
逻辑结果:使用或门电路,
对第一题目,我们用最简单的办法化间,用卡诺图法
横向的表示的是B1B2竖向的表示A1A2,
我们可以得到这么个关系,你用真数表就可以知道什么时候是一的,
我用星号表示取反如*A1表示对A1区反
得到的结果是
Z=*A1A2*B1*B2+A1*A2*B1*B2+A1*A2*B1B2+A1A2*B1*B2+A1A2B1*B2+A1A2*B1B2
为了在这里我方便书写,我用(1)代替*A1A2*B1*B2
module bcd4 (
input [3:0] a_in,
output y
);
assign y = a_in>=5 ? 1'b1 : 1'b0;
endmodule
如图