2020年5月5日 星期二

以Verilog 設計一個數位電路 (7)---True table

以Verilog 設計一個數位電路 (7) ---True table 


`timescale 1 ns/1 ns

module EX_107 (a, f);
input [2:0] a;
output [3:0] f;
wire [3:0] f;

assign f = ( a==3'b000 ) ? 4'b1001 :
            ( a==3'b001 ) ? 4'b1010 :
            ( a==3'b010 ) ? 4'b0110 :
            ( a==3'b011 ) ? 4'b0000 :
            ( a==3'b100 ) ? 4'b0100 :
            ( a==3'b101 ) ? 4'b0001 :
            ( a==3'b110 ) ? 4'b0000 : 4'b1110 ;

endmodule

/*
true_table
 a   f
000 1001
001 1010
010 0110
011 0000
100 0100
101 0001
110 0000
111 1110
*/

`timescale 100 ns/1 ns

module testbench;
reg [2:0] a;
wire [3:0] f;

EX_107 UUT(
.a(a),
.f(f) );
initial
begin
 a    = 3'b000; // Time = 0
 #20; // Time = 20
 a    = 3'b001;
 #20; // Time = 40
 a    = 3'b010;
 #20; // Time = 60
 a    = 3'b011;
 #20; // Time = 80
 a    = 3'b100;
 #20; // Time = 100
 a    = 3'b101;
 #20; // Time = 120
 a    = 3'b110;
 #20; // Time = 140
 a    = 3'b111;
end
endmodule

沒有留言:

張貼留言

2026 作業3 RFID+ Telegram 練習

 2026 作業3  RFID+ Telegram  練習 (Wokwi 與 Telegram 二者溝通訊息反映比較慢 ) 歡迎 Alex 使用 RFID 控制系統 /on : 開啟 LED /off : 關閉 LED /flash : 閃爍模式 /timer : 開啟 5 秒 ...