fpga_dev 10 August 14 Posted August 14 · Report post Спорить не буду. Если есть возможность использовать только xpm_cdc для обмена данными между доменами, то да, необходимые констрейны будут для вас сгенерированы автоматически и все должно работать само собой. С другой стороны, если использование макросов по какой-либо причине нежелательно (такое бывает) или просто тупо не хватает функционала (что случается) то нет ничего сакрального в том чтобы аккуратно добавить соответствующие котстрейны ручками. В любом случае надо понимать как эти констрейны работают и set_max_delay играет тут важную роль (в числе прочих). PS: в отличии от FIFO, double buffer можно читать и писать в произвольном порядке (в пределах текущей страницы). Иногда это бывает нужно. Напр. процессор заполняет дескриптор и передает его на исполнение. Quote Share this post Link to post Share on other sites More sharing options...
1891ВМ12Я 0 September 22 Posted September 22 · Report post set_clock_groups -asynchronous -group CLKA -group CLKB По некоторой причине, ввиду старости Vivado, не мог пользоваться любимыми xpm_cdc. Нашел такое вот тупейшее, но железобетонное решение set_clock_groups -asynchronous для своих самопальных ресинхронизаторов. Для простейших случаев наверное подойдет. А потом я нашел где то прочитал что это прекрасное решение, вовсе не дилетантское. Правда, надо очень очень внимательно следить, нигде ничего не забыть добавить и удостовериться что нужные те или иные меры CDC применены для всех цепей. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 78 September 23 Posted September 23 · Report post 12 hours ago, 1891ВМ12Я said: Нашел такое вот тупейшее, но железобетонное решение set_clock_groups -asynchronous для своих самопальных ресинхронизаторов. Для простейших случаев наверное подойдет. А потом я нашел где то прочитал что это прекрасное решение, вовсе не дилетантское. Одна маленькая проблема с set_clock_groups -asynchronous - этот констрейн имеет высший приоритет чем другие констрейны. Что может вызывает сложности из за "тихой" отмены задержек заданных например set_max_delay для путей в CDC. IMHO Было бы корректнее наоборот иметь для таких глобальных констрейнов более низкий приоритет чем для более специализированных, но увы - имеем то что есть ... 2 Quote Share this post Link to post Share on other sites More sharing options...