www.mikrocontroller.net

Forum: FPGA, VHDL & Co. spartan 3e starter kit


Autor: annika (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

kann mir jemand tipps geben wie ich mit dem fpga vom spartan 3e starter 
kit am DAC verschiedene signale ausgebe?????
bitte euch un wirkungsvolle vorschläge für anfänger...

dankee

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand Tips geben wie ich reich werde?
Bitte um wirkungsvolle Ratschläge für Arme.

dankee

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Chris L. (chk1987) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool... wie hast denn die Google - Animation gemacht???

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ja wirklich cool :)

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Thomas Thomas (warhammerth)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe vor einiger Zeit mal ein Modell dafür geschrieben, ist 
vielleicht nicht das beste aber es funktioniert. Einfach die Ports 
verbinden und über DAC_DATA0-3 die gewünschten Werte auf den DAC 
übertragen. Der CLK Teiler ist für 50MHz Systgemclock programmiert. Ggf. 
ändern.

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

Bewertung
0 lesenswert
nicht lesenswert
Thomas Thomas schrieb:
> aber es funktioniert
Glück gehabt. Takte werden für FPGAs nicht so erzeugt:
    if rising_edge(sys_clk) then
       if clk_counter = 10 then
            clk_slow <= not clk_slow;
            :
Wie soll den der clk_slow auf ein Taktnetz kommen?
Ergo wird dieser Takt mit normalen Routingressourcen an die beteiligten 
Komponenten verdrahtet. Das erhöht den Skew und macht das Design eher 
unzuverlässig...

Autor: Freddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lothar,

leider verstehe ich nicht so genau was du in deiner Antwort erklärt 
hast. Ich habe meine Teiler auch immer noch der Struktur aufgebaut. 
Kannst du etwas genauer erleutern was daran falsch ist ? Danke


so habe ich das (bis jetzt?) gemacht
wait until rising_edge(Clock);
  if (ZAEHLER = IRGENDWAS) then
   ZAEHLER <= 0;
   STATUS <= not STATUS  ;
  else
    ZAEHLER <= ZAEHLER + 1;
  end if;


Grüße
Freddy

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@freddy:
Der Teiler an sich ist nicht falsch. Nur Dein Signal muss bei Xilix z.B. 
noch auf einen BUFG gefuehrt werden, damit wieder das globale (lies: 
geeignete) Taktnetzwerk verwendet wird.

Geschickter ist es, enables zu verwenden.

Rick

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

Bewertung
0 lesenswert
nicht lesenswert
Freddy schrieb:
>   wait until rising_edge(Clock);
>   if (ZAEHLER = IRGENDWAS) then
>    ZAEHLER <= 0;
>    STATUS <= not STATUS  ;
>   else
>     ZAEHLER <= ZAEHLER + 1;
>   end if;
Das passt schon, solange da nicht irgendwo steht
rising_edge(STATUS)   oder
falling_edge(STATUS)  oder
STATUS'event
Denn dann hättest du da aus dem Status einen Takt hergezaubert.

Und es ist ganz einfach: in einem schönen einfachen Design steht vor 
einem 'event (und dieses Attribut ist ja auch in rising_edge() und 
falling_edge() verwendet) immer das selbe (Takt-)Signal. Und wenns dann 
komplett übersichtlich werden soll, steht auch immer nur rising_edge() 
oder immmer falling_edge() da, aber keine Mischungen der beiden.

Wenn dein Takt z.B. clock heißt, sieht jeder getaktete Prozess so aus:
   process begin
      wait until rising_edge(clock);
      :
   end process;
Oder meinetwegen auch so:
   process (clk) begin
      if rising_edge(clock) then
         :
      end if;
   end process;

Autor: freddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay Danke.

Autor: annika (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi Thomas Thomas

danke für deine hilfe erstmal..
hab alles eingestellt und das program laufen lassen... aber ich krieg 
kein signal an meinen Ausgängen.
beim kompilieren werden mir keine fehler angeziegt..
woran kann das den liegen??

lg annika

Autor: A. M. (am85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
annika schrieb:
> woran kann das den liegen??

Viele Wege führen nach Rom. Was liefert denn deine Simulation, die du 
sicher durchgeführt hast?

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

Bewertung
0 lesenswert
nicht lesenswert
annika schrieb:
> kein signal an meinen Ausgängen.
An welchen Ausgängen?
An den FPGA-Pins oder am DAC-Ausgang?

Autor: annika (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an den dac-ausgängen krieg ich nicht die gewünschten signale... nur 
rauschen...

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.