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

 
 
 
Reply to this topicStart new topic
> Test Bench + ModelSim
zorromen
сообщение Nov 28 2008, 13:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Привет всем. Пишу переферию на проц, надо проверить его работу. Написал тест бенч, моделирую на modelSim из Quartus. Кргда была простая логика все моделировалось, но когда добавились елементы типа fifo и счетчиков из мегафункций, то моделсим начал ругаться. Походу ему чемто не нравится defparam. Как это симулировать.

143 defparam the_dcfifo.LPM_NUMWORDS = 2048,
144 the_dcfifo.LPM_SHOWAHEAD = "ON",
145 the_dcfifo.LPM_WIDTH = 32;

# Top level modules:
# restore
#
# vlog -vlog01compat -work work +incdir+C:/altera/restore_verilog {C:/altera/restore_verilog/vga_controller_classic_my.v}
# Model Technology ModelSim ALTERA vlog 6.3g_p1 Compiler 2008.08 Aug 13 2008
# -- Compiling module vga_controller_classic_0
#
# Top level modules:
# vga_controller_classic_0
# vlog -vlog01compat -work work +incdir+C:/altera/restore_verilog {C:/altera/restore_verilog/avalon_master_model.v}
# Model Technology ModelSim ALTERA vlog 6.3g_p1 Compiler 2008.08 Aug 13 2008
# -- Compiling module avalon_master_model
#
# Top level modules:
# avalon_master_model
# vlog -vlog01compat -work work +incdir+C:/altera/restore_verilog {C:/altera/restore_verilog/my_tb.v}
# Model Technology ModelSim ALTERA vlog 6.3g_p1 Compiler 2008.08 Aug 13 2008
# -- Compiling module my_tb
#
# Top level modules:
# my_tb
#
# vsim -t 1ps -L lpm_ver -L altera_ver -L altera_mf_ver -L sgate_ver -L cycloneii_ver -L rtl_work -L work -voptargs="+acc" my_tb
# vsim -L lpm_ver -L altera_ver -L altera_mf_ver -L sgate_ver -L cycloneii_ver -L rtl_work -L work -voptargs=\"+acc\" -t 1ps my_tb
# Loading work.my_tb
# Loading work.avalon_master_model
# Loading work.vga_controller_classic_0
# Loading altera_mf_ver.dcfifo
# Loading altera_mf_ver.dcfifo_mixed_widths
# Loading altera_mf_ver.ALTERA_DEVICE_FAMILIES
# Loading altera_mf_ver.dcfifo_sync
# Loading altera_mf_ver.dcfifo_dffpipe
# Loading altera_mf_ver.dcfifo_async
# Loading altera_mf_ver.dcfifo_fefifo
# Loading altera_mf_ver.dcfifo_low_latency
# Loading altera_mf_ver.ALTERA_MF_HINT_EVALUATION
# Loading lpm_ver.lpm_counter
# Loading lpm_ver.lpm_shiftreg
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(143): Unresolved reference to 'LPM_NUMWORDS' in the_dcfifo.LPM_NUMWORDS.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(144): Unresolved reference to 'LPM_SHOWAHEAD' in the_dcfifo.LPM_SHOWAHEAD.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(145): Unresolved reference to 'LPM_WIDTH' in the_dcfifo.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(195): Unresolved reference to 'LPM_WIDTH' in dma_address_counter.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(218): Unresolved reference to 'LPM_MODULUS' in vga_column_counter.LPM_MODULUS.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(219): Unresolved reference to 'LPM_WIDTH' in vga_column_counter.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(230): Unresolved reference to 'LPM_MODULUS' in vga_row_counter.LPM_MODULUS.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(231): Unresolved reference to 'LPM_WIDTH' in vga_row_counter.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(251): Unresolved reference to 'LPM_WIDTH' in vga_config_counter.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(394): Unresolved reference to 'LPM_WIDTH' in vsync_delay.LPM_WIDTH.
# Region: /my_tb/u1
# ** Error: (vsim-3043) C:/altera/restore_verilog/vga_controller_classic_my.v(414): Unresolved reference to 'LPM_WIDTH' in hsync_delay.LPM_WIDTH.
# Region: /my_tb/u1
# Error loading design
# Error: Error loading design
# Pausing macro execution
# MACRO ./restore_run_msim_rtl_verilog.do PAUSED at line 14
Go to the top of the page
 
+Quote Post
Kompot
сообщение Nov 28 2008, 14:20
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Так симуляция какая? Функциональная или post-route?
При post-route проблем быть не должно, но она очень медленная. Но только ей можно доверять.
Моделсим должен быть правильной версии и библиотеки к нему - все должно быть из одного флакона.
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 28 2008, 14:37
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Квартус 8.0 раньше стоял 8.1, но он глючил, не мог создать компонент в SOPC. ModelSim-Altera 6.3g_p1 (Quartus II 8.1) Web Edition поставил. Может тут что. А на счет post-route, как это сделать.
Вот проект.
Прикрепленные файлы
Прикрепленный файл  restore_verilog.rar ( 353.47 килобайт ) Кол-во скачиваний: 25
 
Go to the top of the page
 
+Quote Post
Kompot
сообщение Nov 28 2008, 15:33
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(zorromen @ Nov 28 2008, 18:37) *
Квартус 8.0 раньше стоял 8.1, но он глючил, не мог создать компонент в SOPC. ModelSim-Altera 6.3g_p1 (Quartus II 8.1) Web Edition поставил. Может тут что. А на счет post-route, как это сделать.
Вот проект.


Ну вот и первый глюк - нельзя симулировать проект из Квартус 8.0 используя ModelSim-Altera 6.3g_p1 (Quartus II 8.1). Нужно перекомпилировать библиотеки моделсимовские под текущий Квартус. Задача не для слабонервных. Я бы Вам посоветовал вернуться на 8.1 - может уже и попатчили. А может то Ваш глюк был.

Я не знаю как это сделать в Вашей среде проектирования. Знаю как для Ксилинкса. Но Вам оно не поможет.
Вы же знаете общий design-flow? Сначала пишете исходник на Верилоге\ВХДЛ. Его уже можно симулировать.
Затем компилируете его компилятором - получаете тот же Верилог\ВХДЛ, но уже вместо счетчиков макросы, примитивы из библиотеки и тд. Это тоже можно симулировать, лучше чем просто исходник, но все равно - не то. Зато довольно быстро симулируется.
И, наконец, самая последняя стадия - фиттинг (place&route называйте как хотите) - процесс размещения примитивов (после компиляции) непосредственно на кристалле. Тут Вам и задержки реальные вылезут и другие прелести. Так вот, после place&route Ваша среда могет сгенерировать опять же Верилог\ВХДЛ, но в нем в качестве компонентов будут реальные примитивы кристалла с реальными задержками (задержки в другом файле, но не суть). Так вот симуляция этого файла как раз и есть post place&route simulation. Она наиболее достоверна. Но именно на ней ModelSim Web Edition ужасно тормозит. Зато такая симуляция всегда работает (ну если с библиотеками\настройками все в порядке).Поищите полную SE - версию
Моделсима - работает быстрее (в сотни раз). Не все знают, но производительность Web Edition намеренно снижают при определенном превышении количества симулируемых вентилей. У полной версии этого нет.
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 1 2008, 04:06
Сообщение #5


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

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



Цитата(Kompot @ Nov 28 2008, 10:33) *
Задача не для слабонервных.


это элементарно

http://electronix.ru/forum/index.php?showt...;p=373294&#


--------------------
Go to the top of the page
 
+Quote Post
zorromen
сообщение Dec 1 2008, 12:31
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Все оказалось, the_dcfifo.LPM_NUMWORDS надо the_dcfifo.lpm_numwords.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 12:22
Рейтинг@Mail.ru


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