alu.v

来自「Xinx ISE 官方源代码盘第二章」· Verilog 代码 · 共 40 行

V
40
字号
//第二章 工程管理与设计输入 第五节 测试激励生成器 例
//Verilog 源代码
//ALU : Arithmetic Logical Unit 算术逻辑运算器

module alu(clk, a, b, opcode, outp_a, outp_s);
input clk;
input [7:0] a, b;		 //input signal
input [2:0] opcode;	 //operation code
output [7:0] outp_s;	 //Synchronous output
output [7:0] outp_a;	 //Asynchronous output

reg [7:0] outp_s;
reg [7:0] outp_a;

always @(posedge clk)
  begin
    case (opcode) /* synthesis full_case */
	  3'h0 : outp_s <= a + b;
	  3'h1 : outp_s <= a - b;
	  3'h2 : outp_s <= a & b;
	  3'h3 : outp_s <= a | b;
	  3'h4 : outp_s <= ~a;
	endcase
end

always @(opcode or a or b)
begin
    case (opcode) 
	  3'h0 : outp_a = a + b;
	  3'h1 : outp_a = a - b;
	  3'h2 : outp_a = a & b;
	  3'h3 : outp_a = a | b;
	  3'h4 : outp_a = ~a;
	endcase
end


endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?