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

   

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...