Guest
Mon Jun 30, 2014 6:47 pm
Jak krótko i zwięźle zapisać w VHDL'a np. coś takiego?:
Q<=a(0) or a(1) .......... or a(n);
Jakub Rakus
Guest
Mon Jun 30, 2014 6:47 pm
On 30.06.2014 18:47, stchebel@gmail.com wrote:
Quote:
Jak krótko i zwięźle zapisać w VHDL'a np. coś takiego?:
Q<=a(0) or a(1) .......... or a(n);
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?
--
Pozdrawiam
Jakub Rakus
Guest
Mon Jun 30, 2014 9:15 pm
W dniu poniedziałek, 30 czerwca 2014 20:36:48 UTC+2 użytkownik Jakub Rakus napisał:
Quote:
On 30.06.2014 18:47, stchebel@gmail.com wrote:
Jak kr�tko i zwi�le zapisa� w VHDL'a np. co� takiego?:
Q<=a(0) or a(1) .......... or a(n);
Jak chcesz "opisa�" zwi�lej to mo�e p�tla for.
A konkretnie jak miałoby to wyglądać?
Quote:
Ale czy ma to jakieďż˝
znaczenie skoro syntetyzator i tak zrobi z tego kilka wielowej�ciowych
OR�w pod��czonych do jednego ORa?
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..
Jakub Rakus
Guest
Mon Jun 30, 2014 9:39 pm
On 30.06.2014 21:15, stchebel@gmail.com wrote:
Quote:
A konkretnie jak miałoby to wyglądać?
tmp:=0;
for I in 0 to n loop
tmp:=tmp or a(I);
end loop;
Quote:
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..
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.
--
Pozdrawiam
Jakub Rakus
Grzegorz Kurczyk
Guest
Tue Jul 01, 2014 5:22 am
W dniu 30.06.2014 18:47, stchebel@gmail.com pisze:
Quote:
Jak krótko i zwięźle zapisać w VHDL'a np. coś takiego?:
Q<=a(0) or a(1) .......... or a(n);
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
Guest
Thu Jul 03, 2014 10:57 am
W dniu poniedziałek, 30 czerwca 2014 23:39:33 UTC+2 użytkownik Jakub Rakus napisał:
Quote:
On 30.06.2014 21:15, stchebel@gmail.com wrote:
A konkretnie jak mia�oby to wygl�da�?
tmp:=0;
for I in 0 to n loop
tmp:=tmp or a(I);
end loop;
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..
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.
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.
Jakub Rakus
Guest
Thu Jul 03, 2014 6:36 pm
On 03.07.2014 10:57, stchebel@gmail.com wrote:
Quote:
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.
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.
Quote:
O ile nie jest to potrzaskany wzorem C/C++ , Verilog

)
Jak przymierzałem się do układów FPGA to chciałem zacząć od Veriloga,
ale promotor skutecznie zmusił mnie do VHDL ;)
Quote:
P.S. Lubię porządek. Zapewnia to Pascal i VHDL.
Dlatego aplikacje na kompa piszę tylko w Pascalu

C jest fajne na
mikrokontrolery.
--
Pozdrawiam
Jakub Rakus