www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Probleme mit Spartan3E (ISE8.1)


Autor: Christian Schiffner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe vor kurzen ein Spartan-3E Board erworben und versuche ein 
erstes
Projekt in VHDL auf das Board zu implementieren.Leider funktioniert es 
nicht wie erhofft.Im Projekt handelt es sich um einen einfachen Zähler
bei dem einfach ein paar LED's brennen sollten:

entity counter is
    Port ( CLOCK : in  STD_LOGIC;
           COUNT_OUT : out  STD_LOGIC_VECTOR (3 downto 0));
end counter;
architecture Behavioral of counter is
signal count_int : std_logic_vector(3 downto 0) := "0000";
begin
process (CLOCK)
begin
   if CLOCK='1' and CLOCK'event then
      count_int <= count_int + 1;
   end if;
end process;
 COUNT_OUT <= count_int;
end Behavioral;
In der ISE-Software(8.1)funktioniert auch der gesamte Design Flow,von 
der Testbench bis zur Implementierung u.s.w.Also kann der Fehler 
eigentlich nur
daran liegen,das ich die Pins und CLK falsch anspreche.
Auf dem Board sitzt ein xc3s500e-,Package:FG320.Laut Excel Tabellen von 
Xilinx lauten die Pin Namen für CLK:T10,Count_out(0-3):F12,E12,E11,F11.
Kann mir jemand mit dem gleichen Board schreiben ob das richtig ist,oder
welche Portbelegung er für so ein VHDL wählen würde.

Danke im voraus

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian Schiffner

> nicht wie erhofft.Im Projekt handelt es sich um einen einfachen Zähler
> bei dem einfach ein paar LED's brennen sollten:

Na ich hoffe mal, dass die LEDs nur leuchten. ;-)

> welche Portbelegung er für so ein VHDL wählen würde.

Die Portbelegung ist unabhängig vom VHDL, sie hängt nur vom verwendetem 
Chip ab.

1)Hast du die Pins definiert? Das macht man im UCF. Am Ende kannst du 
unter Implement Design->Place & Route-> Pad Reportnachschaun, ob die 
Pins dort liegen, wo du sie haben willst.

2) Wenn der Takt nicht im Bereich von ein paar Hertz ist, wirst du nur 
ein Glimmen sehen. Dann musst du einen grösseren Zähler verwenden und 
die LEDs an die MSBs hängen.

MFG
Falk

Autor: Christian Schiffner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
Habe die Pins im Xilinx Pace definiert.Oder meinst du damit was anderes.
Im "View Design Summary" liegen sie auch so wie sie sein sollten.
Der Takt ist 40ns.Ist das zu schnell?Aber selbst wenn müssten sie doch 
dauernd leuchten.Kann ja mal den Takt runter nehmen.Hoffe sie BRENNEN 
dann. :-)

MFG
Christian

Autor: Christian Schiffner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,
wenn ich den Takt mit 1ms probiere,welche Constrains(Offset)müsste man
auswählen?

MFG
Christian

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian Schiffner

>Hallo nochmal,
>wenn ich den Takt mit 1ms probiere,welche Constrains(Offset)müsste man
>auswählen?

Für sowas einfaches brauchst du keine Constraints. Hast du die Pins 
überprüft (im PAD Report) ?

MFG
Falk

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Clock ist am falschen Pin, siehe hier:

http://www.mikrocontroller.net/articles/Xilinx_ISE_Tutorial

Autor: Christian Schiffner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super.Danke euch.
Funktioniert.Lichtlein leuchten.So ein Tutorial hatte ich gesucht.
Mir wurde nur ein Tutorial mit dem falschen Package mitgeschickt und bei
Xilinx hatte ich kein entsprechendes gefunden.Hatte diesselbe 
Pinbelegung
auch schon,nur Direction hatte nicht gepasst.
Die 50MHz ist doch die Frequenz des On-board Oszillators?Oder ist sie 
auch
gleichzeitig bei dir die des Counters.Hast du eine Idee wie man ein 
soein
Divider aufbauen kann?

MFG
Christian

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian Schiffner

> gleichzeitig bei dir die des Counters.Hast du eine Idee wie man ein
> soein
> Divider aufbauen kann?

Na das ist ja wohl das einfachste. Einfach deinen Zähler auf 24 Bit 
aufbohren und die LEDs an Bit 20..23 hängen.

MfG
Falk

Autor: Christian Schiffner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so.Danke

MFG
Christian

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.