
FPGA/HDL design & timing analysis... управление от сорса
Значи имам едни често срещани проблеми, дето се появяват на всички тулове и на всички HDL-и и нещо не мога да ги реша...
Примерно пускам анализ на дизайна и то ми бълва всевъзможни предупреждения. Полезно нещо.... Само че много от нещата дето то смята за проблем, не са проблем. Да кажем че в FPGA-то съм направил разни периферии и те се ползват от хост процесор чрез контролни регистри. Така регистрите се ползват в два клок домейна. Веднъж в клока на хост шината, веднъж в клока на конкретната периферия.
Обикновено основния клок е на шината, щото там се четат и пишат регистрите. А перифериите само четат (ползват) регистрите.
На теория след като имам два клок домейна, би трябвало да синхронизирам... Да ама аз не искам да хабя ресурси, щото това са конфигурационни регистри и хоста ги сетва само когато периферията е изключена. С две думи регистъра се промяна само от единия клок домейн и то само когато другия клок домейн е мъртъв.
Няма конфликти, но няма и начин как да укажа на тула да не ми дава warning за тия регистри. За съжаление имам десетки регистри, повечето 32-битове и така ми се бълват стотици ненужни warnings. А пък съществените предупреждения (тъй като се стремя да ги изчиствам) обикновено са само няколко.
Просто ужас - търся няколко предупреждения в купа от плява...
Все ми се струва, че би било редно да мога да укажа по някакъв: "за тоя сигнал не давай такива предупреждения", или пък с нещо като #pragma да включвам/изключвам анализа..
Подобни проблеми се получават и при тайминг анализа. Примерно когато имам мултиплексиране или гейтване на клоци... Тръгва да ми квичи, че това можело да направи глитчове, отделно че след тая точка във веригата целия тайминг анализ става кофти. Пак няма лошо... нека да ги хваща такива неща. Естествено ще има проблем, ако почна да си сменям клока в "движение" ще има глитчове и т.н. Но в случая аз си ги знам и перифериите никога не се конфигурират в движение...
Търсих и някаква литература да видя как другите решават тия проблеми на практика. Но не намирам... Навсякъде като се стигне до проблем - хоп теоретично решение. Ми не ща теории....аз знам как е на теория, ама не искам да е така
