INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Case Struktur in Single Cycle Timed Loop



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.01.2009, 17:38
Beitrag #1

ro.hau Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2009

8.6
-
de

98xxx
Deutschland
Case Struktur in Single Cycle Timed Loop
Hallo, ich möchte auf einen FPGA eine Case Struktur in einem Single Cycle Timed Loop unterbringen.

In der LabVIEW Hilfe steht dazu folgendes:

Inside single-cycle Timed Loop—When you use a Case structure inside a single-cycle Timed Loop, the combinatorial logic delay required to evaluate the case selector is proportional to the width of the selector input data type and the number of cases. The combinatorial logic delay introduced by output tunnels is proportional to the number of cases.


Ich bin immer davon ausgegangen, dass ein Iterationsschritt pro Clock Cycle ausgeführt wird.
Wie kann es dann sein, dass eine Struktur wie Case dann mehrere Cycles benötigt ?

Was hat das für Auswirkungen ?
Wird dann die Clock langsamer ?

Ich denke, dass ich irgendetwas nicht verstanden habe ?!?

Falls jemand eine Beispiel hätte bei dem Verzögerungen durch eine Case Struktur entstehen, wäre das schön.

MfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.01.2009, 20:25
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Case Struktur in Single Cycle Timed Loop
' schrieb:Hallo, ich möchte auf einen FPGA eine Case Struktur in einem Single Cycle Timed Loop unterbringen.

In der LabVIEW Hilfe steht dazu folgendes:

Inside single-cycle Timed Loop—When you use a Case structure inside a single-cycle Timed Loop, the combinatorial logic delay required to evaluate the case selector is proportional to the width of the selector input data type and the number of cases. The combinatorial logic delay introduced by output tunnels is proportional to the number of cases.
Ich bin immer davon ausgegangen, dass ein Iterationsschritt pro Clock Cycle ausgeführt wird.
Wie kann es dann sein, dass eine Struktur wie Case dann mehrere Cycles benötigt ?

Was hat das für Auswirkungen ?
Wird dann die Clock langsamer ?

Ich denke, dass ich irgendetwas nicht verstanden habe ?!?

Falls jemand eine Beispiel hätte bei dem Verzögerungen durch eine Case Struktur entstehen, wäre das schön.

MfG

innerhalb der SCTL wird der "Overhead" der gebraucht wird um das Datenfluss-Modell auf dem FPGA abzubilden aufgehoben (Stichwort "enable chain"), => der Code kann vom Compiler optimiert werden so dass es möglich ist innerhalb eines Tics mehrere "Einzelbefehle" abzuarbeiten. Das hat natürlich auch seine Grenzen, das kann man recht schnell ausprobieren, in dem man einen "langen Datenpfad" in einer SCTL aufbaut, irgendwann meckert der Compiler dann, dass dieser Code nicht mehr in einen Tic passt, und man doch bitte was anderes probieren soll (ich glaube er rät dann zu Pipelining ...) und dann hat man die Grenze erreicht, auf die du auch stoßen kannst, wenn du die Case-Struktur mit zu vielen Fällen ausstattest, weil zur Laufzeit für jeden Fall mehr oder weniger ein Vergleich mit der Eingangsgröße durchgeführt werden muss.

Die Clock wird defintiv NICHT langsamer

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2009, 08:34
Beitrag #3

ro.hau Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2009

8.6
-
de

98xxx
Deutschland
Case Struktur in Single Cycle Timed Loop
' schrieb:innerhalb der SCTL wird der "Overhead" der gebraucht wird um das Datenfluss-Modell auf dem FPGA abzubilden aufgehoben (Stichwort "enable chain"), => der Code kann vom Compiler optimiert werden so dass es möglich ist innerhalb eines Tics mehrere "Einzelbefehle" abzuarbeiten. Das hat natürlich auch seine Grenzen, das kann man recht schnell ausprobieren, in dem man einen "langen Datenpfad" in einer SCTL aufbaut, irgendwann meckert der Compiler dann, dass dieser Code nicht mehr in einen Tic passt, und man doch bitte was anderes probieren soll (ich glaube er rät dann zu Pipelining ...) und dann hat man die Grenze erreicht, auf die du auch stoßen kannst, wenn du die Case-Struktur mit zu vielen Fällen ausstattest, weil zur Laufzeit für jeden Fall mehr oder weniger ein Vergleich mit der Eingangsgröße durchgeführt werden muss.

Die Clock wird defintiv NICHT langsamer

Vielen Dank für die Antwort.
Nun, an diese Grenzen werd ich sicherlich bald kommen, aber wenn der Compiler das mitkriegt, ist das ja dann nicht so schlimm.
Wichtig für mich ist nur, dass pro Tick genau eine Iteration ausgeführt wird.

MfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Sad FFT Express VI - Single Channel Multiple Samples bisasam 4 3.977 10.07.2021 13:07
Letzter Beitrag: Martin.Henz
  High Throughput Divide in Single Cycle Timed Loop Krimo 3 6.228 18.07.2019 12:08
Letzter Beitrag: jg
  Fifo zum Host in Single Cycle Timed Loop liefert unerwartete Daten RobertR 2 6.713 12.01.2012 21:54
Letzter Beitrag: RobertR

Gehe zu: