OpenFPGA/openfpga_flow/openfpga_cell_library/verilog/gpio.v

41 lines
1.2 KiB
Coq
Raw Normal View History

//-----------------------------------------------------
// Design Name : General Purpose I/Os
// File Name : gpio.v
// Coder : Xifan TANG
//-----------------------------------------------------
//-----------------------------------------------------
// Function : A minimum general purpose I/O
//-----------------------------------------------------
module GPIO (
input A, // Data output
output Y, // Data input
inout PAD, // bi-directional pad
input DIR // direction control
);
//----- when direction enabled, the signal is propagated from PAD to data input
assign Y = DIR ? PAD : 1'bz;
//----- when direction is disabled, the signal is propagated from data out to pad
assign PAD = DIR ? 1'bz : A;
endmodule
2020-11-02 15:01:27 -06:00
//-----------------------------------------------------
// Function : A minimum input pad
//-----------------------------------------------------
module GPIN (
2020-11-02 16:15:45 -06:00
inout A, // External PAD signal
2020-11-02 15:01:27 -06:00
output Y // Data input
);
assign Y = A;
endmodule
//-----------------------------------------------------
// Function : A minimum output pad
//-----------------------------------------------------
module GPOUT (
2020-11-02 19:37:53 -06:00
inout Y, // External PAD signal
input A // Data output
2020-11-02 15:01:27 -06:00
);
2020-11-02 19:37:53 -06:00
assign Y = A;
2020-11-02 15:01:27 -06:00
endmodule