FPGA Derived Clock
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...
|