我最近在hackaday article上找到了一个网站,以练习/学习有关HDLBits的Verilog基础知识。我已经解决了几个问题,而我刚完成this one:
在[3:0]中建立具有四个输入的组合电路。
有3个输出:
我的代码可以工作,但是我想知道如何使使用AND / OR逻辑比较向量位的位置更简洁。 我的代码如下:
module top_module(
input [3:0] in,
output out_and,
output out_or,
output out_xor
);
assign out_and = in[0] && in[1] && in[2] && in[3];
assign out_or = in[0] || in[1] || in[2] || in[3];
assign out_xor = in[0] ^ in[1] ^ in[2] ^ in[3];
endmodule
也许类似的方法可以工作,但是问题测试人员说这是不正确的:
assign out_and = (in & b'1111) == b'1111