Hallo, heute habe ich endlich mein DE0 Nano von Terasic bekommen. Wenn ich jetzt aber das DE0 Nano Control Panel öffne, kommt folgernder fehler obwohl Quartus schon installliert ist: Please make sure Quartus is installed! Wo ist da der Fehler. Mein zweite Frage geht über das angehängte Bild. Wenn ich in Quartus auf Programmer gehe, kann ich zwei verschiedene "Speicher" auswählen. Eines davon ist der EPCS, aber was ist der andere? Gruß Felix
Peter K. schrieb: > EP4CE22 ist der Cyclone... Stimmt! Steht ja auch drauf, danke. Wenn ich das "Programm" in den Cyclone speichere ist es weg wenn ich die Versorgungsspannung trenne und wenn ich es in den EPCS Speichere bleibt es? Gruß
Felix L. schrieb: > Wenn ich das "Programm" in den Cyclone speichere ist es weg wenn ich die > Versorgungsspannung trenne und wenn ich es in den EPCS Speichere bleibt > es? Ja genau
EP3C25 ist auch Cyclone! Du sollst aber EP4CE22 auswählen, weil genau dieser auf DE0-Nano verbaut ist. MfG
Dimi S. schrieb: > EP3C25 ist auch Cyclone! > > Du sollst aber EP4CE22 auswählen, weil genau dieser > auf DE0-Nano verbaut ist. > > MfG Ja, aber wenn ich den EP4CE22 auswähle, dann ist das Programm weg, nachdem ich die Stromversorgung trenne. Ist es bei Quartus möglich wie bei Xilinx ISE ein UCF-File zu erstellen und dort die Pins zu vergeben? Gruß
Nachtrag: Ich habe es jetzt geschafft, die Pins zuzuweisen. Allerdings ist mir was aufgefallen, dass ich auch bei einem Xilinx CPLD Board gesehen habe. Wenn ich eine einfache UND Verknüpfung machen T1 und T2 = LED0, dann leutet die LED dauerhaft, wenn kein Taster gedrückt ist. Sobald ein Taster gedrückt wird, geht die LED aus.
Die Tasten sind active-low (werden als nach GND geschaltet), siehe S.12 im users manual.
klausr schrieb: > Die Tasten sind active-low (werden als nach GND geschaltet), siehe S.12 > im users manual. Danke, habs jetzt auch gefunden. Noch eine Frage, wie bekomme ich jetzt das Programm auf den nichtflüchtigen Speicher? mfg Felix
Felix L. schrieb: > klausr schrieb: >> Die Tasten sind active-low (werden als nach GND geschaltet), siehe S.12 >> im users manual. > > Danke, habs jetzt auch gefunden. Noch eine Frage, wie bekomme ich jetzt > das Programm auf den nichtflüchtigen Speicher? > > mfg > Felix S.11 in der Anleitung lesen ("Configuring the EPCS16 device "). Googlen nach "serial flash loader" liefert dir AN370 von Altera in der weitere Informationen stehen.
Hallo, ich habe nun die ersten erfolgreichen Beschreibungen gemaacht und diese funtionieren auch. Jetzt habe ich mit folgender Beschreibung ein Problem:
1 | library ieee; |
2 | use ieee.std_logic_1164.all; |
3 | use ieee.std_logic_arith.all; |
4 | use ieee.std_logic_unsigned.all; |
5 | |
6 | entity zaehler is |
7 | port( |
8 | CLK: in std_logic; |
9 | LED: out std_logic_vector(7 downto 0) |
10 | );
|
11 | end zaehler; |
12 | |
13 | architecture verhalten of zaehler is |
14 | signal counter: std_logic_vector(7 downto 0); |
15 | signal teiler: std_logic_vector(22 downto 0); |
16 | begin
|
17 | |
18 | counterprocess: process(CLK) |
19 | begin
|
20 | if rising_edge(CLK) then |
21 | if teiler < "10111110101111000010000000" then |
22 | teiler <= teiler + 1; |
23 | else
|
24 | teiler <= (others => '0'); |
25 | counter <= counter + 1; |
26 | end if; |
27 | end if; |
28 | end process; |
29 | |
30 | LED <= counter; |
31 | |
32 | end verhalten; |
Diese Beschreibung soll einen Zähler darstellen, aber leider leuchtet eine LED nur sehr schwach (denke im 50Mhz Takt). Gruß Felix
Hallo Felix, Kannst du das Design den synthetisieren? Ich bin mir nicht sicher ob folgende Zeile erlaubt ist: counter <= counter + 1; Ich würde hier sowas schreiben: counter <= std_logic_vector(unsigned(counter)+1); Ausserdem finde ich es lesbarer, wenn man für den teiler statt eines std_logic_vectors ein integer oder natural nimmt. Schau dir mal dieses Beispiel an: Beitrag "Blinker problem"
Ja, das Design lässt sich synthetisieren. Pimmel schrieb: > "10111110101111000010000000" hat 26 Zahlen. > Dein teiler nur 23;) 50Mhz entspricht der oben genannten Binarzahl. Gruß
Ja, aber dein teiler erreicht diese 50000000 nie, deswegen schmeist quartus deine if statement raus, weil es ja sowieso nie erfüllt wird. Beachte ,dass du nach erfolgreichen synthese genau Null LE veraendest. Mach aus deinem teiler std_logic_vector(25 downto 0) ;)
wenn ich mich recht entsinne sind da kleine fehler bei der Vektoraddition im std_logic drin: müsste es nicht z.b. so aussehen: Teiler <= Teiler + '1'; außerdem vergleichst du einen Vektor mit 26 elementen mit einem Vektor mit 23 Elementen! bist du dir sicher das das seine richtigkeit hat? edit: da war jemand schneller
Danke! Jetzt klappt es(schneller):
1 | library ieee; |
2 | use ieee.std_logic_1164.all; |
3 | use ieee.std_logic_arith.all; |
4 | use ieee.std_logic_unsigned.all; |
5 | |
6 | entity zaehler is |
7 | port( |
8 | CLK: in std_logic; |
9 | LED: out std_logic_vector(7 downto 0) |
10 | );
|
11 | end zaehler; |
12 | |
13 | architecture verhalten of zaehler is |
14 | signal counter: std_logic_vector(7 downto 0); |
15 | signal teiler: std_logic_vector(23 downto 0); |
16 | begin
|
17 | |
18 | counterprocess: process(CLK) |
19 | begin
|
20 | if rising_edge(CLK) then |
21 | if teiler < "100110001001011010000000" then |
22 | teiler <= teiler + 1; |
23 | else
|
24 | teiler <= (others => '0'); |
25 | counter <= counter + 1; |
26 | end if; |
27 | end if; |
28 | end process; |
29 | |
30 | LED <= counter; |
31 | |
32 | end verhalten; |
Nur die letzte LED wird nicht benutzt. Gruß
Delta schrieb: > Felix L. schrieb: >> Nur die letzte LED wird nicht benutzt. > > Na dann ist ja alles gut... Sie leuchtet schon, aber sehr dunkel. Ich habe leider kein Oszi, aber ich denke mal dass das das 50Mhz sind. mfg
Felix L. schrieb: > Sie leuchtet schon, aber sehr dunkel. Ich habe leider kein Oszi, aber > ich denke mal dass das das 50Mhz sind. Soll die LED denn mit 50Mhz blinken? Ich empfehle dir ausserdem das durchzulesen: Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"
Delta schrieb: > Felix L. schrieb: >> Sie leuchtet schon, aber sehr dunkel. Ich habe leider kein Oszi, aber >> ich denke mal dass das das 50Mhz sind. > Soll die LED denn mit 50Mhz blinken? > > Ich empfehle dir ausserdem das durchzulesen: > Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete" Nein, die LED sollte eigentlich aus sein oder mitzählen, die stelle 2^7.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.