FPGA a timing constraints

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Březen 6 14:22:04 CET 2015


Aha, to jsem nejak cekal a napadlo me to, nastavit ta omezeni pro 
zpozdeni - to se dela v .sdc souboru? Nejaky trivialni tutorial nemuzu 
najit.
Ten problem frekvenci hodin by nemel mit vliv na funkci, jen signal 
reset prechazi z jedne casti do druhe a je jedno jestli to bude ted nebo 
v pristim cyklu (tedy do vsech 4 vzorkovacich ale tam uz je to zas 
stabilne synchronizovano spolecne s adresou pro pamet), jinak je mezi 
nimi dvouportova pamet a vycitat se bude v zastavenem stavu - cili 
pobezi vzorkovani co bude plnit pamet cyklicky a trigger spusti odpocet 
kdy se zvoleny pocet cyklu pred naplnenim pameti vzorkovani zastavi. Pak 
se vycte, UART uz mi hezky funguje ;-) a to vycitani prave bezi na 60MHz 
(ale je to fuk, jen jsem si tak spocital ze mi vyjde celkem hezky delic 
pro 115200 Bd)
Dne 6. 3. 2015 v 14:13 Jan Smrz napsal(a):
> odpovedi nize.
>
> On 03/06/2015 01:57 PM, Jaroslav Buchta wrote:
>> Poprosil bych o nasmerovani - dejme tomu, ze mam 8 vstupnich pinu a 
>> zalezi mi na tom, aby na registry prisel signal co nejvic soucasne - 
>> nevic je kazdy pin pripojen na 4 registry, celkove by to melo byt co 
>> nejmin rozhozene.
>> Jde/jakym zpusobem toto nastavit jako omezeni pro syntezu?
> Toto neni ani tak omezeni pro syntezu, ale pro place&route. Neznam 
> nastroj, ktery by umoznoval definovat stejna zpozdeni, vetsinou se 
> nejdrive zjisti prumerne zpozdeni a pak se nastavi min/max rozsah pro 
> kazdy pin. Moc si od toho neslibujte. Moznosti FPGA jsou v tomto 
> ohledu omezene.
>
>> Nasel jsem spoustu tutorialu ale samy hodinovy signal a je to hrozne 
>> slozite... Jaka klicova slova hledat?
>
>> Idea je takova, ze to bude logicky analyzator a vzorkovat se bude 
>> hodinami posunutymi o 90st zatim 100MHz, coz by melo ve vysledku 
>> fungovat jako vzorkovani 400MHz (asi by to slo jeste i cca 2x zrychlit)
>>
>> Jeste druha otazka - mam 4x hodinovy signal 100MHz rozfazovany po 
>> 90st (c0,1,2,3) a signal 60MHz (c4) z tehoz PLL.
>> Signal reset je synchronizovan nejdrive c4 pro zakladni logiku a pak 
>> c3 pro vzorkovani. Pocitam s tim, ze se to bud stihne nebo nestihne a 
>> signal tedy pro to vzorkovani beru jako asynchronni.
>> Je ovsem hlasen warning: Critical Warning (332148): Timing 
>> requirements not met
> 100MHz a 60MHz jsou nesoudelne, takze analyza zjisti, ze existuje 
> takove vzajemne posunuti hodin, kdy signal nestihne z vystupu registru 
> prejit do druheho.
> Mimochodem, to vam u logickeho analyzatoru nevadi, ze u tohoto 
> prechodu vam bude generovat chybne signaly? Zde se pouziva FIFO, ktere 
> se postupne vybira. Budete ale muset nejak snizit rychlost dat 
> (paralelizaci apod), abyste stihal data odebirat.
>
>> V simulaci to funguje dle ocekavani, nenapada me jina moznost jak 
>> synchronizovat signaly mezi obvody s ruznymi hodinami, vzdycky se tam 
>> muze takova situace vyskytnout a ty warningy se ignoruji nebo nejak 
>> osetruji?
>> Kdyz nastavim 100 a 50 MHz tak je vse OK, hodiny maji stale stejny 
>> vyhovujici odstup.
> Viz vyse.
>
>
>
> J.S.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com



Další informace o konferenci Hw-list