griha-leha 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Не секрет, что во всех(многих) масштабируемых проектах размеры переменных задаются в виде define-ов, например `define size 32 reg [`size-1:0] variable; как можно этот код превратить в reg [31:0] variable; для наглядного представления и проверки. Знаю точно, что в С можно каким-то образом исходный файл преобразовать при помощи компилятора. А как такое сделать в verilog? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба А как такое сделать в verilog? Наверное каждый симулятор имеет парсер. Например ключ -E для Icarus Verilog Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
griha-leha 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 (изменено) · Жалоба Наверное каждый симулятор имеет парсер. Например ключ -E для Icarus Verilog Спсибо, но я хотел бы услышать обо всех возможных вариантах. А если конкретно, то у меня в распоряжении только modelsim (лицензионный), и мне хотелось бы провернуть такое дело именно в нем. Скорее всего у меня хватит прав скомпилить какую-нибудь бесплатную вещицу, но не уверен. Использовал Verilator с опцией -Е, получил, откровенно говоря, не совсем то, что хотел. А именно пример: `define size 32 `define size_range `size-1:0 reg [`size_range] variable; преобразовался в reg [32-1:0] variable; то есть он мне сам предлагает вычислить 32-1, а у меня в макроопределениях много скобочных структур и арифметики, и мне не хочется все самому вычислять Изменено 28 февраля, 2011 пользователем griha-leha Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба мне не хочется все самому вычислять Мне кажется, вы озадачились не очень важным вопросом. Думаю, со временем у вас пропадет желание видеть вместо понятных слов ничего не говорящие числа. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба то есть он мне сам предлагает вычислить 32-1, а у меня в макроопределениях много скобочных структур и арифметики, и мне не хочется все самому вычислятьА придется. Вычислениями занимается не препроцессор, а собственно сам компилятор Verilog'а. И скорее всего у него эти вычисления происходят уже после преобразования .v файла во внутренние структуры, т.ч. он вам не сможет вывести текст с вычисленными константами, даже если вам этого и очень хочется :smile3046: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
griha-leha 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба А придется. Вычислениями занимается не препроцессор, а собственно сам компилятор Verilog'а. И скорее всего у него эти вычисления происходят уже после преобразования .v файла во внутренние структуры, т.ч. он вам не сможет вывести текст с вычисленными константами, даже если вам этого и очень хочется :smile3046: Спасибо всем за ответы. Вопрос считаю исчерпанным Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться