www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Hello World - Spartan3E


Autor: Frank H. (maxmeise)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

nun habe ich endlich Zeit mit meinem neuen Spartan3E starterkit zu
spielen, leider bekomme ich kein simples "Hello World" hin :-(

- Lt. Simulation funktioniert das programm, die Ports werden
  nacheinander ein/aus geschaltet
- auch impact meldet keinen Fehler, die gelbe Diode geht nach dem
  programmieren an.
- Leider keine Reaktion auf den LEDs, auch mit dem Logikanalyzer ist
  keine Aktion auf den Ports festzustellen.

Könnte ihr bitte mal über den Code schauen ( habe ich vom FPGA - Central
tutorial ), und falls da kein Fehler zu erkennen ist, mir Tipps für
die weitere Fehlersuche geben?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity main is
    Port ( CLK : in  STD_LOGIC;
           LEDS : out  STD_LOGIC_VECTOR (7 downto 0));
end main;

architecture Behavioral of main is
signal leds_control_register: std_logic_vector(7 downto 0):="00000001";
signal counter: std_logic_vector(31 downto 0):=X"00000000";
constant counter_max: std_logic_vector(31 downto 0):=X"02FAF07F";
--constant counter_max: std_logic_vector(31 downto 0):=X"00000010";
--
begin
process (CLK) is
begin
if rising_edge(CLK) then
  if counter<counter_max then
   counter<=counter+1;
  else
   counter<=X"00000000";
  end if;
 end if;
end process;

process (CLK) is
begin
 if rising_edge(CLK) then
  if counter=X"00000000" then
   leds_control_register<=leds_control_register(6 downto 0)&leds_control_register(7);
  end if;
 end if;
end process;

LEDS<=leds_control_register;

end Behavioral;

danke,

MaxMeise

Autor: hunz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für CLK noch ne LOC im ucf angeben könnte helfen?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> für CLK noch ne LOC im ucf angeben könnte helfen?
Auf Deutsch: Ein UCF-File (mit Pinzuweisungen) hast du angelegt und ins 
Projekt eingebunden?

Autor: Frank H. (maxmeise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, habe ich eingebunden in das Projekt. Siehe Anhang im ersten Post.
Bei den "Timing Constraints" habe ich im SubMenue keine unconstrained
Clocks, allerdings in den SubMenue "Inputs" und "Outputs" habe ich
keine Zuweisungen. Hört sich ja falsch an, ich weiss allerdings nicht
was ich da sinnvoll eintragen kann :-(

danke für eure Hilfe,

MaxMeise

Autor: hunz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Deinem UCF-File hast Du zwar die Locations der LEDs angegeben, aber 
nicht die CLK Location. Dafür ist die LOC = "..." Anweisung da.

Du schaust also im Schaltplan / Userguide von Deinem Board nach an 
welchem FPGA-Pin der Oszillator hängt und schreibst in die erste Zeile 
hinter NET "CLK" noch LOC = "die von deinem Oszillator PIN".

Eine Fehlermeldung gibts nicht, wenn keine Location angegeben ist sucht 
sich das ISE selber nen Pin aus.

Autor: Frank H. (maxmeise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die Hilfe, das war der Fehler.

Lustig ist, das das reale Blinkverhalten nun ganz anders ist
als in der ( plausibel wirkenden ) Simulation vor der Anpassung.
Aber das schau ich mir morgen an.

nochmals vielen Dank,

MaxMeise

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.