全加器为什么可以这样写?拼接运算符到底在这里做了些什么?
module full_adder( input a,b, input cin, output sum, output cout ); assign{cout,sum} = a+b+cin; endmodule
收起
你可以理解为,等号左边cout是1位的,sum是1位的,拼接起来就是2位。等号右边三个都是1位的,因为等号右边会先在高位补0,拓展为2位,然后再相加。三个2位的信号,相加结果仍然为2位,结果低位是和,赋值给sum,而高位是进位,赋值给cout。
报告相同问题?