-
Data: 2011-05-03 20:49:51
Temat: Re: verilog początki co żle?
Od: Konop <k...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>> Powyżej masz dwa "procesy" w których przypisujesz out_data (a więc
>> pośrednio out) - w pierwszym całe out(3 downto 0) a w drugim samo
>> out(3). Coś takiego się nie syntetyzuje bo kompilator nie wie co zrobić
> Już to poprawiłem. Wychodzi mi że kompilator nie chce przyjąć dwóch
> procesów (always @). Zaremowanie linijek od resetu asynchronicznego lub
> właściwego zlicznia pomaga. Tyle że nigdzie nie przeczytałem że nie może
> być kilku bloków od innych warunków. Poza tym ktoś w książce podał zły
> (niekompilowalny) przykład? Zastanawiam się czy ten web ISE nie ma jakiś
> ograniczeń, lub ja go źle skonfigurowałem.
To nie błąd konfiguracji, to specyfika języka (VHDL ma też podobnie)
Musisz pamiętać o tym, że to jest język OPISU SPRZĘTU... a nie język
programowania... To znaczy, każdy blok always opisuje jakiś sprzęt... i
teraz okazuje się, że sygnał out jest generowany przez dwa różne bloki...
To trochę tak, jakbyś rysował schemat układu... Jeden "blok" (always) to
jakby jedna kartka schematu... co Ci wyjdzie, jak na dwóch różnych
kartkach będziesz miał wyjścia o tej samej nazwie?? Który schemat ma
sterować tym wyjściem?? Raz ten, raz ten, ale skąd układ ma wiedzieć
kiedy który?? Musisz to tak rozrysować/rozpisać, aby miało to sens...
Więc sygnał wyjściowy może być przypisywany TYLKO W JEDNYM BLOKU ALWAYS.
W przeciwnym wypadku dostaniesz błąd...
Natomiast nic nie stoi na przeszkodzie, żeby w jednym bloku przypisywać
wiele sygnałów...
Twój licznik powinien wyglądać mniej więcej tak:
always @(load or reset or posedge cp)
if(reset)
out <= 0;
else if(load)
out <= in;
else if(posedge cp)
out <= out + 1;
To tak z pamięci piszę, więc nie kopiuj tego w prost, ale wyczuj ogólną
ideę.... Aha, oczywiście jest to licznik z asynchronicznym resetem,
asynchronicznym load'em, i reset ma wyższy priorytet niż load, cp ma
najniższy...
--
Pozdrawiam
Konop
--
Pozdrawiam
Konop
Najnowsze wątki z tej grupy
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
Najnowsze wątki
- 2025-04-19 cena za badanie techniczne
- 2025-04-18 60letnie wierze nadawcze zostaną rozebrane!
- 2025-04-18 ",,Kometa" - nowa gwiazda na polu bitwy"
- 2025-04-18 60letnie wierze nadawcze zostaną rozebrane!
- 2025-04-18 Zakroczymiu (woj. mazowieckie) znaleźli marokańską fontannę!
- 2025-04-18 Minister Berek zapowiada "mgławicę legislacyjną"
- 2025-04-18 "Czy w 2025 roku można legalnie palić gałęzie na swojej działce?"
- 2025-04-18 "Sąd nakazał usunięcie chińskiej podróbki z targów"
- 2025-04-18 "Rozpocznie się budowa nowego, budowanego od podstaw zakładu Jelcza" !!!
- 2025-04-18 "Sąd nakazał usunięcie chińskiej podróbki z targów"
- 2025-04-18 "Rozpocznie się budowa nowego, budowanego od podstaw zakładu Jelcza" !!!
- 2025-04-18 Warszawa => International Freight Forwarder <=
- 2025-04-18 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-18 Prezydent "Andrzej Duda skierował ustawę o mowie nienawiści do Trybunału Konstytucyjnego"
- 2025-04-18 "Bayer przestanie produkować Roundup? Ma dość pozwów za glifosat"