VHDL - ruzne vysledky pro (predpokladane) stejnou konstrukci (Xilinx)...
Petr Tosovsky
PetrTos na altopro.cz
Úterý Únor 1 20:23:20 CET 2011
Jen tak od boku bez hlubsiho studovani odhaduji pricinu na pouziti
std_logic typu v te konverzni funkci. Jina struktura muze byt dana tim
when others, protoze pro syntezu jsou dulezite i X a Z hodnoty daneho
typu. I kdyz v implementaci uvnitr FPGA/CPLD uz nehraji moc roli, casto
ale maji vliv na "rozhodovani" syntezatoru, ktery se je snazi osetrit
pokud to neni explicitne vyreseno programatorem (when others). Konverzni
funkce z knihovny se s tim treba vyporadava jinak. Ale ocekavat stejny
vysledek syntezatoru pri ruznych zapisech ac napriklad funkce
ekvivalentnich je pro me spis nemyslitelne.
Doporucit reseni bez hlubsi znalosti problemu bude tezke ...
Tosa
On 1.2.2011 19:00, Marek Sembol wrote:
> Prosim o pomoc s nasledujicim problemem. Doufam ze fragment meho kodu
> bude stacit:) Mam (v ramci jednoho procesu) konstrukci:
> case state_reg is
> when "0000" =>
> if (trigfiltered_reg(0) = '1') then
> state_next<= regset(0)(nextStateRange'range);
> end if;
> when "0001" =>
> if (trigfiltered_reg(1) = '1') then
> state_next<= regset(1)(nextStateRange'range);
> end if;
> -- a tak dale a tak dale az po
> when "1111" =>
> if (trigfiltered_reg(15) = '1') then
> state_next<= regset(15)(nextStateRange'range);
> end if;
> when others => null;
> end case;
>
> Vysledek je funkcni, pise mi to max. hodiny 240MHz.
> Myslel jsem, ze konstrukce:
> if (trigfiltered_reg(CONV_INTEGER(state_reg)) = '1') then
> state_next<= regset(CONV_INTEGER(state_reg))(nextStateRange'range);
> end if;
> bude shodna. Problem je, ze to nageneruje zcela jinak a vysledkem je
> max. takt 212MHz
>
> A ted moje otazky:
> 1) proc?
> 2) jak to vyresit aniz bych musel rucne psat vsechny ty vetve? (duvod:
> chci tu cast obecneji a pocet vetvi (4/8/16/32) ridit pomoci genericu.
> Dik za kazdou radu,
> Marek
> _______________________________________________
> 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