VHDL - ruzne vysledky pro (predpokladane) stejnou konstrukci (Xilinx)...

Petr Tosovsky PetrTos na altopro.cz
Úterý Únor 1 21:20:56 CET 2011


Myslim, ze jsme se jen nepochopili. Ja prave rikam, ze pro stejne (nebo 
zdanlive stejne) zapisy ty vysletky byvaji jine. Je to dane tim, ze 
syntezatory funguji na principu inferovani predem definovanych casti 
kodu, kterym priradi danou logickou strukturu. Proto se doporucuje 
pouzivat sablony pri psani VHDL, ktere ma byt syntetizovano do realnych 
obvodu. Pro simulace to nema az takovy vyznam (az na optimalizace 
rychlosti, ale to je ekvivalent kodu pro PC).

Petr Tosovsky



On 1.2.2011 20:52, David Belohrad wrote:
> -->
>   Ale ocekavat stejny vysledek syntezatoru pri ruznych zapisech ac
> napriklad funkce ekvivalentnich je pro me spis nemyslitelne.
>
>
> O tomhle bych si dovolil s uspechem pochybovat :) Rozhodne to neplati
> pro matematicke funkce, ktere ackoliv jsou asociativni, vysledny kod je
> jiny. Alespon tohle nam lili do hlavy chlapci z doulos. Mozna bych jeste
> nekde pohledal papiry.
>
> jinak souhlasim s tim 'when others'. tohle opravdu muze generovat jiny
> kod. dalsi moznosti je, ze pokud je typ integer unconstrained,
> vygeneruje se automaticky 32bitove cislo, ktere ma vetsinou za nasledek
> to, ze design 'jede' pomaleji.
>
>
> Kdyz uz jsme tak u tech diskuzi: zajimalo by me, jesli ma nekdo
> zkusenosti s Altera Timing questem. Ja jsem doted pouzival pouze
> klasicky timing designer. Na novy projekt zkousim timequest a nestacim
> se divit. neni mi jasne, jak v SDC zadeklarovat asynchronni casove
> domeny a osetrit spravne to, ze veskere signaly jsou propasovane
> dvojitym flipflopem....
>
> d.
>
>
>
>
>
>     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 <http://www.HW.cz>
>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>         http://list.hw.cz/mailman/listinfo/hw-list
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> 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