[an error occurred while processing this directive]
|
сам нарывался на такое в аналогичной задаче. Для начала прогоните синтезированный нетлист на NC-Verilog'e. (а лучше на XL). Уже там может быть глюк синтезатора, не правильно понявшего какую-то Вашу конструкцию. Я сам синтезировал дла FPGA синопсисом, и (версия тогда была 2000.05) не раз нарывался на некорректности. Чаще всего проблемы связаны были (у меня) с асинхронщиной или логическими гонками, образованными гадким синтезатором.
Так вот - если уже синтезированный нетлист не работает, то просто. Ищите по нетлисту (анализируя vcd-файл) где глюк. Если глюка на этом этапе нет, то делаете PAR, и симулируете уже после плейсмента-разводки то, что получилось. Если опять в симуляции глюка нет, а в железе он реально есть, то придется с вероятностью в 98% потрахаться в поисках асинхронщины, сформированной синтезатором. Оставшиеся 2 процента я оставил на недозаданные констрейны и вылезание каких-то таймингов за пределы.
E-mail: info@telesys.ru