mikrocontroller.net

Forum: FPGA, VHDL & Co. 64 Bit zu 4*16 Bit Schieberegister


Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe hier ein Problem mit einem Shiftregister!? Ich moechte aus 
einem 64 Bit breiten Fifo auslesen und die ersten 16 Bit verwenden, dann 
schieben und die naechsten 16 Bit auslesen usw.. Versucht habe ich es 
wie folgt:
prc1:
...
when READ =>
 EP68_RD <= "00";
 if WORD_OUT = 1 then  -- Reset Value von WORD_OUT ist '1'
  if USB_ADR_I(0) = '0' then
   -- read data from EP6
   EP68_RD   <= "10";
   LOCAL_RD_DATA  <= EP6_DATA_O;
 end if;
...
prc2:
...
 if Q_S = READ then
  if EP68_RD /= "00" then
    EP_RD_DATA <= LOCAL_RD_DATA
  end if;
  if CNT_SHIFT_O /= "11" then
  WORD_OUT <= '0';
  S_USB_DATA <= EP_RD_DATA(63 downto 48);
  EP_RD_DATA <= EP_RD_DATA(47 downto 0) & x"0000"
  CNT_SHIFT_O <= CNT_SHIFT_O + 1;
 else
  CNT_SHIFT_O <= (others => '0');
  WORD_OUT <= '1';
 end if;
...

Kompilieren tut es aber irgendwie meckert Synplify rum:
Pruning Register S_USB_DATA
Pruning Register EP_RD_DATA
Optimizing register S_USB_DATA to a constant 0

Irgendwie vermute ich, dass ich total auf dem Schlauch stehe und es nen 
dummer Fehler ist. Es waere super wenn mir jmd helfen koennte.

Beste Grusse
Stephan

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habs geloest, wie ich vermutet habe nen bloeder Denkfehler.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht doch direkt mit instanziierbaren Fifos unterschiedlicher 
Breite.

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich vergeblich versucht. Nutze einen Cyclone I. Leider ist die 
Option verschiedene Ein/Ausgangsbreiten des Fifo im Megawizzard Plugin 
nicht auswaehlbar.

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.