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