Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ModelSim Altera и задержки.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
nmurzin
Здравствуйте.

Работаю на Quartus9.1. Для моделирования использую ModelSim Altera.

Проблема в том, что картинки которые рисует ModelSim не учитывают задержки распространения сигнала
внутри ПЛИС (мне так кажется).

Запускаю ModelSim после компиляции проекта прямо из квартуса с помощью меню
Tools-> Run EDA Simulation Tools -> EDA Gate Level Simulation...
Пишу тест бенч.
У меня есть сигнал A на входе ПЛИС и зависящий от него сигнал B на выходе ПЛИС.
Так вот ModelSim рисует картинки так, что сигнал B мгновенно повторяет сигнал A. Чего конечно не может быть.

Есть ли средство, чтобы ModelSim рисовал относительно реальные картинки ?
Может я что-то не так делаю ?
des00
sdf подгружаете ?
Stewart Little
sdf-файл подключается?
bogaev_roman
Посмотрите вот эту тему http://electronix.ru/forum/index.php?showtopic=80467
nmurzin
А где мне посмотреть подключился sdf файл или нет ?

Цитата
Посмотрите вот эту тему http://electronix.ru/forum/index.php?showtopic=80467


Посмотрел я эту тему.
sdf Файла у меня ни где нет, есть sdo.
Является ли sdo заменой sdf ?

В теме сказано что должен быть некий файл .vo
в котором должна быть строка подключающая sdf файл: initial $sdf_annotate("../netgen/par/name.sdf");
Просмотрел папки проекта и рабочую папку моделсим, нет у меня .vo файла.
Есть некий файл .vho но в нем нет ни какой строки типа initial $sdf_annotate.

Может мне еще что-то где-то надо откомпилировать чтобы получить нужные файлы?
Пока не знаю что делать.
Stewart Little
Цитата(nmurzin @ Jun 7 2011, 10:17) *
А где мне посмотреть подключился sdf файл или нет ?

Изучайте матчасть (в смысле, ModelSim) : http://www.altera.com/literature/hb/qts/qts_qii53001.pdf
и http://www.altera.com/literature/hb/qts/qts_qii53025.pdf

Цитата(nmurzin @ Jun 7 2011, 10:17) *
sdf Файла у меня ни где нет, есть sdo.
Является ли sdo заменой sdf ?

Это оно есть.

Цитата(nmurzin @ Jun 7 2011, 10:17) *
В теме сказано что должен быть некий файл .vo
...
Просмотрел папки проекта и рабочую папку моделсим, нет у меня .vo файла.
Есть некий файл .vho но в нем нет ни какой строки типа initial $sdf_annotate.

Пишете на VHDL?

P.S. До кучи еще это : http://electronix.ru/forum/index.php?showt...st&p=934293
gosu-art
Нажмите для просмотра прикрепленного файла

Ставите "галочку" и Квактус сгенерит скрипт, который все сделает как надо.
nmurzin
При запуске ModelSim Altera из квартуса выполняется файлик TOPLevel_run_msim_gate_vhdl.do
который содержит следущее:
transcript on
if {[file exists gate_work]} {
vdel -lib gate_work -all
}
vlib gate_work
vmap work gate_work
vcom -93 -work work {TOPLevel.vho}

Потом я компилирую свой TestBench командой
vcom -reportprogress 300 -work work myWork/toplevel_vhd_tst.vht

Теперь надо создать симуляцию.
Раньше я делал это командой
vsim -voptargs=+acc work.toplevel_vhd_tst
не помню откуда я ее взял. В итоге задержки не учитываются.

Цитата
Изучайте матчасть (в смысле, ModelSim) : http://www.altera.com/literature/hb/qts/qts_qii53001.pdf


Изучаю мат ее часть.
В ней на странице 11 приведен Example 2–5. для запуска Gate-Level Timing Simulation:

vsim +transport_int_delays +transport_path_delays -sdftyp \
<instance path to design> = <path to SDO file> -L work \
-L stratixiii -L altera work.testbench

Помогите мне правильно написать эту команду для моего случая.
ПЛИС - MAXII EPM570T144C5
VHDL Output file - TOPLevel.vho
sdo Файл - TOPLevel_vhd.sdo
TestBench - toplevel_vhd_tst

Пробовал так
vsim +transport_int_delays \
+transport_path_delays \
-sdftyp i1 = TOPLevel_vhd.sdo \
-L work \
-L maxii \
-L altera work.toplevel_vhd_tst

Тогда ModelSim пишет следующее:
# vsim +transport_int_delays +transport_path_delays -L work -L maxii -L altera -sdftyp i1 = work.toplevel_vhd_tst
# ** Error: (vsim-SDF-3196) Failed to find SDF file "i1".
# Error loading design

Пробовал так:
vsim +transport_int_delays +transport_path_delays -L work -L maxii -L altera -sdftyp TOPLevel_vhd.sdo work.toplevel_vhd_tst
Тогда ModelSim пишет следующее:
# Loading instances from TOPLevel_vhd.sdo
# ** Error: (vsim-SDF-3250) TOPLevel_vhd.sdo(1102): Failed to find INSTANCE 'BoardSelected_rg'.
# Длинный список не найденных экземпляров....

Что же ему написать, чтобы он сделал мне Gate-Level Timing Simulation ?
gosu-art
Цитата(nmurzin @ Jun 7 2011, 14:57) *
Потом я компилирую свой TestBench командой
vcom -reportprogress 300 -work work myWork/toplevel_vhd_tst.vht


А вы попробуйте прикрутить тестбенч там же в настройках... Должно получится примерно следующее:
Код
transcript on
if {[file exists gate_work]} {
    vdel -lib gate_work -all
}
vlib gate_work
vmap work gate_work

vlog -vlog01compat -work work +incdir+. {TOP_SW_ISA.vo}

vlog -vlog01compat -work work +incdir+C:/altera/91/quartus/MB2355_SW_HOST_AND_SLAVE/simulation/modelsim {C:/altera/91/quartus/MB2355_SW_HOST_AND_SLAVE/simulation/modelsim/TOP_SW_ISA_TB.v}

vsim -t 1ps +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs="+acc" UUT

add wave *
view structure
view signals
run -all
Stewart Little
Цитата(nmurzin @ Jun 7 2011, 14:57) *
Пробовал так
vsim +transport_int_delays \
+transport_path_delays \
-sdftyp i1 = TOPLevel_vhd.sdo \
-L work \
-L maxii \
-L altera work.toplevel_vhd_tst

i1 - это что у Вас такое?
ЕМНИП, это должно быть имя компонента, под которым Ваш пост-плейс-энд-раут нетлист подключен в тестбенче.
nmurzin
i1 это у меня метка экземпляра компонента в TestBench Файле

i1 : TOPLevel PORT MAP(...)
nmurzin
Действительно у меня не получается прицепить SDO файл присоздании симуляции.

Как только в команде vsim появляется ключ -sdftyp PIN_MAX_vhd.sdo

ModelSim тут же осыпается сообщениями:

# Loading std.standard
# Loading ieee.std_logic_1164(body)
# Loading work.pin_max_tb(arch1)
# Loading std.textio(body)
# Loading ieee.vital_timing(body)
# Loading ieee.vital_primitives(body)
# Loading maxii.maxii_atom_pack(body)
# Loading maxii.maxii_components
# Loading work.pin_max(structure)
# Loading ieee.std_logic_arith(body)
# Loading maxii.maxii_io(behave)
# Loading maxii.maxii_lcell(vital_le_atom)
# Loading maxii.maxii_asynch_lcell(vital_le)
# Loading maxii.maxii_lcell_register(vital_le_reg)
# Loading instances from PIN_MAX_vhd.sdo
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1116): Failed to find INSTANCE 'BoardSelected_rg'.
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1116): Failed to find INSTANCE 'lecomb'.
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1136): Failed to find INSTANCE 'lereg'.
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3267): Failed to find INSTANCE 'Ready_rg'.
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3267): Failed to find INSTANCE 'lecomb'.
# ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3281): Failed to find INSTANCE 'lereg'.

Я лазил в файл PIN_MAX_vhd.sdo
Там действительно есть записи типа
(CELLTYPE "maxii_asynch_lcell")
(INSTANCE BoardSelected_rg.lecomb)
(DELAY .....

Тогда я не понимаю текст ошибки который выдает ModelSim.
Что он не может отыскать ?


УРАААА Зацепил.

Записал так:

vsim -sdftyp /i1=PIN_MAX_vhd.sdo work.pin_max_tb

Вся фишка в том, что кусок текста "/i1=PIN_MAX_vhd.sdo"
нельзя разрывать пробелами.

"/ i1 = PIN_MAX_vhd.sdo" Так уже не работает, а по тексту ошибки хрен поймешь чего не так.

Всем спасибо.
Iptash
Попробовал с "level gate", очень долго симулирует. Делал так. С квартуса запускаю симуляцию запускается модельсим. В модельсиме создаю проект и включаю
свой допустим test.sv и созданный test.vo (в test.vo должно быть прописано initial $sdf_annotate("test_v.sdo");). Компилирую, открываю окно симуляции выделяю
тестовый модуль и в закладке Libraries добовляю библиотеку(и) в моем случае maxii, т.е. я ставлю путь к директории maxii с помощью browse... и ОК.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.