Forum: FPGA, VHDL & Co. quartus 2 \ leds ansteuern


von nuhr (Gast)


Lesenswert?

warum leuchten die angesteuerten leds nur ganz kurz auf, wenn ich den 
code auf das fpga lade, und gehen dann wieder aus?( a,b,c.... => leds) ( 
sie gehen auch aus wenn ich die clock ganz weglasse, danach kann ich auf 
den schalter x drücken wie ich will, die leds bleiben aus
und wie genau kann ich eine clock mit quartus 2 erstellen? ,z.B. mit 1 
Khz?
( benutze Nios Development Board Cyclone II Edition )

library ieee;
use ieee.std_logic_1164.all;



   entity lux is
port( a, b , c, d, e, f, g, i ,k: out std_logic ;
 x, y , clock: in std_logic);
end lux;

architecture df of lux is
begin
process ( clock ,x)
begin
if clock = '1' and x = '1' then

a <= '1';
b <= '1';
c <= '1' ;
d  <= '0';
e <= '1';
f <= '1';
g <= '1';
i <= '1';
k <= '1';
 else
a <= '0';
b <= '0';
c <= '0' ;
d  <= '0';
e <= '1';
f <= '1';
g <= '1';
i <= '0';
k <= '0';

end if;
end process;
end df;

von mki (Gast)


Lesenswert?

In deinem Code erkenne ich keinen Fehler. Da kann man ja auch nicht 
allzu viel falsch machen. Vielleicht hast du was in deinem Design 
vergessen zu verdrahten? Du kannst ja spaßeshalber mal den Logig 
Analysator mit einbinden um zu schauen ob der Block überhaubt das 
liefert was er soll. Was anderes fällt mir erstmal auch nicht ein.

Und zu deiner Clock: Auf dem Board sind bestimmt fertige PLL's die 
deinem System_Clock runtertakten können. Altera hat dazu fertige IP's. 
Sie heißen alt_pll. Diese kann man entsprechend konfigurieren.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

nuhr schrieb:
> wenn ich die clock ganz weglasse
Soll der clock etwa ein Takt sein? Der Name würde das nahelegen...
Aber so wie das beschrieben ist, ist das pure und reine Kombinatorik. Da 
wird nicht 1 einziges Register instatiiert. Besser noch: e,f und g 
werden komplett wegoptimiert und fest auf '1' gelegt... :-o

> wie genau kann ich eine clock mit quartus 2 erstellen?
Dieses Quartus, das ist nur eine Entwicklungsumgebung füe Altera-FPGAs. 
Da wird überhaupt kein Clock erzeugt. Den Takt mußt du von aussen ans 
FPGA anlegen.

Um dann einen Takt in VHDL zu beschreiben verwendet man sowas:
if rising_edge(clk) then...
oder
if clk'event and clk = '1' then...

Ich habe den Verdacht, dir fehlt noch der grundlegendste Bezug, was du 
mit einer VHDL-Beschreibung überhaupt machst...  :-/


> Du kannst ja spaßeshalber mal den Logig Analysator mit einbinden
> um zu schauen ob der Block überhaubt das liefert was er soll.
Zuallererst wird das Verhalten des Designs simuliert.
Wenn das klappt, werden passende Constraints gesetzt.
Dann wird mit der statischen Timinganalyse das Zeitverhalten untersucht.
Und zum Schluss kann dann noch der LA herhalten.

von nuhr (Gast)


Lesenswert?

Danke für die Antworten ich meinte natürlich wie ich die clock 
initialisieren kann und nich erstellen. Bei meinem fpga gibt es pins mit 
"dedicated clocks" (steht so im pinplanner bei den entsprechenden pins), 
bedeutet dies, dass dort bereits eine clock anliegt? ich hab ein 
Datenblatt, wo beschrieben is, welche Bauteile (Schalter, led... ) an 
welche pins angeschlossen sind, aber von einer clock steht da nichts.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

nuhr schrieb:
> Bei meinem fpga gibt es pins mit "dedicated clocks"
> bedeutet dies, dass dort bereits eine clock anliegt?
Nein. An diese Pins legst du von aussen einen Takt an.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.