Concurrent Execution?

Gast #2763695
Lesenswert?
• ▲
▼
Hi Leute!

Ich will mir nähere Gedanken über den Begriff Concurrent Execution in 
VHDL machen. Wenn ich diesen Begriff übersetze, komm ich zum deutschen 
Begriff "nebenläufige Ausführung".

Als Erklärung für diesen Begriff reicht das aber nicht so ganz. Was 
versteht man etwas genauer drunter?


Des Weiteren hab ich noch den Begriff des Concurrent Statements. Da hab 
ich aber mittlerweile aber eine sinnige Erklärung finden können: "Bei 
nebenläufigen Signalzuweisungen (concurrent Statements) ist es 
unerheblich, an welcher Stelle die Anweisung innerhalb der Architektur 
steht, d.h. die Reihenfolge spielt keine Rolle. parallele Ausführung 
bzw. ereignisgesteuerte Simulation."
#2765926
Lesenswert?
• ▲
▼
Wortwörtliche Übersetzung reicht manchmal nicht... ;-)

Concurrent heiss in diesem Zusammenhang "gleichzeitig" oder "permanent". 
Die entsprechenden Gleichungen sind also immer präsent und werden 
permanent (mittels kombinatorischer Logik) berechnet.
#2766024
Lesenswert?
• ▲
▼
OK, zur Präzisierung:

> Concurrent heiss in diesem Zusammenhang "gleichzeitig" oder "permanent".
> Die entsprechenden Gleichungen sind also immer präsent und werden
> permanent (mittels kombinatorischer Logik) berechnet.

...und stehen nicht in einem Prozess drin. ;-)
Gast #2767590
Lesenswert?
• ▲
▼
Jetzt will ich noch die Begriffe "Concurrent Statement" und Sequential 
Statement" näher erläutern:

Ich hätte das so gemacht:

- Ein "Concurrent Statement" ist eine nebenläufige Signalzuweisung. Hier 
ist es unerheblich, an welcher Stelle die Anweisung innerhlab der 
Architektur steht, d.h. die Reihenfolge spielt keine Rolle.

=> parallele Ausführung bzw. ereignisgesteuerte Simulation




- Ein "Sequential Statement" ist eine Signalzuweisung die im "Body" des 
Prozesses benutzt wird. Diese Zuweisung wird sequentiell genannt, da sie 
sequentiell ausgeführt wird.




Kann man das so sagen?
Gast #2767597
Lesenswert?
• ▲
▼
wert schrieb:
> - Ein "Concurrent Statement" ist eine nebenläufige Signalzuweisung. Hier
> ist es unerheblich, an welcher Stelle die Anweisung innerhlab der
> Architektur steht, d.h. die Reihenfolge spielt keine Rolle.
>
> - Ein "Sequential Statement" ist eine Signalzuweisung die im "Body" des
> Prozesses benutzt wird. Diese Zuweisung wird sequentiell genannt, da sie
> sequentiell ausgeführt wird.

Dir fällt schon auf, dass du bloss die Definition wiederholst und ein 
klein wenig ausführst? Um ein vernünftiges Verständnis zu entwickeln, 
befasst du dich am besten mit der Frage, wie die jeweiligen Zuweisungen 
in Synthese und Simulation umgesetzt werden.
Moderator (Firma: Titel) Persönliche Seite #2768375
Lesenswert?
• ▲
▼
Ich würde es so sagen: ein "concurrent statement" ist ein einzeiliger 
Prozess (der natürlich mehrere Zeilenümbrüche haben kann, aber nur einen 
Strichpunkt), der zum Speichersparen ohne Sensitivliste geschrieben 
werden kann.

Eine nebenläufige Zuweisung wie
1
   a <= b;
könnte exakt funktionsgleich (Simulation und Hardware) auch so 
geschrieben werden
1
   process (b)
2
   begin
3
      a <= b;
4
   end process;


Verwirrenderweise gibt es bei nebenläufigen und sequenziellen 
Anweisungen aber jeweils andere Syntaxelemente, mit denen allerdings das 
selbe erreicht werden kann:
1
      a <= b when c else 
2
           d when e else
3
           f;
vs:
1
   process (b,c,d,e,f)
2
   begin
3
      if c then
4
         a <= b;
5
      elsif e then
6
         a <= d;
7
      else
8
         a <= f;
9
      end if;
10
   end process;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren