Спасибо Вам большое за поддержку.
Цитата
Так у Вас значит много тактовых частот? (кстати, сколько?) Если это так, то проблема, скорее всего, кроется в работе с разными тактовыми доменам. Но, не видя проекта, тут советы давать сложно. Рекомендовал бы запустить моделирование нетлиста с подключенным SDF (это для верилога, - можно получить верилоговский нетлист, даже если проект на VHDL).
Пусть эти регистры пишутся-читаются в цикле на модели (и должна быть автоматическая проверка). При первой же ошибке должна происходить остановка моделирования.
У меня микросхема A54SX32A, отлаживался на APA300. У 54SX32A три глобальных клока -1 Hardwired Clocks (HCLK) и 2 Routed Clocks (CLKA, CLKB) . HCLK меня в схеме устройства тактируется геренратором на 16МГц. Остальные не изпользуются. HCLK тактирует все схему в поведенческой моделе(цепь "clk"). В моделе я ввел еще два клока clk2 и clk3 - производных от "clk" для тактирования двух таймеров разной разряднойсти. Синтезатор ввел проризводные от двух последних(clk2_0, clk2_1,clk2_3, clk_3_0) , которые Дизайнер упомянул в сообениях о том что у них недостаточно нагрузочных ресурсов. По поводу clk2 и clk3 Дизайнер выдает тоже самое. Моделирования после разводки и имплементации не показало ошибок при записи / чтении, те которые были на практике.
Цитата
Другие версии.
Что-то покорежил Synplify... Очень редко, но бывает. То же самое – проверяется при моделировании нетлиста (при использовании однократных FPGA проверять “на железе” советовать не приходится). Попробуйте:
- отключить FSM Compiler
- задать Fanout = 9999 (при этом Synplify не будет размножать триггеры) _и_ указать Hard-limit to fanout
у меня тоже такое подозрение, поскольку у меня стоит Libero 8.2 и поверх ставил еще 8.4 b Synplify pro.
Изменял значения Fanout в "implementation options" Synplify, в итоге он сообщил о диапаозне от 6 до 24, при границах которого синтезатор добавляет либо удаляет буферы, изменяя при этом основную имплементацию. При увеличении количества буферов сообщения Дизайнера только увеличиваются - увеличивается количество производных от clk2 и clk3(вследствии доюваления триггеров при изменении имплементации). Поэтому получается замнкнутый цикл. Отдельно добавить буферы для clk2 и clk3 с помощью атрибутов(пробовал с syn_maxfan) Synplicity не получается.
Цитата
Важно. Проверьте в репорте Actel Designer, что все тактовые частоты назначены на глобальные цепи! Там в текстовой ‘табличке’ слева указан fanout, потом – тип. Тип должен быть CLK_NET.
С нагрузочной способностью драйверов проблема, мне кажется, скорее всего не связана.
Самый главный совет - первый - промоделировать нетлист. Если проблема есть, то она с большой вероятностью проявится.
Проект на работе, точно сейчас сказать не могу, но в сообщениях говорилось о клоках. Видимо при компиляции он видит что это клоки но без поддержки соответствующих буферов для клоков, так как аппаратные возможности микросхемы не позмоляют, т.е CLKA, CLKB уже используются.
Вот такого типа сообщение-прдупреждение:
Warning: Non-global resource 'inst_2/clk2_0' is being used to drive multiple clock pins. Clock
pins should be driven by global resources if available.