2020年4月21日 星期二

1x4 DeMux with bitwise operator in Verilog

1x4 DeMux with bitwise operator in Verilog



//========================
//Dataflow demux 1x4
//========================
`timescale 10ns/10ps
module Demux_1x4(I,S,Y);
input I;
input [1:0]S;
output [3:0]Y;

assign Y[0]= I & (~S[1]) & (~S[0]) ;
assign Y[1]= I & (~S[1]) & ( S[0]) ;
assign Y[2]= I & ( S[1]) & (~S[0]) ;
assign Y[3]= I & ( S[1]) & ( S[0]) ;

endmodule


// 時間單位 1ns, 時間精確度10 ps
`timescale 10ns/10ps 
module TB;
/*
module Demux_1x4(I,S,Y);
input I;
input [1:0]S;
output [3:0]Y;
*/
reg [1:0]S= 2'b00;   //  暫存器資料初值為‘00’
reg I=1'b0;

wire [3:0]Y;

integer i;

Demux_1x4 UUT (I,S,Y);

initial begin
    for (i=0; i<9; i=i+1) begin
         {I,S} = i;
         #20;
    end
    #20
     $stop;
end

endmodule


沒有留言:

張貼留言

113 學年度第 1 學期 RFID應用課程 Arduino程式

113 學年度第 1 學期 RFID應用課程 Arduino程式 https://www.mediafire.com/file/zr0h0p3iosq12jw/MFRC522+(2).7z/file 內含修改過後的 MFRC522 程式庫 (原程式有錯誤) //定義MFRC522...