2020年3月28日 星期六

Verilog One-Bit Full-Adder (Data flow level) method2

Verilog One-Bit Full-Adder (Data flow level) method2

module FA_dataflow(A,B,Cin,S,Cout);
input A,B,Cin;
output S,Cout;

assign S= A^B^Cin;
assign Cout = (A&B)| (B&Cin) | (Cin&A);


endmodule


//  Test_bench.v  
// 全加器  (測試平台程式)

// 時間單位 100ns, 時間精確度10 ps
`timescale 100ns/10ps

module Test_bench;
reg A = 1'b0; // A 暫存器資料初值為‘0’
reg B = 1'b0; // B 暫存器資料初值為‘0’
reg Cin= 1'b0;                // Cin 暫存器資料初值為‘0’
wire S , Cout ;

// 建立 Full Adder 全加器  的模組例證
FA_dataflow UUT (.A(A),.B(B),.Cin(Cin),.S(S),.Cout(Cout));

// initial程序結構區塊, 產生A、B輸入信號波形
initial
begin
  #100; // 100ns
     A = 1'b0; B = 1'b0;Cin= 1'b1;     // “001”
  #100; // 200ns
     A = 1'b0; B = 1'b1;Cin= 1'b0;     // “010”
  #100; // 300ns
     A = 1'b0; B = 1'b1;Cin= 1'b1;     // “011”
  #100; // 400ns
     A = 1'b1; B = 1'b0;Cin= 1'b0;     // “100”
  #100; // 500ns
     A = 1'b1; B = 1'b0;Cin= 1'b1;     // “101”
  #100; // 200ns
     A = 1'b1; B = 1'b1;Cin= 1'b0;     // “110”
  #100; // 300ns
     A = 1'b1; B = 1'b1;Cin= 1'b1;     // “111”
end

initial
begin
  #800; // 模擬終止時間  800 ns
    $stop;
end


endmodule


沒有留言:

張貼留言

2024產專班 作業2 (純模擬)

2024產專班 作業2  (純模擬) 1) LED ON,OFF,TIMER,FLASH 模擬 (switch 控制) 2)RFID卡號模擬 (buttom  模擬RFID UID(不從ESP32) Node-Red 程式 [{"id":"d8886...