mato, ked si takto vygenerujes iny clock, tak tool ti ho pekne rozpozna ako clock a nie ako generovany logicky signal a bude nim casovat blok logiky ktoru chces (clk na registroch), aj ked sa to zda logicky spravne tak nieje. tie dva clocky ked ich vytvoris, na vystupe registra z generatora synchronne budu, ale tool ich dalej bude brat ako dva rozdielne clocky a bude ich aj rutovat po rozdielne dlhych trasach dalej.
skus si predstavit blok co generuje nejake data casovany system clockom, tie privadzas na nejaky register casovany clockom ktory si si vytvoril,
dlzka rutovania clock signalu a dlzka rutovania dat bude kompletne ina a teda to synchronne nikdy nebude. nastroj ti toto ani neohlasi ako nejaky violation. v podstate co sa deje, prevadzas data z jednej clock domeny do druhej, na to su techniky ako clock domain data crossing, alebo lahsie povedane, treba na to nejaky synchronizer, alebo este lepsie povedane, vyhnut sa tomu ked sa da
nejaky obrazok asi vysvetli lepsie ako tisic slov
http://www.eetimes.com/document.asp?doc_id=1279906
https://asicdigitaldesign.wordpress.com ... chronizer/
alebo mozno pomoze si to lepsie predstavit, blok logiky casovany 100mhz => data kazdych 10ns, druhy blok je casovany 50mhz ocakava data kazdych 20ns, koli rozdielnej dlzke na clock signaloch je rozdiel v synchronizacii povedzme 0.5ns, prvy blok generuje data kazde 2cykly => rozdiel v casovani 1ns... je to vela, je to malo? je to koledovanie o problem => metastability.
btw, skus si takto vytvorit clock a v ise po synteze si pozri design summary/reports, v liste vyber clock report, najdes tam aj tvoj vygenerovany clock, teda uz nie signal brany ako logicky signal co bude pouzity na enable na registroch.
hadam sa to dalo nejak zrozumet a ja som velmi nenaplacal
----
ale pekny tick generator som zabudol
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.