Wie kann im Quartus 2 am einfachsten Glitchfrei die clk domäne gewechselt werden (Ip gen basiert)? Hintergrund ist ein LVDS ADC welcher am FPGA angeschlossen ist und einen clk und ein D liefert. Mit dem LVDS IP Block kann dies einfach empfangen werden. Leider kann ich bei diesem IP Block von altera nicht auch gleich das Fifo buffer aktivieren welches ich mit dem system clk auslesen kann.
Dann müsstest du die DOC der IP lesen, wie das geht und welche Signal zu benutzen sind. Generell kann man nur sagen, dass der Takt entweder vorgeben wird und die Daten direkt übernommen werden, oder er eben mit eingetaktet werden muss, also interpretiert wird. Ich würde einfach einen manuell instanziierten FIFO einsetzen, wenn es nur um das synchen geht. Das hat man in 10min hingeschrieben.
STM32 schrieb im Beitrag #6012554: > Wie kann im Quartus 2 am einfachsten Glitchfrei die clk domäne > gewechselt werden (Ip gen basiert)? Du kannst mit dem Parameter Editor einen DCFIFO erzeugen und den anschließend verbinden. Mit der Latenz musst Du eben umgehen.
Markus F. schrieb: > Du kannst mit dem Parameter Editor einen DCFIFO erzeugen und den > anschließend verbinden. Mit der Latenz musst Du eben umgehen. Danke, das DCFIFO scheint genau nach was ich gesucht habe. Wieviele Sync stages werden benötigt um sicherlich korrekte Daten zu haben?
STM32 schrieb im Beitrag #6014323: > Danke, das DCFIFO scheint genau nach was ich gesucht habe. Wieviele Sync > stages werden benötigt um sicherlich korrekte Daten zu haben? Keine. Der Takt wird doch mitgeliefert, nach deiner Aussage. Der sollte direkt auf das FIFO gehen. Korrekt gesetzte Timing Contraints vorausgesetzt, wird er es auch so bauen, wenn der FPGA schnell genug ist. Du könntest noch eine FF-Bank vorsehen, die von den IO-FFs Gebrauch machen.
Habe gerade beim LVDS IP Block gesehen, dass er ebenfall syncen kann. Habe den nun so eingestellt. (ext pll, use Ram buffer) Nun habe ich: rx_inclk = lvds reveice clk? Kann direkt der LVDS clk input damit verbunden werden? rx_syncclk = systemclk mit welchem der paralelle bus ausgelesen werden soll? rx_readclk = ????? Die Doku ist der Hammer: Use external PLL no description Data rate no description Inclock frequency no description Enable rx_locked port no description Enable tx_locked port no description Enable pll_areset port no description Enable tx_data_reset port no description Enable rx_data_reset port no description Use common PLL(s) for receivers and transmitters. no description Enable self-reset on loss lock in PLL no description Desired transmitter inclock phase shift no description Desired receiver inclock phase shift no description usw...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.