module adder_4bit ( cout,sum,ina,inb,cin ); output[3:0] sum; output cout; input[3:0] ina,inb; input cin; assign {cout,sum}=ina+inb+cin; endmodule
这里最主要的问题在于verilog中的加号对应的硬件是什么。verilog中的加号应该是一个全加器的输入和输出。不使用括号区分时应该使用的同级的输入和对应的输出。使用括号可以将输入分级。这个简单理解就是执行是否存在顺序。(当然FPGA的编译器可能根据实际的设计需要自动优化,可能没办法观察到这个区别)。
这里实现的全加器就是利用加号可以将两个变量的全加结果输出。
原文:https://www.cnblogs.com/electricdream/p/13363317.html