2020年5月14日 星期四

Verilog Code for OR Gate – All modeling styles

Verilog Code for OR Gate – All modeling styles

Gate Level modeling

module OR_2_gate_level(output Y, input A, B);
   or(Y, A, B); 
endmodule

Data flow modeling

module OR_2_data_flow (output Y, input A, B);

assign Y = A | B; 
endmodule

Behavioral Modeling

Truth Table for OR gate

ABY(A or B)
000
011
101
111

Equation from the truth table

Y = A + B or say Y = A or B.

module OR_2_behavioral (output reg Y, input A, B);
always @ (A or B) begin
    if (A == 1'b0 & B == 1'b0) begin
        Y = 1'b0;
    end
    else 
        Y = 1'b1; 
end
endmodule

RTL schematic of OR gate

This picture shows the schematic diagram for OR gate.


Testbench of the OR gate using Verilog


`include "OR_2_behavioral.v"
`timescale 100ns/1ns
module OR_2_behavioral_tb;
reg A, B;
wire Y;
OR_2_behavioral Indtance0 (Y, A, B);
initial begin
    A = 0; B = 0;
 #1 A = 0; B = 1;
 #1 A = 1; B = 0;
 #1 A = 1; B = 1;   
end
initial begin
    $monitor ("%t | A = %d| B = %d| Y = %d", $time, A, B, Y);
    $dumpfile("dump.vcd");
    $dumpvars();
end
endmodule

沒有留言:

張貼留言

2026 作業3 RFID+ Telegram 練習

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