用quartus ii编写的4位全加器(带寄存器,时钟信号,复位信号)

代码:

module RegisteredAdder(a,b,A,B,COUT,S,CLK,RST);
  input[3:0] A,B;
  input CLK,RST;
  output COUT;
  output[3:0] S,a,b;
  reg[3:0] Q1,Q2,S;
  reg COUT;
  wire Q4;
  wire[3:0] Q3;
  wire[4:0] DATA;
  assign a=A;
  assign b=B;
  assign DATA=Q1+Q2;
  assign Q3=DATA[3:0];
  assign Q4=DATA[4];
  always@(posedge CLK or negedge RST)
    begin
      if(!RST) Q1<=0;
      else  Q1<=A[3:0]; end
   
   always@(posedge CLK or negedge RST)
     begin
      if(!RST) Q2<=0;
      else  Q2<=B[3:0]; end
   
 always@(posedge CLK or negedge RST)
  begin
      if(!RST) S<=0;
      else  S<=Q3[3:0];  end 
  
  always@(posedge CLK or negedge RST)
    begin
      if(!RST) COUT<=0;
      else  COUT<=Q4;   end
   
endmodule

RTL:

仿真及硬件测试都通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值