Intekus 0 8 августа, 2008 Опубликовано 8 августа, 2008 · Жалоба Среда - Quartus 7.2, язык - V/SV. При разработке небольшой библиотеки возник вопрос - можно ли при передаче в модуль заведомо некорректных значений параметров (например, отрицательного числа тактов задержки) как-то инициировать ошибку (или хотя бы предупреждение) на этапе компиляции - то есть вывести в окно Messages собственный текст? Сейчас используется костылик с generate-if с отрицательными индексами (как ошибка, появление которой маловероятно по другим причинам) - в справке Квартуса более пряморуких решений найти пока не удалось... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 8 августа, 2008 Опубликовано 8 августа, 2008 · Жалоба мы как делаем: юзаем блоки initial: при синтезе он игнорится, а при моделировании параметры всеравно те же в "библиотечные" модули передаются - а внутри initial вылавливайте нарушения хоть через $display хоть через $error. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 9 августа, 2008 Опубликовано 9 августа, 2008 · Жалоба при синтезе он игнорится, а при моделировании параметры всеравно те же в "библиотечные" модули передаются - а внутри initial вылавливайте нарушения хоть через $display хоть через $error. На сколько я понимаю, стояла задача выловить на этапе компиляции, а не симуляции. С нетерпением жду развитие темы, ибо бывает актуально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 9 августа, 2008 Опубликовано 9 августа, 2008 · Жалоба На сколько я понимаю, стояла задача выловить на этапе компиляции, а не симуляции. С нетерпением жду развитие темы, ибо бывает актуально. нескромный вопрос: а вы прошивку сразу, не верифицируя RTL, будете загружать в железо? точно не помню откуда позаимствовали такое решение - но помоему из тех же исходников альтеры, хотя если кто знает решение для синтеза, без необходимости "обхода за 35км" -тоже с интересом послушаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Intekus 0 9 августа, 2008 Опубликовано 9 августа, 2008 · Жалоба нескромный вопрос: а вы прошивку сразу, не верифицируя RTL, будете загружать в железо? Не менее нескромный :05: ответ: освоение ModelSim пока только в планах. Пока симулируем антинаучно, Quartus'ом, а дальше - сразу через SignalTap. без необходимости "обхода за 35км" С обходом (если кому пригодится) выглядит так: //-v--- Инициация ошибки периода компиляции ---------------------------------- //Достаточно передать ненулевое значение. module generate_error #(parameter P = 0) ( input a); localparam i = (P === 0) ? 0 : 1'bx; reg [i:0] tmp; endmodule //---------------------------------------------------------------------------- Пример использования: generate if (STEP <= 1)) begin generate_error #(1) (clk);//Некорректный шаг! end endgenerate Потом по щелчку второго сверху сообщения об ошибке курсор помещается прямиком на комментарий об ошибке (//"Некорректный шаг!"). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 10 августа, 2008 Опубликовано 10 августа, 2008 · Жалоба нескромный вопрос: а вы прошивку сразу, не верифицируя RTL, будете загружать в железо? С учетом того, что я свои модули могу отдавать другим людям для исспользования, то лучше перестраховаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться