Operacje na duuu?ych szynach - VHDL

Jak krótko i zwięźle zapisać w VHDL'a np. coś takiego?:

Q<=a(0) or a(1) .......... or a(n);

Reply to
stchebel
Loading thread data ...

Jak chcesz "opisać" zwięźlej to może pętla for. Ale czy ma to jakieś znaczenie skoro syntetyzator i tak zrobi z tego kilka wielowejściowych ORów podłączonych do jednego ORa?

Reply to
Jakub Rakus

A konkretnie jak miałoby to wyglądać?

A jak się będę pier..lił w pisaninę a(0) or a(1) or a(2).... or a(n), to synteza będzie lepsza? Nie żartuj..

Reply to
stchebel

tmp:=0; for I in 0 to n loop tmp:=tmp or a(I); end loop;

Spróbuj chociażby dla 10-bitowego wektora i zobacz sam jakie będą efekty. IMHO to nie ma znaczenia, ale wszystko może zależeć od syntezatora - ostatnio się natknąłem na zupełne odmienne rozumienie tego samego kodu przed Synplify Pro i Lattice Synthesis Engine - ten drugi bez zająknięcia tworzy działającą logikę z warunkami if rising_edge zagnieżdżonymi jeden w drugim.

Reply to
Jakub Rakus

W dniu 30.06.2014 18:47, snipped-for-privacy@gmail.com pisze:

Dawno nie skrobałem w VHDL-u ale w Verilogu można to zapisać tak

reg [n:0] a;

Q = (a != n'b0); // nawias nie jest potrzebny ale jest czytelniej

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Ja robię na XST. Z czystej ciekawości sprawdzę/porównam co syntezator "wypluje". A tak w ogóle, to serdeczne dzięki za podpowiedź. Ja trochę stary pesel mam, przyzwyczajony do malowania drutów, ale widzę jednak w HDL'u DUUŻE plusy.

O ile nie jest to potrzaskany wzorem C/C++ , Verilog :))

P.S. Lubię porządek. Zapewnia to Pascal i VHDL.

Reply to
stchebel

Nie ma za co, ja dopiero niedawno zacząłem zabawę z VHDL i sam jeszcze nie do końca ogarniam niektóre jego zawiłości.

Jak przymierzałem się do układów FPGA to chciałem zacząć od Veriloga, ale promotor skutecznie zmusił mnie do VHDL ;)

Dlatego aplikacje na kompa piszę tylko w Pascalu :) C jest fajne na mikrokontrolery.

Reply to
Jakub Rakus

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.