Timing Simulation в ModelSim из командной строки
Данный пост про временную симуляцию (TimingSimulation) в ModelSim, но только простейшим способом, из командной строки. Такой способ дает возможность проводить любую симуляцию, и временную и функциональную без особой привязки к конкретной среде разработки проектов на ПЛИС. Прежде чем приступить к такой симуляции необходимо подготовить все необходимые файлы для ModelSim. За основу берем все тот-же формирователь ЛЧМ сигнала. Далее запускаем ModelSim, открываем новый проект, включаем туда сам файл lchm.vhd, затем генерируем из него шаблон тестбенча, корректируем его под свои нужды, добавляем к проекту файл .sdf и из командной строки запускаем симуляцию. Теперь все подробнее:
1. Новый проект в ModelSim
Задать название проекта, название библиотеки и путь к папке с файлами проекта
Перенести в папку с проектом файл lchm.vhd и добавить его к проекту
Открыть файл, перейти в окно редактирования файла и открыть окно создания шаблонов
Создать шаблон тестбенча из lchm.vhdl, предварительно его откомпилировав из меню Compile ModelSim_а
Далее Next и в следующем окне ничего не меняя Ok. Будет создан и открыт в окне редактирования файл Lchm_tb.vhd. Это файл шаблона тестбенча, который необходимо отредактировать и откомпилировать.
Теперь можно провести функциональную симуляцию ( правой кнопкой мышки)
Откроется окно Objects где можно увидеть список сигналов которые затем легко мышкой перетаскиваются в другое окно под заголовком Wave
Запуск симуляции из меню Simulate - Run - RunAll или соответствующая кнопка на панели RunAll
Время симуляции можно наблюдать в левой нижней части интерфейса программы ModelSim. По достижению необходимого времени симуляции нажимаем кнопку Stop в верхней части интерфейса и просматриваем диаграмму. Явно видно, что на диаграмме не наблюдается никаких задержек между сигналами.
2. Теперь можно приступать к этапу временной симуляции. Для этого не хватает файла типа .sdf с временными задержками между сигналами в конкретной ПЛИС на которой предполагается запустить проект и файла типа .vho - так называемый EDA Netlist. Эти файлы можно получить откомпилировав весь проект в среде разработки типа Quartus. Очевидно это утверждение справедливо и для любых других сред - Aldec, Synplify, Xilinx. Что касается Quartus то файлы в проекте формируется так
Перед этим необходимо выполнить все необходимые настройки для генерации нетлиста как для подготовки временной симуляции. После генерации нетлиста во вложенной в папку проекта папке simulate/modelsim можно найти файлы lchm_vhd.sdo и lchm.vho. Эти файлы необходимо перенести в папку с нашим проектом Lchm для ModelSim. Кроме этого в папку проекта нужно перенести скомпилированные библиотеки. Теперь можно приступать к временной симуляции из командной строки, последовательно запуская необходимые команды в окне Transcript ModelSim.
# Переход в директорию проекта
cd D:/MyDesignsXp/ModelsimPrj/Lchm_Modelsim66d
# Присвоение SIM_DIR директории проекта
set SIM_DIR "D:/MyDesignsXp/ModelsimPrj/Lchm_Modelsim66d/"
# Имя библиотеки
vlib work
# Компиляция файлов .vho и тестбенча .vhd
vcom -93 ${SIM_DIR}/Lchm.vho
vcom -93 ${SIM_DIR}/lchm_tb.vhd
# Загрузка проекта
# i1 - имя карты портов в файле lchm_tb.vhd
# lchm_vhd_tst - имя верхнеуровневого модуля в файле lchm_tb.vhd
vsim -sdftyp i1=Lchm_vhd.sdo work.lchm_vhd_tst
# Добавление сигналов
add wave *
# Запуск симуляции
run
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)