2020年4月2日 星期四

A 4-bit Ripple Carry Adder in Verilog (4位元加法器)

A 4-bit Ripple Carry Adder in Verilog (4位元加法器)






//===============================
// Ch07 adder_4bit.v
// 四位元全加法器 (使用加法運算子)

module FA_4bit (S, Co, A, B, Ci);
input  [3:0] A, B; // A, B 四位元輸入
input  Ci; // Ci 一位元輸入
output Co; // Co 一位元進位輸出
output [3:0] S; // S  四位元加法和輸出

// 使用加法運算子 
assign {Co, S} = A + B + Ci;

endmodule

//===============================
/*
module FA_4bit (S, Co, A, B, Ci);
input  [3:0] A, B; // A, B 四位元輸入
input  Ci; // Ci 一位元輸入
output Co; // Co 一位元進位輸出
output [3:0] S; // S  四位元加法和輸出
*/
//===========================================
// 時間單位 100ns, 時間精確度1 ps
`timescale 100ns/1ps

module T;
// Outputs    
wire [3:0] S;
wire Co;

// Inputs
reg [3:0] A = 4'b0000;
reg [3:0] B = 4'b0000;
reg Ci = 1'b0;
    
integer i;

// Instantiate the Unit Under Test (UUT)
FA_4bit UUT(S, Co, A, B, Ci);
 
initial
  begin
     #350 // Final time:  1600 ns
      $stop;
  end

    
initial begin
  $monitor (S, Co, A, B, Ci);
  for(i=1; i<=15; i=i+1)
begin
#20 {A,Ci}= i*5+8; B=i*2;
end

end
endmodule
        


沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...