Cet exemple met en œuvre une broche bidirectionnelle cadengée dans Verilog HDL. La valeur de l’OE détermine s’il s’agit d’une entrée, d’une alimentation inp ou d’un tri-état, ce qui en fait une valeur b.
Pour plus d’informations sur l’utilisation de cet exemple dans votre projet, consultez :
bidir.v
module bidirec (oe, clk, inp, outp, bidir);
// Port Declaration
input oe;
input clk;
input [7:0] inp;
output [7:0] outp;
inout [7:0] bidir;
reg [7:0] a;
reg [7:0] b;
assign bidir = oe ? a : 8'bZ ;
assign outp = b;
// Always Construct
always @ (posedge clk)
begin
b <= bidir;
a <= inp;
end
endmodule