Forum: FPGA, VHDL & Co. [Verilog] jedes 8.Bit aus Register auswählen


von Andreas A. (aauer1) Benutzerseite


Lesenswert?

Hallo

Ich hab hier ein kleines Problem mit Verilog... und zwar möcht ich gerne 
aus einem 2048 Bit Register jedes 8. Bit mit einem OR verknüpfen. Wenn 
man das ausführlich ausschreiben muss, dann wird das eine ziemlich lange 
"Wurscht". Gibts da vielleicht eine Möglichkeit, dass man das irgendwie 
kurz hinschreibt (in Verilog)??
Zusätzlich wär so eine Lösung auch interessant wegen der 
Parametrisierbarkeit.

Danke schonmal,
Andreas

von Schlumpf (Gast)


Lesenswert?

Ich kenn Verilog nicht, aber gibt es da keine Möglichkeit, das über ne 
Schleife zu lösen, in der du den Index deines Vektros immer um 8 
inkrementierst und so "sequentiell" die Bits ODER-verknüpfst?

Was die Synthese daraus macht, müsstest du dir allerdings genauer 
anschauen.

von Falk (Gast)


Lesenswert?

@ Andreas Auer

>Ich hab hier ein kleines Problem mit Verilog... und zwar möcht ich gerne
>aus einem 2048 Bit Register jedes 8. Bit mit einem OR verknüpfen. Wenn

Ich hab keine Ahnung von Verilog, in VHDL wäre es etwa so machbar.

signal long_vector: std_logic_vector[2047 downto 0);

process (long_vector)
  variable tmp: std_logic;
begin
  tmp :=0;
  for i in 0 to 255 loop
    tmp := tmp or long_vector(i*8);
  end loop;
end process;

MfG
Falk

von Schlumpf (Gast)


Lesenswert?

Genau so meinte ich es auch. Ne andere "sinnvolle" Lösung fällt mir auch 
nicht ein.

von Andreas A. (aauer1) Benutzerseite


Lesenswert?

Hi

Danke für die Antworten. Das mit der Schleife hat tatsächlich geklappt. 
Ich hab am Anfang auch an eine Schleife gedacht, jedoch war ich der 
Meinung, dass der Synthesizer das nicht verstehen würde. Aber ich wurde 
eines besseren belehrt. Wunderbar!

Besten Dank,
Andreas

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.