XC3S250E Reset Pin

Moderator (Firma: Titel) Persönliche Seite #1345961
Lesenswert?

> hat der XC3S250E einen Reset, den man intern nachdem start nutzen kann?
Jein.
Die Konfiguration des Bausteins führt eine Initialisierung auf 
Defaultwerte durch, wenn bei der Beschreibung solche Werte angegeben 
wurden.
1
   signal vect : std_logic_vector (7 downto 0) := x"55";   
2
   signal wert : integer range 0 to 511 := 255;
Ohne Wertzuweisung werden alle Signale auf 0 initialisiert.

Aber es gibt kein internes "Reset-Signal", das man in seine 
VHDL-Beschreibung einbauen könnte.
Gast #1346003
Lesenswert?

also - wenn ich Dich richtig verstanden habe:
willst Du den Einschaltzeitpunkt / Konfigurations-Zeitpunkt
bestimmen/verzögern ?

wenn ja:
a) Konfiguration wird erst gestartet, wenn der PROG-Pin auf high geht
    => extern nach low ziehen, und der FPGA wartet mit der Konfig

b) Startup (nach der Konfig, bis IO aktiv)
    => schwieriger, aber machbar
      => Congig-UserGuide nachsehen: hab's nicht auswendig
        Stichworte sollten sein:
    Startup-Synchonosierung meherer FPGA - irgenwas mit dem Done-Pin
      zusätzlich solltest Du dann noch die Zeitpunkte für GWE und GTS
      einstellen (-> bitgen), damit die FlipFlops im FPGA und die IOs
      erst aktiv werden, wenn der Done-Pin aktiv ist

Gruß
Gast #1346019
Lesenswert?

Hallo,
was ich machen will, ist folgendes:
1. FPGA konfigurieren...........geht klar
2. Die Versorgung von LCD direkt nach Konfig einschalten
3. LVDS-Treiber....EN-Pin verzögert setzen.

Der Display muss eine verzögerung zwischen Daten und die Versorgung 
haben.
D.h., erst die Versorgung einschalten dann den LVDS treiber.

Ich hoffe, das war etwas verständlich

Grüsse,
Ena
Moderator (Firma: Titel) Persönliche Seite #1346068
Lesenswert?

> D.h., erst die Versorgung einschalten dann den LVDS treiber.
Sowas etwa:
1
  Port (
2
    clk :  in std_logic;
3
    lcdpower :  out std_logic;
4
    drvenable : out std_logic; 
5
    :
6
    );
7
:
8
signal lcdp : std_logic :='1'; -- sofort ein
9
signal drve : std_logic :='0'; -- erst mal aus
10
signal powercnt : integer :=0; -- Zähler für Powersequence
11
:
12
   process begin
13
      wait until rising_edge(clk);
14
      if (powercnt < 3000000) then -- deine Zeit
15
         powercnt <= powercnt+1;
16
      else
17
         drvenable <= '1';
18
      end if;
19
   end process;
20
   lcdpower  <= lcdp;
21
   drvenable <= drve;
22
:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren