⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alu_16.v

📁 三种16位整数运算器的ALU设计方法
💻 V
字号:
module alu_16 ( a, b, ir,alu_f, t);
	input  [15:0]  a,b;
	input  [2:0]  ir,t;
	output [15:0]  alu_f;
   
	reg [3:0] s;
	reg      m,cy,cy4,cy8;
   
always @(ir)
	begin
		if(t[2]==1)
			casex (ir)
				3'b000: {s[3:0],m,cy} <=6'b100101;
    			3'b001: {s[3:0],m,cy} <=6'b011000;
	   			3'b010: {s[3:0],m,cy} <=6'b10111x;
	   			3'b011: {s[3:0],m,cy} <=6'b11101x; 
	    		3'b100: {s[3:0],m,cy} <=6'b01101x;
	    		3'b101: {s[3:0],m,cy} <=6'b000000;
	    		3'b110: {s[3:0],m,cy} <=6'b111101;
	    		3'b111: {s[3:0],m,cy} <=6'b001101;
    		endcase
	end
\74181 alu_a(.s(s),.m(m),.cn(cy),
      .a3n(a[3]),.a2n(a[2]),.a1n(a[1]),.a0n(a[0]),
      .b3n(b[3]),.b2n(b[2]),.b1n(b[1]),.b0n(b[0]),
      .f3n(alu_f[3]),.f2n(alu_f[2]),.f1n(alu_f[1]),.f0n(alu_f[0]),
      .cn4(cy4));
\74181 alu_b(.s(s),.m(m),.cn(cy4),
      .a3n(a[7]),.a2n(a[6]),.a1n(a[5]),.a0n(a[4]),
      .b3n(b[7]),.b2n(b[6]),.b1n(b[5]),.b0n(b[4]),
      .f3n(alu_f[7]),.f2n(alu_f[6]),.f1n(alu_f[5]),.f0n(alu_f[4]),
      .cn4(cy8));
\74181 alu_c(.s(s),.m(m),.cn(cy8),
      .a3n(a[11]),.a2n(a[10]),.a1n(a[9]),.a0n(a[8]),
      .b3n(b[11]),.b2n(b[10]),.b1n(b[9]),.b0n(b[8]),
      .f3n(alu_f[11]),.f2n(alu_f[10]),.f1n(alu_f[9]),.f0n(alu_f[8]),
      .cn4(cy12));
\74181 alu_d(.s(s),.m(m),.cn(cy12),
      .a3n(a[15]),.a2n(a[14]),.a1n(a[13]),.a0n(a[12]),
      .b3n(b[15]),.b2n(b[14]),.b1n(b[13]),.b0n(b[12]),
      .f3n(alu_f[15]),.f2n(alu_f[14]),.f1n(alu_f[13]),.f0n(alu_f[12]),
      .cn4(cy16));

endmodule


⌨️ 快捷键说明

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