-
1. Data: 2018-03-07 23:46:24
Temat: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: g...@s...invalid (Adam Wysocki)
Hej,
Przymierzając się do zabawy z CPLD zacząłem uczyć się VHDLa z książki "The
Designer's Guide To VHDL" (trzecia edycja).
W ćwiczeniach na końcu pierwszego rozdziału każą napisać "entity
declaration and a behavioral architecture body" (polskie tłumaczenie,
które przychodzi mi na myśl, brzmi idiotycznie) prostego multipleksera.
Dwa wejścia ('a' i 'b'), sygnał wybierający ('sel') i wyjście 'z'. Wyjście
ma przyjąć wartość wejścia 'b' dla sel=1 lub 'a' dla sel=0.
Napisałem:
#v+
entity mux2 is
port (a, b, sel: in bit; z: out bit);
end entity mux2;
architecture mux2_behav of mux2 is begin
mux2: process is begin
if sel then
z <= b after 5ns;
else
z <= a after 5ns;
end if;
end process mux2;
end architecture mux2_behav;
#v-
i jest problem, bo teraz chcę to zasymulować.
Debianowe apt-cache znajduje mi m.in.:
fauhdlc - experimental VHDL compiler and interpreter
freehdl - VHDL simulator for Linux
gvhdl (frontend do freehdl) niestety twierdzi, że:
#v+
$ gvhdl ch1-10.vhdl
gvhdl: FreeHDL root path is '/usr'.
gvhdl: executing '/usr/bin/freehdl-v2cc -m ch1-10._main_.cc -L
/usr/share/freehdl/lib -o ch1-10.cc ch1-10.vhdl'
ch1-10.vhdl: in mux2(mux2_behav):
ch1-10.vhdl:7: sel does not match required type BOOLEAN, its type could be:
/usr/share/freehdl/lib/std/standard.vhdl:6: BIT
v2cc: ch1-10.vhdl: 1 errors
gvhdl: Compilation failed!
Died at /usr/bin/gvhdl line 211.
#v-
fauhdlc nie rozpoznaje symbolu 5ns:
#v+
$ fauhdlc ch1-10.vhdl
ERROR> ch1-10.vhdl:8: Symbol '5ns' undefined.
ERROR> ch1-10.vhdl:10: Symbol '5ns' undefined.
#v-
a po wykomentowaniu go twierdzi mniej więcej to samo, co freehdl:
#v+
$ fauhdlc ch1-10.vhdl
ERROR> ch1-10.vhdl:7: Type error for <sel>.
#v-
Rozumiem że nie pasuje im "if sel then", bo sel jest typu 'bit', a nie
boolean.
Stąd pytania:
1. Czy robię coś nie tak? Czy nie można w ten sposób porównywać bitów, lub
można tylko od określonej wersji języka (np. 2008)? Książka twierdzi, że
można, zresztą przykłady z niej wykładają się w analogiczny sposób.
2. Nie wiem, czy te dwa symulatory w ogóle obsługują VHDL-2008. Próbowałem
zrobić komentarz /* ... */, a nie --, bo to podobno cecha VHDL-2008
(poniżej można tylko --). Nie rozpoznały, wyłożyły się na tym. Nie widzę
też nigdzie opcji wyboru wersji języka.
3. Jaki symulator polecacie? Niekoniecznie dla Linuksa, choć to byłoby
duże ułatwienie. Chodzi o naukę, ale ukierunkowaną na to, żeby prędzej czy
później stworzyć model, który da się zsyntetyzować do postaci, którą da
się wrzucić do CPLD.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
2. Data: 2018-03-08 22:05:42
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: Sebastian Biały <h...@p...onet.pl>
On 3/7/2018 11:46 PM, Adam Wysocki wrote:
> [ciach]
Ogolnie nie ma darmowych w takim sensie jak kompilatory software. Te co
są, są żałosne.
Sprawdź jednak taką drogę przez mękę:
https://www.xilinx.com/products/design-tools/isim.ht
ml
Wiele narzędzi do projektowania FPGA zawiera jakieś symulatory więc
szukaj tam, nie spodziewaj się jednak że znajdziesz tam wszystko za
friko. W EDA nawet wersje demo mają imienną licencje.
-
3. Data: 2018-03-08 22:56:21
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: s...@g...com
W dniu środa, 7 marca 2018 23:46:27 UTC+1 użytkownik Adam Wysocki napisał:
[ciach]
1. Wywal te książkę do hasioka.
2. Wejdź na www.xilinx.com i zassaj sobie ISE-14.7. Darmowy Webpack, wersja pod Win i
Linux, jak Ci pasuje. Jest to zintegrowane środowisko projektowe. Masz tam całkiem
sensowny symulator iSim. Można się tam do paru rzeczy przyczepić, ale nie jest źle.
3. W ISE jest też taka podpowiadaczka językowa. Podstawy powinieneś intuicyjnie
załapać. Poza tym w sieci jest od cholery tutoriali.
4. Multiplekser napisz najpierw w wersji syntezowalnej:
entity mux is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
SEL : in STD_LOGIC;
Q : out STD_LOGIC);
end mux;
architecture Behavioral of mux is
begin
process(A,B,SEL)
begin
case SEL is
when '0' => Q<=A;
when '1' => Q<=B;
when others => null;
end case;
end process;
end Behavioral;
Prawda że intuicyjne?
4. Potem napisz sobie testbencha. Jak czegoś nie będziesz wiedział, to pytaj tutaj.
-
4. Data: 2018-03-09 14:41:19
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: s...@g...com
W dniu czwartek, 8 marca 2018 22:05:52 UTC+1 użytkownik Sebastian Biały napisał:
> On 3/7/2018 11:46 PM, Adam Wysocki wrote:
> > [ciach]
>
> Ogolnie nie ma darmowych w takim sensie jak kompilatory software. Te co
> są, są żałosne.
BZDURA !!
>
> Sprawdź jednak taką drogę przez mękę:
>
> https://www.xilinx.com/products/design-tools/isim.ht
ml
Gdzie tu widzisz "mękę"? Minusem istotnie jest brak "analogowego", tzn. graficznego
obrazowanie szyny, ot takiego graficznego, "oscyloskopowego" wyświetlania zawartości
szyny.
>
> Wiele narzędzi do projektowania FPGA zawiera jakieś symulatory więc
> szukaj tam, nie spodziewaj się jednak że znajdziesz tam wszystko za
> friko.
Darmowy Webpack Xilinx'a wystarcza do naprawdę bardzo rozbudowanych projektów. W
darmówce są ograniczenia co do układów z najwyższej półki i "wyuzdanych" IP.
> W EDA nawet wersje demo mają imienną licencje.
Jakie EDA?
-
5. Data: 2018-03-09 23:24:28
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: Sebastian Biały <h...@p...onet.pl>
On 3/9/2018 2:41 PM, s...@g...com wrote:
>> Ogolnie nie ma darmowych w takim sensie jak kompilatory software. Te co
>> są, są żałosne.
> BZDURA !!
Wszystkie kompilatory/symulatory HDL dostępne w srodowiskach "darmowych"
posiadają solidne ograniczenia: od rozmiaru, przez dostepne peryferia po
szybkośc symulacji i zakres stosowanych standardów języka. Nie istnieje
nic darmowego i pełnego (jak clang/gcc w software) co nadąża za
standardem języków HDL, dostajesz bardziej coś na kształt wersji demo.
Prawda tez taka że za standardem SystemVeriloga nikt nie nadąża bo
robiony po pijaku ale przynajmniej komercyjni się starają kiedy świat
free software nie jest w stanie zrobić sensownego parsera
średniowiecznych wersji VHDLa czy Veriloga.
>> Sprawdź jednak taką drogę przez mękę:
>> https://www.xilinx.com/products/design-tools/isim.ht
ml
> Gdzie tu widzisz "mękę"?
Ogromne środowisko pełne śmieci zbędnych do odpalenia prostych
przykładów do nauki. Vivado zaczyna przekraczać zdrowy rozsadek nawet w
standardzie duzych programów na PC i ściga się z najnowszymi grami pod
kątem zjadania zasobów wszelakich.
> Minusem istotnie jest brak "analogowego", tzn. graficznego
obrazowanie szyny, ot takiego graficznego, "oscyloskopowego"
wyświetlania zawartości szyny.
To jest nic w porownaniu z zasobożernością tych środowisk.
> Darmowy Webpack Xilinx'a wystarcza do naprawdę bardzo rozbudowanych
projektów. W darmówce są ograniczenia co do układów z najwyższej półki i
"wyuzdanych" IP.
Co całkowicie usprawiedliwia moje twierdzenie że nie ma darmowych
środowisk w sensie jak sa darmowe kompilatory software. Te ograniczenia
w symulatorach HDL bywają bolesne kiedy jednoczesnie rynek software jest
zawalony setkami kompialtorów nie dośc że bez ograniczen to i często z
otwartym źródłem.
>> W EDA nawet wersje demo mają imienną licencje.
> Jakie EDA?
https://en.wikipedia.org/wiki/Electronic_design_auto
mation
-
6. Data: 2018-03-12 11:58:32
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: g...@s...invalid (Adam Wysocki)
Sebastian Biały <h...@p...onet.pl> wrote:
>> [ciach]
>
> Ogolnie nie ma darmowych w takim sensie jak kompilatory software. Te co
> są, są żałosne.
A ghdl? Ktoś mi polecił, ale nadal nie mogę zmusić go do działania (tzn.
coś odpala, chyba nie to, co chcę, i wisi ze 100% użycia CPU).
https://groups.google.com/forum/#!topic/comp.lang.vh
dl/1Xgjo8CkxmA
> https://www.xilinx.com/products/design-tools/isim.ht
ml
Na pierwszy rzut oka wydaje się kobylaste... ale jak trzeba, to trzeba.
Toole Xilinxa bardzo różnią się od tooli Lattice?
Jeszcze sobie to zgrałem na czytnik (jeszcze nie czytałem):
https://tams.informatik.uni-hamburg.de/vhdl/doc/faq/
FAQ1.html
> Wiele narzędzi do projektowania FPGA zawiera jakieś symulatory więc
> szukaj tam, nie spodziewaj się jednak że znajdziesz tam wszystko za
> friko. W EDA nawet wersje demo mają imienną licencje.
Pytanie ile to "nie-friko". Czy da się kupić układ CPLD i po prostu go
skonfigurować jakimiś darmowymi narzędziami, czy można o tym zapomnieć?
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
7. Data: 2018-03-12 12:00:43
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: g...@s...invalid (Adam Wysocki)
Sebastian Biały <h...@p...onet.pl> wrote:
> Wszystkie kompilatory/symulatory HDL dostępne w srodowiskach "darmowych"
> posiadają solidne ograniczenia: od rozmiaru, przez dostepne peryferia po
> szybkośc symulacji i zakres stosowanych standardów języka. Nie istnieje
> nic darmowego i pełnego (jak clang/gcc w software) co nadąża za
> standardem języków HDL, dostajesz bardziej coś na kształt wersji demo.
Pytanie czy to demo nie wystarczy do amatorskich zastosowań...
> To jest nic w porownaniu z zasobożernością tych środowisk.
A ja miałem cichą nadzieję, że odpalę to na swoim raspi... ghdl nie chciał
się skompilować, bo z jakiegoś powodu ma jakieś wstawki assemblerowe, ale
na x86 poszedł.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
8. Data: 2018-03-12 12:07:49
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: g...@s...invalid (Adam Wysocki)
s...@g...com wrote:
> 1. Wywal te książkę do hasioka.
Ludzie ją polecali... z drugiej strony po pierwszym rozdziale mam
wrażenie, że zbytnio komplikuje proste sprawy. Ale może tak musi.
Jest jakaś książka albo tutorial, które polecasz do nauki zamiast tej?
> 2. Wejdź na www.xilinx.com i zassaj sobie ISE-14.7. Darmowy Webpack,
> wersja pod Win i Linux, jak Ci pasuje. Jest to zintegrowane środowisko
> projektowe. Masz tam całkiem sensowny symulator iSim. Można się tam do
> paru rzeczy przyczepić, ale nie jest źle.
2 GB... straszna kobyła... naprawdę nie ma nic mniejszego?
> 4. Multiplekser napisz najpierw w wersji syntezowalnej:
> entity mux is
> Port ( A : in STD_LOGIC;
> B : in STD_LOGIC;
> SEL : in STD_LOGIC;
> Q : out STD_LOGIC);
> end mux;
>
> architecture Behavioral of mux is
>
> begin
> process(A,B,SEL)
> begin
> case SEL is
> when '0' => Q<=A;
> when '1' => Q<=B;
> when others => null;
> end case;
>
> end process;
>
>
> end Behavioral;
>
> Prawda że intuicyjne?
Tak... trochę inaczej, niż w książce, ale intuicyjne. W sensie rozumiem,
co tu jest napisane, ale chyba jeszcze nie napisałbym tego od podstaw.
> 4. Potem napisz sobie testbencha. Jak czegoś nie będziesz wiedział, to
> pytaj tutaj.
Na razie mam problem z odpaleniem testbencha w ghdlu... mam wrażenie, że
odpala się nie to, co bym chciał. Pisałem o tym na comp.lang.vhdl:
https://groups.google.com/forum/#!topic/comp.lang.vh
dl/1Xgjo8CkxmA
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
9. Data: 2018-03-12 20:21:18
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: Sebastian Biały <h...@p...onet.pl>
On 3/12/2018 12:00 PM, Adam Wysocki wrote:
>> Wszystkie kompilatory/symulatory HDL dostępne w srodowiskach "darmowych"
>> posiadają solidne ograniczenia: od rozmiaru, przez dostepne peryferia po
>> szybkośc symulacji i zakres stosowanych standardów języka. Nie istnieje
>> nic darmowego i pełnego (jak clang/gcc w software) co nadąża za
>> standardem języków HDL, dostajesz bardziej coś na kształt wersji demo.
> Pytanie czy to demo nie wystarczy do amatorskich zastosowań...
Wystarczy, ale jak mówie to droga przez mekę. Szczególnie dla osób
przyzwyczajonych do rynku software gdzie można znaleźć dobre kompilatory
w paczkach z repo i nikt nie robi łaski z jakąs licencją i dziesiątkami
gigabajtów bloatdata.
-
10. Data: 2018-03-12 20:33:34
Temat: Re: [VHDL] Pierwsze kroki, jaki symulator VHDL-2008 dla Linuksa (lub niekoniecznie)?
Od: Sebastian Biały <h...@p...onet.pl>
On 3/12/2018 11:58 AM, Adam Wysocki wrote:
>> Ogolnie nie ma darmowych w takim sensie jak kompilatory software. Te co
>> są, są żałosne.
> A ghdl? Ktoś mi polecił, ale nadal nie mogę zmusić go do działania (tzn.
> coś odpala, chyba nie to, co chcę, i wisi ze 100% użycia CPU).
Nie ma Veriloga, nie ma mixed. Jestes ograniczony do VHDLa i jego starej
wersji. Do hello gate się nadaje, ale jak przyjdzie ochota korzystania z
gotowca to okaże się że ten co chcesz napisali w Verilogu i dupa.
Możesz obejrzec jeszcze Verilator:
https://www.veripool.org/wiki/verilator
i Icarus:
http://iverilog.icarus.com/
Wszystkie one maja się nijak do komercyjnych symulatorów z uwagi na brak
wsparcia nowych konstrukcji i brak cholerne ważnych i poważnych ficzerów
(jak asercje np).
> Toole Xilinxa bardzo różnią się od tooli Lattice?
Prawde mówić nie wiem co miało by być dla Ciebie istotne, ale wiem co
jest istotne ogólnie: wybierasz taki jaki masz hardware docelowy. I tyle
wolnego wyboru.
>> Wiele narzędzi do projektowania FPGA zawiera jakieś symulatory więc
>> szukaj tam, nie spodziewaj się jednak że znajdziesz tam wszystko za
>> friko. W EDA nawet wersje demo mają imienną licencje.
> Pytanie ile to "nie-friko".
Nie ma górnego pulapu dla zastosowan komercyjnych, dodatkowo licencje są
czasowe. Spodziewaj się kilku tyś $ za rok na jedno stanowisko za
porzadny symulator (synteze kupujesz osobno, i jeszcze kilka innych
tooli, razem wychodzi za dużo żeby to sobie wyobrazić).
> Czy da się kupić układ CPLD i po prostu go
> skonfigurować jakimiś darmowymi narzędziami, czy można o tym zapomnieć?
Można. Ale nie spodziewaj się czegokolwiek, budowa wewnatrzna jest
niejawna i każda nowa rodzina, ba, pojedyncza kostka to hacking i
reverse engeneering. Nie masz szans na to aby kiedykowiek jakiś open
source zrobił poprawna syntezę i place&route generując poprawny
bitstream poza pojedynczymi glitchami jak ten:
http://www.clifford.at/icestorm/
Zerknij ogolnie tutaj:
http://www.fpga-site.com/lowcost.shtml