aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-cleanup.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-06-27 19:28:01 +0200
committerTristan Gingold <tgingold@free.fr>2022-06-27 19:37:33 +0200
commita036958a9adc31011729aab02af9eec48f80bc8a (patch)
tree2534000aaa570fde4d0359cf0c969f0d8a7a44cd /src/synth/netlists-cleanup.ads
parent060840d4176d7e5b775616e8a702bd751765c753 (diff)
downloadghdl-a036958a9adc31011729aab02af9eec48f80bc8a.tar.gz
ghdl-a036958a9adc31011729aab02af9eec48f80bc8a.tar.bz2
ghdl-a036958a9adc31011729aab02af9eec48f80bc8a.zip
synth: rework #2109 - remove null wires
Diffstat (limited to 'src/synth/netlists-cleanup.ads')
-rw-r--r--src/synth/netlists-cleanup.ads6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/synth/netlists-cleanup.ads b/src/synth/netlists-cleanup.ads
index be4f0e0fb..a13e66c47 100644
--- a/src/synth/netlists-cleanup.ads
+++ b/src/synth/netlists-cleanup.ads
@@ -16,6 +16,8 @@
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <gnu.org/licenses>.
+with Netlists.Builders; use Netlists.Builders;
+
package Netlists.Cleanup is
-- Remove instances of module M whose outputs are not connected.
-- Their inputs will be deconnected, which can result in new instances
@@ -26,6 +28,10 @@ package Netlists.Cleanup is
-- sweep algorithm.
procedure Mark_And_Sweep (M : Module);
+ -- Reconnection inputs of width 0 (the null inputs) to an Const_X gate.
+ -- This will make all the null logic unconnected and ready to be cleaned.
+ procedure Replace_Null_Inputs (Ctxt : Context_Acc; M : Module);
+
-- Remove Id_Output gates.
procedure Remove_Output_Gates (M : Module);
end Netlists.Cleanup;