mikrocontroller.net

Forum: FPGA, VHDL & Co. clock signal ausgeben


Autor: Mark Gregory (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe gerade mit meiner Studienarbeit angefangen, und dabei geht es
anfangs auch um eine FPGA-Programmierung.
Uns zwar ist das erste Ziel, das Clock-Signal vom FPGA an beliebige
Ausgänge des Bords zu legen. Wie ich allgemein Ports für die Signale
zuweise ist nicht das Problem; vielmehr wie ich mir die Clock einmal
anzeigen lassen kann am Oszi.
Ist dies nur über Zähler möglich?
Hab auch schon probiert das Clock-Signal mittels einer einfachen
UND-Verknüpfung mit einem HIGH zu verknüpfen.
Dann meckert aber der Compiler!

Benutze das Xilinx Spartan2 board mit einem 66MHz-Oszillator.

Vielen Dank für eure Hilfe,
Gruß Mark

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
öhm, wo ist denn das genaue Problem?

Der VHDL Code könnte einfacher nicht sein:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY BLABLA IS
  PORT(
    OUTCLK : IN STD_LOGIC;
    INCLK : IN STD_LOGIC;
  );
END BLABLA;

ARCHITECTURE BLABLA_arch OF BLABLA IS
BEGIN
  OUTCLK <= INCLK;
END BLABLA_arch;


Und dann noch mit Assign Package Pins den INCLK an den Pin mit dem
66Mhz Oszillator und OUTCLK an den Pin wo man das Signal hin haben will
zuweisen.

Oszi an den ausgang anschließen und hinschauen, fertig. oder übersehe
ich was?

Autor: Mark Gregory (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,
vielen Dank für deine Antwort. Ich habe eigentlich die "einfachen"
Sachen schon alle ausprobiert. Hab allerdings die Fehlermeldung auch
nicht mehr ganz im Kopf. Morgen schaue ich mir das dann mal vor Ort
an.
P.S. bei OUTCLK : IN STD_LOGIC; meinst du aber OUT STD_LOGIC, oder?
Gruß Mark

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, natürlich
hatte as nur gerade n bissl per copy & paste zusammengebaut, das heißt
das Ding ist nicht fehlerfrei. Aber eigentlich sollte es gehen.
Es kann höchstens sein, dass er ne Warnung bringt, die sagt das das
Routing eines Clock Nets auf einen nicht Clock Ausgang Probleme bringen
könnte. Aber Fehler dürfte eigentlich nicht sein.

Autor: Mark Gregory (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,
ich bin´s nochmal.
Hab das gerade mal getestet und da kam dann auch promt wieder folgende
Fehlermeldung:


ERROR:Pack:1107 - Unable to combine the following symbols into a single
IOB
   component:
     PAD symbol "INCLK" (Pad Signal = INCLK)
     BUF symbol "INCLK_IBUF" (Output Signal = OUTCLK_OBUF)
   Each of the following constraints specifies an illegal physical site
for a
   component of type IOB:
     Symbol "INCLK" (LOC=P80)
   Please correct the constraints accordingly.


Vielleicht kannst du was damit anfangen?
Gruß Mark

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst im ucf-File für den Takt einen der Clock-IOs mittels
LOC-Constraint festlegen. Ich nehme mal an, dass die Fehlermeldung
daran liegt. Zu jedem Clock-Eingang gehört ein sogenannter IBUF, der
das Clocksignal auf den FPGA-internen Clocktree legt. Ich kenne die
Fehlermeldung zumindestens nur in dem Zusammenhang.

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese CLK ist aber nicht etwas die CLK des FPGA, oder ?

Autor: Mark Gregory (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen,
doch doch, ich möchte einfach das 66MHz-Signal vom Bord an mehrere
Ausgänge des Bords legen. Ich kann mir ja zum Beispiel über einen
2-bit-Zähler die doppelte clock anzeigen lassen. (if clk='1' and
clk'event then ...).
Hast du eine einfachere Lösung ,wie ich mir die clock vom bord direkt
ausgeben lassen kann?
Gruß Mark

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

direkt von der DCM  DLL  PLL Stufe.

Gruß,
Dirk

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein direktes Herausführen des zentralen Clocks ist signaltischnisch
problematisch und geht IMO bei Xilinx z.B. garnicht so ohne weiteres.
Der Clock muss auf eine DDR-Zelle, deren Datenkanal für CLK=hi auf
"1" gesetzt wurde - resp. Datenkanal für Lo auf "0". Die Zelle wird
dann direkt in die IOs geschoben und treibt eine saubere clk heraus.
Wenn die interen CLK über eine PLL geführt wurde, dann hast Du auch ein
sauberes 50:50.

Autor: Mark Gregory (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schonmal vielen Dank für die Hinweise!
Das Bord hat letzte Woche seinen Geist aufgegeben. Wahrscheinlich ein
Kurzer im Chip. Das Teil hat ziemlich viel Strom gezogen!
Jetzt kommt ein Spartan-3E Starter Kit. Dann werde ich mich mal an das
Clock-Problem setzen.
Gruß Mark

Autor: High_speed (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann war es wohl ein Latchup.
Durch eine elektrostatische Entladung hast du wahrscheinlich einen
herstellungsbedingten parasitären Thyhristor gezündet.
Wenn man dann ohne Strombegrenzung arbeitet, war es das.

Oder hat ein Ausgang gegen GND oder VDD getrieben?

Holger

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im ersten Fall "erholen" sich einige Schaltungen nach einen gewissen
Zeit der Stronmlosigkeit manchmal wieder. Hatte ich schon desöfteren.
Wenn allerdings ein großer Strom floss, hört es sich nicht gut an.

Ausgang falsch getrieben, ruiniert meist nur die IO-Zelle.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.