Видеоурок №6. Как работать с HDL-симулятором ISim?

И снова здравствуйте, друзья! В этом, шестом по счету видеоуроке на сайте LOGWAYS.RU мы научимся основам работы в HDL-симуляторе ISim, который входит в пакет программ XILINX ISE Webpack 13.2.

Итак, открывает ярлык на рабочем столе Xilinx ISE Design Suite 13.2. В окне Design в панели View ставим метку напротив строки Simulation.

В окне Hierarchy выбираем элемент antitwit_nofix.vhd.  В окне Processes выполняем предварительную проверку синтаксиса, выбрав команду Behavioral Check Syntax. После успешной проверки синтаксиса запускаем команду Simulate Behavioral Model.

Перед нами – основное окно программы ISim. Здесь в окне Objects нам необходимо указать типы входных воздействий (т.е. какими будут наши входные сигналы). Для этого в контекстном меню входного порта INSIG выбираем команду Force Clock. Если у нас период сигнала начинается с единицы, то в поле Leading Edge Value указываем значение ‘1’, а в поле Trailing Edge Value – ‘0’. Если очередной период начинается с нуля, то наоборот.

В полях Starting at Time Offset и Cancel after Time Offset можно указать величину сдвига в начале  периода сигнала относительно начала процесса симуляции и соответственно конца периода сигнала. Мы указываем нулевые сдвиги.

В поле Duty Cycle (%) указываем скважность сигнала (а скважность, как известно, это отношение длительности импульса к его периоду). Мы укажем величину 5 %.

И наконец, в поле Period указываем период входного сигнала INSIG. Напоминаю, что сигнал INSIG, это входной сигнал с флуктуациями от дребезга контактов. Эти флуктуации нам и нужно устранить. Укажем период сигнала, равным, например, 1 секунде (1s).

Кстати, в программе ISim все временные величины, если не указана размерность, выражены в пикосекундах. Если мы хотим иную размерность, то так указываем: 10s, 56ms, 3.4us, 467ns.

Точно таким же образом указываем параметры входного сигнала для порта N1kHz. В поле Period, соответственно, указываем величину 1ms.

Далее, необходимо указать время симуляции в поле рядом с кнопкой Run (синий треугольник с песочными часами). Укажем время симуляции 10 секунд (10s). После этого запускаем симуляцию, нажав кнопку Run.

После окончания симуляции возникнет необходимость просмотра всей временной области сигналов, для чего нажимаем кнопку Zoom to Full View.

Итак, судя по осциллограммам, мы можем видеть, что наш элемент защиты от дребезга работает идеально. Как только появляется фронт входного воздействия на порте INSIG, на выходе OUTSIG возникает импульс с периодом 256 мс. Величина эта постоянная и никакие последующие флуктации на входе INSIG не в состоянии её изменить.

Так же мы можем наблюдать, как изменяются состояния внутренних сигналов и шин элемента защиты от дребезга.

Таким образом, в этом видеоуроке мы научились основам работы со встроенным HDL-симулятором ISim пакета программ XILINX ISE WebPack 13.2. До скорых встреч!

Об авторе admin

Инженер. Окончил НГТУ по специальности "Радиосвязь, телевидение и радиовещание". С 2003 г. занимаюсь разработкой электронной начинки различных радиотехнических устройств и приборов.
Запись опубликована в рубрике Все статьи, Только у нас! Видеоуроки XILINX ISE WebPack. Добавьте в закладки постоянную ссылку.

8 комментариев на «Видеоурок №6. Как работать с HDL-симулятором ISim?»

  1. Руслан говорит:

    Приветствую. У меня вот какой вопрос. Делаю всё по инструкции – всё получается. Но если требуется после моделирования поменять частоту какого-то сигнала, например. То симуляция заново не запускается. Просто картинка осциллограмм не меняется. Приходится закрывать полностью утилиту и запускать её снова. И по новой вбивать все сигналы. Встречалась ли такая проблема кому-нибудь? И как её решали? Спасибо.

    • admin говорит:

      В версии 13.2 iSim действительно работал именно так, то есть каждый новый процесс симуляции приходилось вводить данные заново каждый раз (но из самой утилиты я не выходил). Сейчас докачаю версию 13.4 и посмотрю, как в ней.

      • Руслан говорит:

        Не, там всё норм оказалось. Просто я менял данные и думал что симулятор начинает с 0 всё строить заново. А оказалось, что он продолжает от последнего ссимулированного момента. В общем я затупил.

  2. Евгений говорит:

    “Скважность, как известно, – это отношение длительности импульса к его периоду”… Поосторожнее!!!! А так респект!

  3. SergeyL говорит:

    Здравствуйте! Уже второй день ищу как сделать симуляцию из файла (даже не знаю как правильно назвать это). Например, устройство имеет несколько входов и выходов. На входы подаются разные сигналы, разной скважности, разной частоты. С тактовым сигналом понятно, он всегда постоянный. А ведь другие сигналы могут меняться в любой момент. Возможно ли записать (описать) входные сигналы в какой либо файл и запустить симуляцию? Что бы вручную не вписывать эти сигналы, с изменениями по несколько микросекунд.
    Или, если можно, дайте ссылку на сайт или книгу.
    Заранее спасибо!

Оставить комментарий