计算机组成原理引脚锁定,计算机组成原理实验十六位运算器ALU16完整代码引脚锁定.doc...

文档介绍:

Verilog HDL代码

input A

module inputA(p,x,A);

input [1:0]p;

input [15:0]x;

output reg [16:0]A;

always @ (x,p)

begin

if(p == 2'b11) A={x[15],x[15:0]};

end

endmodule

input B

module inputB(p,x,B);

input [1:0]p;

input [15:0]x;

output reg [16:0]B;//17位

always @ (x,p)

begin

if(p == 2'b10) B={x[15],x[15:0]};

end

endmodule

input ABs

module inputABs(p,x,A,B,s,M,Ci);//输入A B

parameter bit_width=16;

input [1:0]p;

output M;

input [bit_width-1:0]x;//输入16位的x

output [bit_width:0]A,B;//定义17位的A,B 用来输入A,B

output [2:0]s;

output Ci;

reg [bit_width:0]A,B;

reg [2:0]s;

reg M,Ci;

always @ (p,x,A,B,s,Ci)

case (p)

2'b01:begin s[2:0] = x[2:0]; M=x[3];Ci=x[4];end//输入 Ci M s

2'b11: A= {x[15],x};//输入A A为17位采用双符号位

2'b10: B = {x[15],x};//输入B

endcase

endmodule

input Ms

module inputMs(p,x,M,s,Ci);

input [1:0]p;

input [15:0]x;

output reg [2:0]s;

output reg M,Ci;

always @ (x,p)

begin

if(p == 2'b01) begin s<=x[2:0];M=x[3];Ci=x[4];end

end

endmodule

alu_18

module alu_16(S,A,B,F,M,CO,OV,Z,Ci,N);

//Cn Co进位 Ci来自低位的进位 OV溢出 N符号位 Z:0标志

parameter bit_width=16; //定义bit_width为16

input M,Ci;

input [2:0] S;//s是三位的

input [bit_width:0]A,B;//A,B为17位;双符号位判断是否溢出

output N,Z;

output [bit_width:0]F;//F输出17位;双符号位判断是否溢出

output CO,OV; // CO进位;OV判溢出

reg [bit_width:0]F;

reg CO,OV;

reg N,Z;

always @(S)

begin

case(S)

3'b000 :begin

if(M){CO,F}=A+

内容来自淘豆网www.taodocs.com转载请标明出处.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值