eugenk 0 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба Приветствую многоуважаемых инженеров ! Дико извиняюсь, возможно проблема чайнецкая, но что-то никак не могу справиться сам. Есть несложный проект на Spartan-6 (более точно XC6SLX16), под ISE 14.7 (linux) Никаких PLL, дополнительных клоковых доменов и т.п. Начиналось просто с моргания светодиодами через UART реализованный на плисине. Дальше туда просто докидывался код, отлаживаемый на симуляторе. Так вот. Когда всё только начиналось, я прописал там два временнЫх констрейна, даже особо не вдаваясь в подробности, что оно означает (взял из демки к отладочной плате): NET "clk" LOC = T8 | TNM_NET = sys_clk_pin; TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz; С этим всё прекрасно собиралось и работало. Сегодня, когда я захотел залить в железо отлаженный код, произошло следующее: WARNING:ConstraintSystem:137 - Constraint <TNM_NET = sys_clk_pin;> [src/prog_test.ucf(1)]: No appropriate instances for the TNM constraint are driven by "clk". WARNING:ConstraintSystem:191 - The TNM 'sys_clk_pin', does not directly or indirectly drive any flip-flops, latches and/or RAMS and cannot be actively used by the referencing Period constraint 'TS_sys_clk_pin'. WARNING:ConstraintSystem:197 - The following specification is invalid because the referenced TNM constraint was removed: <TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;> [src/prog_test.ucf(2)] После чего проект был обрезан в ноль. Сначала я подумал, что забыл подключить выходы к ногам. Проверил - нет, не забыл. Но результат неизменен. Поглядел по англоязычным форумам. Проблема имеет место быть и у них. Но вразумительных и информативных ответов нет. Никто не подскажет как с этим бороться ??? Впервые с FPGA ловлю такой прикол ! Правда со Spartan-6 никогда не работал, да и вообще последний раз имел дело с Xilinx лет 20 назад. Заранее благодарен добрым людям ! Евгений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 25 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба Если верить второму варнингу то он говорит что эта цепь никак не связана с триггерами и их клоковыми входами. Такое возможно по нескольким причинам: 1. Цепь в результате оптимизации была полностью выпилена из проекта. 2. Реальная цепь называется как то иначе... Я бы ставил на первый вариант. Цитата После чего проект был обрезан в ноль. Наоборот. Вначале проект обрезан в ноль а потом цепь клока не была найдена и как следствие она не может быть проанализирована. Читайте выше варнинги. Может из вашего проекта ничего не выходит например или ещё какой косяк. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugenk 0 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба 54 minutes ago, MegaVolt said: Если верить второму варнингу то он говорит что эта цепь никак не связана с триггерами и их клоковыми входами. Такое возможно по нескольким причинам: 1. Цепь в результате оптимизации была полностью выпилена из проекта. 2. Реальная цепь называется как то иначе... Да, это тоже смутило. Смотрел. Оно во-первых с триггерами связано. Более того, клок вообще нигде не используется как комбинационный сигнал, и активный фронт везде положительный. Цепь синхронизации у меня всегда называется одинаково - clk. Либо clk_0, clk_1, clk_2 и т.п, если проект многодоменный. Тоже на всякий случай проверил. Всё в порядке. Вобщем непонятка полная. Думаю сейчас скачать более старую версию и попробовать собрать на ней. Возможно баг самого ISE. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба Если из проекта что-то удаляется, то синтезатор пишет об этом. Читайте лог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 15 hours ago, eugenk said: После чего проект был обрезан в ноль. Сначала я подумал, что забыл подключить выходы к ногам. Проверил - нет, не забыл. Но результат неизменен. Поглядел по англоязычным форумам. Проблема имеет место быть и у них. Но вразумительных и информативных ответов нет. Никто не подскажет как с этим бороться ??? Впервые с FPGA ловлю такой прикол ! Правда со Spartan-6 никогда не работал, да и вообще последний раз имел дело с Xilinx лет 20 назад. Заранее благодарен добрым людям ! Евгений. Посмотрите RTL schematic после синтеза. Все, что имеет только входы, и не имеет никаких выходов, он будет оптимизирован в 0. Или выложите проект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 20 hours ago, eugenk said: Сначала я подумал, что забыл подключить выходы к ногам. Проверил - нет, не забыл Этого недостаточно. Ещё должна быть какая-то осознанная логика внутри ПЛИС, подключенная к выводам. Вообще это распространенная проблема, когда проект работает в симуляторе, но оптимизируется во время сборки. В 99% случаев - это ошибка соединения. Где-то что-то не подключено или неправильно подключено. Я бы не стал списывать такую ошибку на проблему ISE14.7. Да, в этой системе есть много проблем, но в целом она вполне работоспособная и уж точно способна собрать проект уровня UART. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugenk 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 5 hours ago, gosha said: Посмотрите RTL schematic после синтеза. Все, что имеет только входы, и не имеет никаких выходов, он будет оптимизирован в 0. Или выложите проект. Тоже решил идти этим путем. Выложить проект это не вариант. Не потому что он какой-то суперсекретный, просто там сотня с лишним килобайт кода на верилоге (это некий 36-битный процессор), кто это будет смотреть ! Пока решил разобраться с латчями. Я получил кучу предупреждений, что из-за неполноты case или if сгерерирован латч. Сейчас написал на яве утилитку, читающую интерфейс модуля и раскидывающую его в ucf по всем ногам корпуса. Попробую синтезировать компоненты по отдельности и посмотреть что с ними происходит. А потом по возможности удалить латчи. А то сейчас из-за этого синтезируется совсем не то что я себе представлял, и я не очень понимаю что именно. 51 minutes ago, attaboy said: Я бы не стал списывать такую ошибку на проблему ISE14.7. Уже проверил. Скачал 13.3. То же самое. Так что проблема в проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться