| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-29 13:54:43 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-29 13:54:43 +0200 |
| commit | 35e6857fb09b006da9f8cc3f59f239f078cc69a1 (patch) | |
| tree | 9c049bc4a16a1202b1dc18ccd79ecfd8557f7dcc /instance-calculator/src/VHDLComponent.java | |
| parent | f1dfb1eb04a705521238dba64e09bb9ecdea794f (diff) | |
Still working on the implementation.
Diffstat (limited to 'instance-calculator/src/VHDLComponent.java')
| -rw-r--r-- | instance-calculator/src/VHDLComponent.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/instance-calculator/src/VHDLComponent.java b/instance-calculator/src/VHDLComponent.java index 493ba22..5972173 100644 --- a/instance-calculator/src/VHDLComponent.java +++ b/instance-calculator/src/VHDLComponent.java @@ -23,6 +23,7 @@ public class VHDLComponent final String e_id ) { + /* TODO */ return false; } @@ -33,6 +34,7 @@ public class VHDLComponent final String wfm_id ) { + /* TODO */ return false; } @@ -40,6 +42,64 @@ public class VHDLComponent private final Map<String, String> port_map; private final String id; + private VHDLEntity destination; + private VHDLArchitecture parent; + + public void add_instance_content_to + ( + final Collection<VHDLProcess.Instance> process_instances, + final Collection<VHDLWaveform.Instance> waveform_instances + ) + { + final Collection<VHDLProcess.Instance> dest_process_instances; + final Collection<VHDLWaveform.Instance> dest_waveform_instances; + final Map<VHDLWaveform.Instance, VHDLWaveform.Instance> wfm_map; + + dest_process_instances = destination.get_process_instances(); + dest_waveform_instances = destination.get_waveform_instances(); + + wfm_map = new HashMap<VHDLWaveform.Instance, VHDLWaveform.Instance>(); + + for (final VHDLWaveform.Instance i_wfm: dest_waveform_instances) + { + final String dest; + final VHDLWaveform.Instance replacement; + + dest = + port_map.get + ( + Waveforms.get_id_from_waveform_id + ( + i_wfm.get_parent().get_id() + ) + ); + + if (dest == null) + { + replacement = i_wfm.get_parent().add_instance(parent.get_entity()); + } + else + { + replacement = + VHDLWaveform.get_from_id(dest).add_instance + ( + parent.get_entity() + ); + } + + wfm_map.put(i_wfm, replacement); + waveform_instances.add(replacement); + } + + for (final VHDLProcess.Instance i_ps: dest_process_instances) + { + process_instances.add + ( + i_ps.add_instance(parent.get_entity(), wfm_map) + ); + } + } + private VHDLComponent (final String id) { this.id = id; |


