2020年2月5日 星期三

數位IC設計入門-Verilog combinational logic 全加器 Behavioral Modeling (Test Bench)

數位IC設計入門-Verilog combinational logic 全加器 Behavioral Modeling (Test Bench)


  module FA (a, b, c, sum, cy);
  input a, b, c;
  output sum, cy;
  reg sum, cy;

  always@(a or b or c)
  begin
        {cy, sum} = a + b + c;
  end

  endmodule

// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps    
module Test_bench;
  //module FA (a, b, c, sum, cy);
  //input a, b, c;
  //output sum, cy;

// Inputs
reg a=0,b=0,c=0;

// Outputs
wire sum,cy;

// Instantiate the Unit Under Test (UUT)
//module FA (a, b, c, sum, cy);

FA UUT(a, b,c, sum, cy);

initial begin
 $monitor(a, b,c, sum, cy);
    // Initialize Inputs
 #25 a=0;b=0;c=1;    //001
 #25 a=0;b=1;c=0;    //010
 #25 a=0;b=1;c=1;    //011
 #25 a=1;b=0;c=0;    //100
 #25 a=1;b=0;c=1;   //101
 #25 a=1;b=1;c=0;   //110
 #25 a=1;b=1;c=1;   //111

end

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


endmodule

   

沒有留言:

張貼留言

Telegram +ESP32自動發報機

  Telegram   +ESP32自動發報機 這套系統是一個典型的 IoT(物聯網)架構 ,結合了遠端配置(Python)、通訊中介(MQTT)與硬體執行(ESP32)。 以下我為您拆解這兩支程式的核心運作原理: 一、 系統架構流程 Python 端 (控制台) :使用者輸入...