| 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; | 


