Kluwer 0 Posted October 25, 2018 · Report post Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Quote Ответить с цитированием Share this post Link to post Share on other sites
Jackov 0 Posted October 26, 2018 · Report post 17 hours ago, Kluwer said: Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Ну вообще Квартус должен соответствующие ворнинги выдавать. Ещё в настройках можно включить Design Assistant-а. Quote Ответить с цитированием Share this post Link to post Share on other sites
Kluwer 0 Posted October 26, 2018 (edited) · Report post 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)". А вот в обратной ситуации молчит, как партизан. Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. Edited October 26, 2018 by Kluwer Additional info Quote Ответить с цитированием Share this post Link to post Share on other sites
Flip-fl0p 0 Posted October 26, 2018 · Report post 10 минут назад, Kluwer сказал: Да тут в том и проблема. Проект разросся до колоссальных размеров, 3 плисовода разного уровня одновременно копошатся в здоровенной каменюге и даже со всеми оптимизациями и Post-fit -партишинами, малейшее телодвижение - и 1,5 часа пересборки. Есс-но, всё что можно моделируется, делаются упрощённые подпроекты, сигнальная часть вообще вся из DSP builder'а и т.д., но всё равно всё не промоделируешь, да и у Квартуса и Моделсима несколько "разные взгляды" на то, что правильно, а что нет. И вываливается в результатет сборки типично под 2 тысячи варнингов, не всегда и уследишь. Да и смотрю в репорты, да, если шина имеет большую разрядность, чем порт, то он ругается действительно, типа "truncated value with size xx to match size of target (yy)". А вот в обратной ситуации молчит, как партизан. Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. Так что мешает сразу писать код без таких вот ошибок ? Quote Ответить с цитированием Share this post Link to post Share on other sites
RobFPGA 0 Posted October 26, 2018 · Report post Приветствую! 19 hours ago, Kluwer said: Коллеги, не могу найти нужных настроек в Квартусе, что бы он более жёстко проверял правила в hdl-коде наподобие Ксайлинксовского ISE/Вивадо. Ну, например, что бы выкидывал ошибки, если используется не объявленный провод, или если входная разрядность не соотвествует входной (а не забивал молча нулями старшие разряды) и т.д. и т.п. Ругань на не объявленный сигнал при компиляции в verilog можно включить прямо в исходник `default_nettype none module blablabla #( ... ... endmodule `default_nettype wire Удачи! Rob. Quote Ответить с цитированием Share this post Link to post Share on other sites
AnatolySh 0 Posted October 26, 2018 · Report post 5 hours ago, Kluwer said: Да и нам бы очень желательно, что бы уровень такого вот варнинга можно было поднять до еррора. Что бы он вообще прекращал сборку в случае подобного несовпадения. А вы что-нибудь внешнее, например Aldec ALINT, не пробовали пользовать? Quote Ответить с цитированием Share this post Link to post Share on other sites
Jackov 0 Posted October 26, 2018 · Report post 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. Quote Ответить с цитированием Share this post Link to post Share on other sites