Verilog HDL: Bidirektionale Pin

author-image

Von

Dieses Beispiel implementiert einen getakteten bidirektionalen Pin in Verilog HDL. Der Wert der OE bestimmt, ob es sich bei dem wert b um einen Input, die Einspeisung in inp oder einen Tri-Zustand handelt.
Weitere Informationen zur Verwendung dieses Beispiels in Ihrem Projekt siehe:

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

 

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.