реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ModelSim Altera и задержки., ModelSim не учитывает задержки
nmurzin
сообщение Jun 6 2011, 14:54
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



Здравствуйте.

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

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

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

Есть ли средство, чтобы ModelSim рисовал относительно реальные картинки ?
Может я что-то не так делаю ?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 6 2011, 15:14
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



sdf подгружаете ?


--------------------
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 6 2011, 15:14
Сообщение #3


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



sdf-файл подключается?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jun 6 2011, 16:05
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Посмотрите вот эту тему http://electronix.ru/forum/index.php?showtopic=80467
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jun 7 2011, 06:17
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



А где мне посмотреть подключился 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.

Может мне еще что-то где-то надо откомпилировать чтобы получить нужные файлы?
Пока не знаю что делать.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 7 2011, 08:11
Сообщение #6


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(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


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jun 7 2011, 08:48
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Прикрепленное изображение


Ставите "галочку" и Квактус сгенерит скрипт, который все сделает как надо.
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jun 7 2011, 10:57
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



При запуске 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 ?
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jun 7 2011, 11:20
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(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
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 7 2011, 11:42
Сообщение #10


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(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 - это что у Вас такое?
ЕМНИП, это должно быть имя компонента, под которым Ваш пост-плейс-энд-раут нетлист подключен в тестбенче.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jun 7 2011, 12:05
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



i1 это у меня метка экземпляра компонента в TestBench Файле

i1 : TOPLevel PORT MAP(...)
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jun 8 2011, 07:31
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



Действительно у меня не получается прицепить 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" Так уже не работает, а по тексту ошибки хрен поймешь чего не так.

Всем спасибо.
Go to the top of the page
 
+Quote Post
Iptash
сообщение Jun 8 2011, 17:20
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



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

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 07:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016