www.mikrocontroller.net

Forum: FPGA, VHDL & Co. S3E Reset wird nicht geroutet


Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe heute ein S3E Starterkit bekommen und gleich ein kleines 
Problem damit.

Ich wollte ein kleinen Test durchführen ... LEDs blinken lassen, etc.
entity s3e_core_body is
port(
CLK_50MHZ:  in std_logic;
reset  :  in std_logic;
SW  :  in std_logic_vector(3 downto 0);
LED  : out std_logic_vector(7 downto 0)
  );
end s3e_core_body;

Der Reset ist der globale Reset des FPGA. Nur leider wird der beim P&R 
nicht korrekt geroutet. Schuld daran ist scheinbar der Pegel, der ist 
LVCMOS25 lt. PAD-Report. Die restlichen Anschlüsse ( LED ) liegen auf 
LVTTL

Im .ufc ist der Reset nicht definiert, also sollte ja der GSR benutzt 
werden. In einer AppNote habe ich einen Weg gefunden, den Pegel 
anzupassen ( über einen IBUF_LVCMOS33 ) ... dadurch erhalte ich 
wenigstens keinen Fehler beim P&R.

Jetzt die Frage: Kann ich das so machen ? Und warum kommt es überhaupt 
zu diesem "Fehler" ? Ich habe vorher mit den S2 Starterkit gearbeitet 
und so ein Problem nie gehabt.

Danke für Eure Antworten.

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da fehlt einfach die Angabe des I/O-Standards in der UCF-Datei, ergänze 
das einfach entsprechend der Angabe bei den anderen Leitungen, z.B. so:

NET "RESET" LOC = "g12" | IOSTANDARD = "LVTTL"


Der Reset arbeitet ziemlich sicher auch mit LVTTL-Pegeln, LVCMOS25 ist 
einfach der Standard, wenn nichts angegeben ist im UCF-File. (Außerdem 
sind die beiden Standards so ähnlich, dass es bei zeitlich unkritischen 
Signalen wie dem Reset sicher keine Probleme geben wird)


>Im .ufc ist der Reset nicht definiert, also sollte ja der GSR benutzt werden

Der Reset muss angegeben sein, sonst liegt er auf irgendeinem Pin der 
der Software gerade passt und nicht da, wo er auch wirklich 
angeschlossen ist!

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort !

Wenn ich den Reset in die .ucf-Datei eintrage, dann ist ja quasi ein 
Soft-Reset ... über einen Taster o.ä.
Ich möchte aber nur den GSR als Resetsignal benutzen ... und der ist ja 
nur intern vorhanden ... oder ? Dafür müsste ich ja dann keinen Eintrag 
in der .ucf-Datei vornehmen.

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

Bewertung
0 lesenswert
nicht lesenswert
> GSR als Resetsignal
GSR ist das Globale Set-Reset-Netzwerk. Das wird zum einen verwendet, um 
nach der Konfiguration die Register auf einen definierten Zustand zu 
setzen, zum anderen kann damit ein externer Reset auf das ganze FPGA 
geroutet werden.

Du willst offenbar "nur" Defaultwerte nach der Konfiguration haben. Das 
geht bei Xilinx ganz einfach über die Zuweisung von 
Initialisierungwerten bei der Instatiierung der Signale.

Soll die Initialisierung eines Signals ungleich null sein, kann das 
angegeben werden. Wird z.B. geschrieben
signal irgendwas : std_logic := '1';
dann hat das Signal nach der Konfiguration den Wert '1'. Bei
signal irgendwasanderes : std_logic_vector(7 downto 0) := x"aa";
wird das Signal mit dem Wert 0xAA initialisiert. Auf die selbe Weise 
kann z.B. eine SM auf den Start-Zustand (hier AUS) gesetzt werden:
type   Status_Type is (START, MITTE, SCHLUSS, AUS);
signal status   : Status_Type := AUS;

Mit deiner Beschreibung
entity s3e_core_body is
  port(
    CLK_50MHZ:  in std_logic;
    reset  :  in std_logic;
    SW  :  in std_logic_vector(3 downto 0);
    LED  : out std_logic_vector(7 downto 0)
  );
end s3e_core_body;
deklarierst du ja wirklich ein Signal reset, und das will auch 
irgendwohin verdrahtet sein ;-)

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort !
Diese Art der Initialisierung wollte ich eigentlich umgehen ... die 
gefällt mir rein optisch nicht wirklich :) Ist aber wie immer 
Geschmacksache und ich werde mich mit Sicherheit daran gewöhnen können. 
:)

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

Bewertung
0 lesenswert
nicht lesenswert
> die gefällt mir rein optisch nicht wirklich :)
Der Vorteil daran ist: Die Simulation und die synthetisierte Hardware 
haben die selben Ausgangszustände, ohne dass ein zusätzliches 
Reset-Signal nötig wäre.

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.