Kluwer 0 25 октября, 2018 Опубликовано 25 октября, 2018 · Жалоба Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 26 октября, 2018 Опубликовано 26 октября, 2018 · Жалоба 17 hours ago, Kluwer said: Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Ну вообще Квартус должен соответствующие ворнинги выдавать. Ещё в настройках можно включить Design Assistant-а. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kluwer 0 26 октября, 2018 Опубликовано 26 октября, 2018 (изменено) · Жалоба 37 minutes ago, Jackov said: Ну вообще Квартус должен соответствующие ворнинги выдавать. Ещё в настройках можно включить Design Assistant-а. Да тут в том и проблема. Проект разросся до колоссальных размеров, 3 плисовода разного уровня одновременно копошатся в здоровенной каменюге и даже со всеми оптимизациями и Post-fit -партишинами, малейшее телодвижение - и 1,5 часа пересборки. Есс-но, всё что можно моделируется, делаются упрощённые подпроекты, сигнальная часть вообще вся из DSP builder'а и т.д., но всё равно всё не промоделируешь, да и у Квартуса и Моделсима несколько "разные взгляды" на то, что правильно, а что нет. И вываливается в результатет сборки типично под 2 тысячи варнингов, не всегда и уследишь. Да и смотрю в репорты, да, если шина имеет большую разрядность, чем порт, то он ругается действительно, типа "truncated value with size xx to match size of target (yy)". А вот в обратной ситуации молчит, как партизан. Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. Изменено 26 октября, 2018 пользователем Kluwer Additional info Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 26 октября, 2018 Опубликовано 26 октября, 2018 · Жалоба 10 минут назад, Kluwer сказал: Да тут в том и проблема. Проект разросся до колоссальных размеров, 3 плисовода разного уровня одновременно копошатся в здоровенной каменюге и даже со всеми оптимизациями и Post-fit -партишинами, малейшее телодвижение - и 1,5 часа пересборки. Есс-но, всё что можно моделируется, делаются упрощённые подпроекты, сигнальная часть вообще вся из DSP builder'а и т.д., но всё равно всё не промоделируешь, да и у Квартуса и Моделсима несколько "разные взгляды" на то, что правильно, а что нет. И вываливается в результатет сборки типично под 2 тысячи варнингов, не всегда и уследишь. Да и смотрю в репорты, да, если шина имеет большую разрядность, чем порт, то он ругается действительно, типа "truncated value with size xx to match size of target (yy)". А вот в обратной ситуации молчит, как партизан. Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. Так что мешает сразу писать код без таких вот ошибок ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 26 октября, 2018 Опубликовано 26 октября, 2018 · Жалоба Приветствую! 19 hours ago, Kluwer said: Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Ругань на не объявленный сигнал при компиляции в verilog можно включить прямо в исходник `default_nettype none module blablabla #( ... ... endmodule `default_nettype wire Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 26 октября, 2018 Опубликовано 26 октября, 2018 · Жалоба 5 hours ago, Kluwer said: Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. А вы что-нибудь внешнее, например Aldec ALINT, не пробовали пользовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 26 октября, 2018 Опубликовано 26 октября, 2018 · Жалоба 7 часов назад, Kluwer сказал: А вот в обратной ситуации молчит, как партизан. Выдаёт ворнинги вида: Warning: Output pins are stuck at VCC or GND Warning (13410): Pin "Out[4]" is stuck at GND Warning (13410): Pin "Out[5]" is stuck at GND Warning (13410): Pin "Out[6]" is stuck at GND Warning (13410): Pin "Out[7]" is stuck at GND или Warning: 1 hierarchies have connectivity warnings - see the Connectivity Checks report folder Во втором случае идём в отчёты Analysis & Synthesis, переходим во вкладку Connectivity Checks и видим табличку со строками наподобие такой Port Type Severity Details ---------------------------------------- A Output Warning Output or bidir port (8 bits) is smaller than the port expression (11 bits) it drives. The 3 most-significant bit(s) in the port expression will be connected to GND. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться