LabVIEWForum.de - FPGA Derived Clock

LabVIEWForum.de

Normale Version: FPGA Derived Clock
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Grüß euch!

Der FPGA des cRIO-9012 besitzt ja eine "40 MHz Onboard Clock". Man kann aber durch RK eine neue "FPGA Derived Clock" hinzufügen die man dann zB bei meinem System mit einem muliplier von 21 und einem divisor von 4 auf max. 210 MHz takten kann, nur WIE kann ich diese clock nützen, denn ins VI ziehen lässt sie sich nicht und auswählen auch nicht!

bin wie immer dankbar für jeden tipp!

mfG
Die derived clock kann auf 2 Arten eingesetzt werden:
a) Die Base Clock am FPGA betraegt 40MHz. D.h. alle logischen Operationen am FPGA werden mit 25ns getaktet. Die Top Level clock kann ausgehend von der base clock auf ganzzahlige vielfache von 40MHz gesetzt werden (80, 120, ...).
Wenn du generell die Clock umstellen moechtest, musst du in den Properties des FPGA Targets die neue Clock (top level clock) uebernehmen, nachdem du eine neue derived clock definiert hast

b) wenn nur einzelne teile mit einer hoeheren clockrate laufen sollen, musst du mit der single cycled timed loop (SCTL) arbeiten. die clocks der SCTL sind nicht auf die oben genannten clocks beschraenkt. Alles was du mit dem Num und Denum darstellen kannst, kann auch fuer die SCTL uebernommen werden (properties der SCTL aufrufen und die clock rate umstellen).

Grundsaetzlich sollte dir klar sein, dass eine Veraenderung der clockrate nicht fuer jeden Code funktioniert. Je laenger die enable chain ist, desto geringer ist die max. taktrate (siehe compile report am ende). D.h. wenn dir vorschwebt, irgendwas mit 210MHz laufen zu lassen, dann sind das ganz ganz einfache operationen, die fuer sich 0 ticks benoetigen und nativ in der HW vorhanden sind. Wenn dir vorschwebt digitale Leitungen mit 210MHz zu takten, wird das auch net fkt. weil diese (von PXI und PCI) mit max. 40MHz getaktet werden koennen (compiler laeuft ohne fehler durch und der user bekommt keine warnung an dieser stelle. der einzige unterschied der im hintergrund ablaeuft ist, dass die sync mit dem IO reg nur alle 40MHz durchgefuehrt wird.
Nachdem du am cRIO bist und mit C Series Modulen arbeitest, kommt es auf das jeweilige Modul an, wie hoch die max. taktrate ist...
ok, danke erst einmal für deine ausführliche und hilfreiche beschreibung!

hab das jetzt einmal getestet und festgestellt, dass wenn ich die top level clock auf zB 80MHz takte und im Programm ein digitales signal ausgeben willl, dieses dann schon gar nicht mehr funktioniert! liegt das jetzt am modul (9403) oder am bus zwischen den modulen und dem fpga?
' schrieb:ok, danke erst einmal für deine ausführliche und hilfreiche beschreibung!

hab das jetzt einmal getestet und festgestellt, dass wenn ich die top level clock auf zB 80MHz takte und im Programm ein digitales signal ausgeben willl, dieses dann schon gar nicht mehr funktioniert! liegt das jetzt am modul (9403) oder am bus zwischen den modulen und dem fpga?

Siehe meine Antwort in deinem anderen Thread.

das Modul ist mit 10 ms spezifiziert ...
Referenz-URLs