-
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) szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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/ ]
Następne wpisy z tego wątku
- 08.03.18 22:05 Sebastian Biały
- 08.03.18 22:56 s...@g...com
- 09.03.18 14:41 s...@g...com
- 09.03.18 23:24 Sebastian Biały
- 12.03.18 11:58 Adam Wysocki
- 12.03.18 12:00 Adam Wysocki
- 12.03.18 12:07 Adam Wysocki
- 12.03.18 20:21 Sebastian Biały
- 12.03.18 20:33 Sebastian Biały
- 12.03.18 20:43 Sebastian Biały
- 12.03.18 20:50 Sebastian Biały
- 13.03.18 16:35 s...@g...com
- 13.03.18 17:02 s...@g...com
- 13.03.18 22:15 Sebastian Biały
- 14.03.18 00:24 s...@g...com
Najnowsze wątki z tej grupy
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław