diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-03-23 06:48:46 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-03-23 06:48:46 +0100 |
commit | e1e293701bb457af7bffc2e18a890cf552599144 (patch) | |
tree | 7a0776b854dcac395b522da787441a95fe554534 /src/synth/netlists-gates.ads | |
parent | 0cd37c83c170b5292b5ec9800013da6b4f63c1c1 (diff) | |
download | ghdl-e1e293701bb457af7bffc2e18a890cf552599144.tar.gz ghdl-e1e293701bb457af7bffc2e18a890cf552599144.tar.bz2 ghdl-e1e293701bb457af7bffc2e18a890cf552599144.zip |
synth: add id_inout gate to handle inout behaviour. Fir #1166
Diffstat (limited to 'src/synth/netlists-gates.ads')
-rw-r--r-- | src/synth/netlists-gates.ads | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/synth/netlists-gates.ads b/src/synth/netlists-gates.ads index 042091e3c..7ea18d4a0 100644 --- a/src/synth/netlists-gates.ads +++ b/src/synth/netlists-gates.ads @@ -119,6 +119,18 @@ package Netlists.Gates is Id_Output : constant Module_Id := 50; Id_Ioutput : constant Module_Id := 51; Id_Port : constant Module_Id := 52; + + -- Id_Inout is a virtual gate used to fit inout direction into the netlist + -- model which has only inputs and outputs. + -- It is virtual because it doesn't perform any computation. + -- Its output 1 must always be connected to an inout port of the module. + -- (more precisely: to an input port marked as inout of the self instance). + -- If input 0 is connected, it is a driver to the inout port. + -- The current value of the inout port can be read from output 0. + -- + -- Inputs: 0: value to be assigned to the port + -- Outputs: 0: value of the port + -- 1: direct and only connection to the port Id_Inout : constant Module_Id := 53; -- Note: initial values must be constant nets. |