Verilog -7到7的加、减、与、异或四种运算功能的运算器设计的代码是怎样设计的呢?Verilog -7到7的加、减、与、异或四种运算功能的运算器设计的代码是怎样设计的呢?这代码实在不会,求大神指点。
4条回答 默认 最新
- 神仙别闹 2021-12-15 17:57关注
module ALU_32( input [31:0] data_a_in, input [31:0] data_b_in, input carry_in, input [3:0] op_code, output reg carry_out, output reg [31:0] result_out ); localparam ADD = 0, SUB = 1, AND = 2, OR = 3, XOR = 4, NONA = 5; always @ (op_code or data_a_in or data_b_in) case(op_code) ADD : {carry_out,result_out} <= data_a_in + data_b_in + carry_in; SUB : {carry_out,result_out} <= {data_a_in[31],data_a_in} - {data_b_in[31],data_b_in} - carry_in; AND : result_out <= data_a_in & data_b_in; OR : result_out <= data_a_in | data_b_in; XOR : result_out <= data_a_in ^ data_b_in; NONA : result_out <= ~data_a_in; default : result_out <= data_a_in; endcase endmodule
localparam 表示运算类型(0-加法、1-减法、2-与、3-或、4异或、5取非)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报