From aebd8f1bd52495b0a787e0cccfa4501141eace2b Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 30 Aug 2017 11:22:16 +0200 Subject: Outputs are now generated. --- instance-calculator/src/VHDLArchitecture.java | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'instance-calculator/src/VHDLArchitecture.java') diff --git a/instance-calculator/src/VHDLArchitecture.java b/instance-calculator/src/VHDLArchitecture.java index 5597529..407a09f 100644 --- a/instance-calculator/src/VHDLArchitecture.java +++ b/instance-calculator/src/VHDLArchitecture.java @@ -9,6 +9,14 @@ public class VHDLArchitecture FROM_ID = new HashMap(); } + public static void resolve_all_waveforms () + { + for (final VHDLArchitecture arch: FROM_ID.values()) + { + arch.resolve_waveforms(); + } + } + public static void add_element (final String id) { if (!FROM_ID.containsKey(id)) @@ -48,6 +56,7 @@ public class VHDLArchitecture private final Collection processes; private final Collection components; private final Collection waveforms; + private final Deque futur_waveforms; private final String id; private VHDLEntity entity; @@ -59,6 +68,7 @@ public class VHDLArchitecture processes = new ArrayList(); components = new ArrayList(); waveforms = new ArrayList(); + futur_waveforms = new ArrayDeque(); } public VHDLEntity get_entity () @@ -100,6 +110,27 @@ public class VHDLArchitecture } } + public void add_futur_waveform (final String fwfm) + { + if (!futur_waveforms.contains(fwfm)) + { + futur_waveforms.add(fwfm); + } + } + + public void resolve_waveforms () + { + while (!futur_waveforms.isEmpty()) + { + final String src_id, wfm_id; + + src_id = futur_waveforms.pop(); + + wfm_id = Waveforms.get_waveform_id_from_id(src_id); + add_waveform(VHDLWaveform.get_from_id(wfm_id)); + } + } + public void add_instance_to ( final Collection process_instances, -- cgit v1.2.3-70-g09d2