Hallo, ich möchte eine signal(z.B. einen heruntergeteilten Clock) als LVDS-Signale ausgeben. Was muss ich beachten? Wie ist die Syntax dafür? Gruß H.H.
fur unterschiedliche FPGA unterschiedlich :) musst fur jeden typ manual lesen lattice macht mit constraints, sonst muss man meist vendor primitives benutzen Antti
Eine Suche im Forum ergibt: http://www.mikrocontroller.net/search?query=%2Blvds+%2Bausgang&forums[]=9&max_age=-&sort_by_date=1 Und daraus dann z.B. den Beitrag "differential signal output"
Danke, für die Hilfe, nur bekomme ich jetzt folgende Fehlermeldung: ERROR:Xst:528 - Multi-source in Unit <Difftest> on signal <XXXXX>; this signal is connected to multiple drivers. Ich weiß nicht wo der Fehler liegt.
> Ich weiß nicht wo der Fehler liegt. Das ist ein alter Hut. Der Fehler liegt im VHDL-Quellcode ;-) Das Signal <XXXXXX> wird aus mehreren Quellen (z.B. aus 2 Prozessen, oder aus einem Prozess und einer Concurrent-Zuweisung) getrieben.
Danke für die schnelle Antwort, aber da ich Anfänger bin, komme ich jetzt auf die schnelle nicht drauf. Das kleine Testprogrogramm soll nur zur Ausgabe eines differentiellen Signals dienen, um damit den Umgang zu lernen. Es hat soll folgende Funktion haben: Der Systemtakt des Boards wird zur einen Zähler heruntergetaktet und der neue Takt clk1x soll differentiell ausgegeben werden. Parallel dazu soll eine LED angesteuert werden, die die Taktfrequenz anzeigt. Die heruntertaktung funktioniert. (Habe sie in einem 8-Bit counter getestet) Wo liegt mein Fehler?
also soweit ich es sehen konnte wird LED0 von 2 quellen aus getrieben. zum einen über den instatiierten buffer und dann nochmal über das divclk signal. beides gleichzeit geht natürlich nich
Entsprechend http://www.xilinx.com/itp/xilinx5/data/docs/lib/lib0317_301.html hast du an die beiden Ausgänge O und OB des OBUFDS Signale angeschlossen. Und zwar verbindest du den Ausgang O mit clk1x und gleichzeitig clkdiv(21) mit clk1x. Das kann nicht gehen. Gleiches gilt für das Signal LED0. An den Eingang I des Buffers hast du gar nichts angeschlossen :-o Du willst clkdiv(21) auf FPGA-Pins ausgeben? Also gehört clkdiv(21) an I und die Ausgänge O und OB an FPGA-Pins (dort mußt du übrigens ein zusammengehöriges Pin-Pärchen verwenden).
1 | OBUFDS_INSTANCE_NAME : OBUFDS |
2 | port map (O => clk_p, |
3 | OB => clk_n, |
4 | I => clkdiv(21)); |
BTW: BLVDS_25 gibt es laut der obigen Tabelle nicht für Spartan 3
Danke für die Hilfe, ich habe es jetzt wie im Anhang, Syntaxchek ist auch ok. Kann es so funktionieren?
> Kann es so funktionieren? Ja, aber wie gesagt: jetzt muß noch die Pinzuordnung für clk1xpos und clk1xneg passen. Mehr dazu im Datenblatt ;-) BTW: VHDL-Files haben bei mir die Dateiendung vhd, nicht jpg :-o
@ Lothar Miller (lkmiller) >BTW: >VHDL-Files haben bei mir die Dateiendung vhd, nicht jpg :-o Ohje! Mal wieder ein Kanditat für Deutschland sucht die Bildformate. ;-) MFG Falk
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.