Перейти к содержанию
    

Есть ли фича в ModelSim некомпилировать заранее указанный код?

Привет Всем!

Возник такой вопрос:

Есть Verilog исходник написанный в Quartus. При отладке этого исходника в ModelSim хотелось бы чтобы некоторые участки кода скрывались от ModelSim компилятора. Как это можно сделать.

Вариант окружения вырезаемого кода директивами #ifdef, а затем впоследствии раскомментированием некоего идентификатора для отладки отключать или подключать окруженный код - это занудно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

Привет Всем!

Возник такой вопрос:

Есть Verilog исходник написанный в Quartus. При отладке этого исходника в ModelSim хотелось бы чтобы некоторые участки кода скрывались от ModelSim компилятора. Как это можно сделать.

Вариант окружения вырезаемого кода директивами #ifdef, а затем впоследствии раскомментированием некоего идентификатора для отладки отключать или подключать окруженный код - это занудно...

 

:cranky:

Конечно есть боле веселый способ - секретная директива #miracle ... #endmiracle

Решение о необходимости компиляции части исходников между этими директивами

ModelSim будет принимать угадывая Ваши желания в момент запуска компиляции.

Да и результат этой компиляции тоже будет меняется в зависимости от Вашего настроения что позволит значительно ускорит отладку дизайна.

:biggrin:

 

Удачи! Rob.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ещё способ. Грамотно используя директиву компилиции

// telepate mode_on
...
// telepate mode_off

можно добиться желаемого результата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мои телепаты говорят, что возможно топик стартеру помогут pragmas

в свое время делал тестбенч на SV, когда один код работал только под Aldec, другая только под Mentor.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ещё способ. Грамотно используя директиву компилиции

// telepate mode_on
...
// telepate mode_off

можно добиться желаемого результата.

 

хорэ шутить парни. )

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет Всем!

Возник такой вопрос:

Есть Verilog исходник написанный в Quartus. При отладке этого исходника в ModelSim хотелось бы чтобы некоторые участки кода скрывались от ModelSim компилятора. Как это можно сделать.

Вариант окружения вырезаемого кода директивами #ifdef, а затем впоследствии раскомментированием некоего идентификатора для отладки отключать или подключать окруженный код - это занудно...

 

 

`ifndef MODEL_TECH
    tram pam pam...
`endif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При отладке этого исходника в ModelSim хотелось бы чтобы некоторые участки кода скрывались от ModelSim компилятора. Как это можно сделать.

Я могу предложить

if(Параметр == Задаваемое значение)

generate

 

И далее кусок кода.

Ну и остается в верхнем проекте вручную переписать значение параметра

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

Я могу предложить

if(Параметр == Задаваемое значение)

generate

 

И далее кусок кода.

Ну и остается в верхнем проекте вручную переписать значение параметра

 

Все же такое решение менее универсально чем занудный #ifdef. Поскольку в этом случае даже если параметр не совпадает с требуем значением то код все равно компилируется,

что может генерировать ошибки компиляции если этот код не поддерживается в этом симуляторе.

 

Успехов! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть подобный инструментарий в Quartus, правда работает наоборот

 

// synthesis read_comments_as_HDL on
// эту строку Quartus будет компилировать, а Modelsim примет за комментарий
// synthesis read_comments_as_HDL off

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вариант окружения вырезаемого кода директивами #ifdef, а затем впоследствии раскомментированием некоего идентификатора для отладки отключать или подключать окруженный код - это занудно...

 

Зато, практически, безальтернативно. Специально для этого придуман макрос "MODEL_TECH"

 

отрывок из user guide modelsim-а:

 

ModelSim Verilog implicitly defines the following macro:

`define MODEL_TECH

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...