VHDL to Verilog

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Duben 19 08:53:27 CEST 2021


Jo jasne, to vim, asi jsem deformovanej C-ckem ale ta syntaxe VHDL mi 
prijde nejak silena, mozna se v tom da najit nejaky system, proc je 
treba dohromady  ELSIF a zvlast END IF atp...
A taky mi casto vrta hlavou, jestli ma smysl se treba snazit navrh nejak 
predoptimalizovat, cili asi si predstavovat jak by se to asi dalo nejlip 
implementovat do logiky, nebo ten software zoptimalizuje uplne cokoli na 
velmi podobny vysledek? Obcas kouknu, jak je logika implementovana a mam 
z toho dojem, ze se to da zapisem dost ovlivnit.
Uvazuju teda v limitech, ze nemam k dizpozici libovolne vykonne FPGA s 
neomezenym rozpoctem a navic jsem omezen vyberem aby sel pouzit SW s 
licenci zdarma ;-)


Dne 19.04.2021 v 8:26 balu napsal(a):
> obidva jazyky su rovnocenne. Treba ale vediet co robit :-)
>
> Kod sa musi pisat podla funkcie, nie podla toho ako by som to 
> zadratoval s integrovanymi obvodmi a to potom zapisal vo VHDL. To je 
> zakladny a najvacsi problem pre zaciatocnikov. Prestat rozmyslat v 
> integrovanych obvodoch a dratoch, to nie je dobre. Inak nie je 
> zvladnutie obidvoch nijak zlozite.
>
> b.
>
>
>
> On 19/04/2021 08:20, Jaroslav Buchta wrote:
>> Dik za info, asi nejrozumnejsi reseni bude nahradit vsude typ bit za 
>> std_logic, to jede dle predpokladu
>> Ale jak zkonvertovat bit na std_logic, na to jsem teda neprisel, 
>> To_Std_Logic nejde std_logic(led1) hodi chybu, ze nelze zkonvertovat 
>> nit na std_logic... No zustanu u verilogu, zrovna, kdyz se mi to 
>> zacalo libit... :D
>>
>> Dne 19.04.2021 v 8:02 balu napsal(a):
>>> bit a std_logic su rozne typy. Pri priradovani je zrejme nutne 
>>> urobit konverziu. Alebo este lepsie, ak nie je explicitny dovod 
>>> pouzit bit, treba pouzivat signaly len rovnakeho typu (napr. 
>>> std_logic a std_logic_vector). Pravdepodobne nieco ako 
>>> To_Std_Logic(), nikdy som to osobne nepouzil.
>>>
>>> Tu je potom uzitocny diagram pre vektory 
>>> https://www.doulos.com/knowhow/vhdl/vhdl-vector-arithmetic-using-numeric_std/
>>>
>>>
>>>
>>> On 19/04/2021 07:33, Jaroslav Buchta wrote:
>>>> Ja uz teda nevim, evidentne nejde priradit bit do std_logic_vector.
>>>> Treba takhle to jde:
>>>>
>>>>     binout(7 downto 1) <= citac(3 downto 0) & 
>>>> conv_std_logic_vector(states'pos(state), 3);
>>>>     IF led1 = '1' THEN
>>>>         binout(0 downto 0) <= "1";
>>>>     ELSE
>>>>         binout(0 downto 0) <= "0";
>>>>     END IF;
>>>>
>>>> nebo takhle:
>>>>     IF led1 = '1' THEN
>>>>         binout(0) <= '1';
>>>>     ELSE
>>>>         binout(0) <= '0';
>>>>     END IF;
>>>> to celkem dava smysl, pole do pole nebo bit na jednu pozici
>>>>
>>>> takhle uz ne:
>>>>     binout(0 downto 0) <= led1;
>>>> Error (10476): VHDL error at nhk_15_buchta_v1.vhd(201): type of 
>>>> identifier "led1" does not agree with its usage as 
>>>> "std_logic_vector" type
>>>> ani
>>>>     binout(0) <= led1;
>>>> Error (10476): VHDL error at nhk_15_buchta_v1.vhd(201): type of 
>>>> identifier "led1" does not agree with its usage as "std_ulogic" type
>>>>
>>>> Tohle by vypadalo nadejne, to by slo asi i do spojeni  ale taky nejde
>>>>     binout(0 downto 0) <= "1" when (led1 = '1') else "0";
>>>> Error (10500): VHDL syntax error at nhk_15_buchta_v1.vhd(201) near 
>>>> text "when";  expecting ";"
>>>>
>>>> Asi je problem v konverzi typu bit na neco kompatibilniho se 
>>>> std_logic? Prece nemuze byt takovy problem pripojit nebo nastavit 
>>>> bit do vektoru...
>>>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list