Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запуск симуляции modelsim
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
alexPec
Доброго дня всем!
В моделсиме симулировал только сразу из квартуса -выставлял там всякие опции, писал тестбенч и все было ок.
Надо сейчас просимулировать готовый проект, получился затык. Проект вот такой:AES
В инструкции pdf нашел такое:

Цитата
8.2 Simulation
The component library is ”avs_aes_lib”. All files are expected to be compiled into this library as
all files depend at least on the package avs_aes_lib.avs_aes_pkg.
A Makefile for Mentor Graphics® Modelsim® is given in ./sim/. The default make target simaes
will create the library ”avs_aes_lib” and a ”work” library, compile all files and run a testbench.


Все красиво, вроде как запустил makefile и радуешься...

Только вот что с этим makefile делать так и не понял. С моделсимом сразу скажу глубоко не влазил, так что вопрос может быть (даже скорее всего) примитивный и глупый, тем не менее прошу кто знает просто подсказать как его запустить.

Спасибо.
Victor®
Цитата(alexPec @ Nov 22 2012, 21:30) *
Доброго дня всем!
В моделсиме симулировал только сразу из квартуса -выставлял там всякие опции, писал тестбенч и все было ок.
Надо сейчас просимулировать готовый проект, получился затык. Проект вот такой:AES
В инструкции pdf нашел такое:



Все красиво, вроде как запустил makefile и радуешься...

Только вот что с этим makefile делать так и не понял. С моделсимом сразу скажу глубоко не влазил, так что вопрос может быть (даже скорее всего) примитивный и глупый, тем не менее прошу кто знает просто подсказать как его запустить.

Спасибо.


Если это файл с расширением do -
Запустите в Моделсиме с командной строки do makefile.do
alexPec
Цитата(Victor® @ Nov 22 2012, 22:36) *
Если это файл с расширением do -
Запустите в Моделсиме с командной строки do makefile.do

Да уж всяко пробовал, и vsim, и vcom, и do. На последнее он отвечает так:

Цитата
do makefile
# ** Error: Model Technology ModelSim ALTERA vcom 6.5b Compiler 2009.10 Oct 1 2009
# ** Error: (vcom-7) Failed to open design unit file "=" in read mode.
# No such file or directory. (errno = ENOENT)
# child process exited abnormally
# Error in macro ./makefile line 1
# Model Technology ModelSim ALTERA vcom 6.5b Compiler 2009.10 Oct 1 2009
# ** Error: (vcom-7) Failed to open design unit file "=" in read mode.
# No such file or directory. (errno = ENOENT)
# child process exited abnormally
# while executing
# "exec C:/altera/91/modelsim_ase/win32aloem/VCOM.EXE = /usr/local/bin/vcom"
# ("uplevel" body line 1)
# invoked from within
# "uplevel 1 exec $redir $new [lrange $args 1 end]"
# (procedure "::unknown" line 115)
# invoked from within
# "VCOM = /usr/local/bin/vcom "


Вроде do файл, но без расширения, вот код этого makefile на всякий случай:

Код
VCOM    = /usr/local/bin/vcom
VCOMOPS = -explicit -check_synthesis -2002 -quiet
#MAKEFLAGS = --silent
HDL_DIR = ../rtl/VHDL/


##
# avs_aes hdl files
##
AVS_AES_SRC =$(HDL_DIR)avs_aes_pkg.vhd \
         $(HDL_DIR)mux2.vhd \
          $(HDL_DIR)mux3.vhd \
         $(HDL_DIR)memory_word.vhd \
         $(HDL_DIR)addroundkey.vhd \
         $(HDL_DIR)aes_fsm_encrypt.vhd \
         $(HDL_DIR)aes_fsm_decrypt.vhd \
         $(HDL_DIR)keyexpansionV2.vhd \
         $(HDL_DIR)mixcol.vhd \
         $(HDL_DIR)mixcol_fwd.vhd \
         $(HDL_DIR)mixcol_inv.vhd \
         $(HDL_DIR)sbox.vhd \
         $(HDL_DIR)sboxM4k.vhd \
         $(HDL_DIR)shiftrow.vhd \
         $(HDL_DIR)shiftrow_fwd.vhd \
         $(HDL_DIR)shiftrow_inv.vhd \
         $(HDL_DIR)aes_core.vhd \
         $(HDL_DIR)avs_aes.vhd \

##
# Testbench HDL file
##
TB_SRC_DIR = ../bench/VHDL/
AVS_AES_TB_SRC =  $(TB_SRC_DIR)avs_aes_tb.vhd

#######################################
all: simaes

clean:
    rm -rf .deps
    rm -rf *_lib

.deps:
    mkdir .deps > /dev/null 2>&1

avs_aes_lib:
    vlib avs_aes_lib

work:
    vlib work

libs: avs_aes_lib work

avs_aes: .deps avs_aes_lib .deps/avs_aes
.deps/avs_aes: $(AVS_AES_SRC)  
    @echo --
    @echo building AVS_AES
    @echo --
    $(VCOM) $(VCOMOPS) -work avs_aes_lib  $^
    touch .deps/avs_aes

avs_aes_tb: .deps .deps/avs_aes .deps/avs_aes_tb
.deps/avs_aes_tb: work $(AVS_AES_TB_SRC)
    @echo --
    @echo building AVS_AES Testbench
    @echo --
    $(VCOM) $(VCOMOPS) -work work  $^
    touch .deps/avs_aes_tb



simaes: avs_aes avs_aes_tb
    vsim -title "Avalon AES Slave Test" -do avs_aes_tb.do -lib work avs_aes_tb
Victor®
Непохоже оно на DO
По всейвидимости надо MAKE (это из линуксового мира)
Походу и автор под Линуксом корку делал.
http://gnuwin32.sourceforge.net/packages/make.htm

ЗЫ
Поробуйте запустить
vsim -title "Avalon AES Slave Test" -do avs_aes_tb.do -lib work avs_aes_tb
Но перед этим надо скомпилить библиотеку.

Вообщем - имея исходники можно и самому написать DO.

Вот из старого... но рабочего.
Может сейчас и по-другому бы сделал...
(жирным - название файла)

modelsim.do
Код
vlib work
vcom -93 -explicit -f hydra.files
vsim hydra_top_tb
view signals structure wave

add wave -logic /PCLK
add wave -logic /RST_N
add wave -literal -hex /AD
add wave -literal -hex /CBE
add wave -logic /PAR
add wave -logic /FRAME_N
add wave -logic /IRDY_N
add wave -logic /TRDY_N
add wave -logic /STOP_N
add wave -logic /DEVSEL_N
add wave -logic /REQ_N
add wave -logic /GNT_N
add wave -logic /SERR_N
add wave -logic /PERR_N
add wave -logic /IDSEL
add wave -logic /INTR_A

run -all


hydra.files
Код
../../src/pci_tb_pkg.vhd
../../src/hydra_app.vhd
../../src/hydra_top.vhd
../../src/hydra_top_tb.vhd

../../../pci_coregen/pci_coregen/vhdl/src/xpci/cfg.vhd
../../../pci_coregen/pci_coregen/vhdl/src/xpci/pcim_lc.vhd
../../../pci_coregen/pci_coregen/vhdl/src/xpci/pci_lc_i.vhd

hydra.include
Код
set assert_ignore warning
include hydra.traces
run


hydra.traces
Код
trace /hydra_top_tb/pclk
trace /hydra_top_tb/rst_n
trace /hydra_top_tb/ad
trace /hydra_top_tb/cbe
trace /hydra_top_tb/par
trace /hydra_top_tb/frame_n
trace /hydra_top_tb/irdy_n
trace /hydra_top_tb/trdy_n
trace /hydra_top_tb/stop_n
trace /hydra_top_tb/devsel_n
trace /hydra_top_tb/req_n
trace /hydra_top_tb/gnt_n
trace /hydra_top_tb/serr_n
trace /hydra_top_tb/perr_n
trace /hydra_top_tb/idsel
trace /hydra_top_tb/intr_a
doublekey
Нужно поставить make для Win32 отсюда http://www.mingw.org/, и прописать путь к своему VCOM = /usr/local/bin/vcom в Makefile
Также добавить путь до vlib.exe в PATH и подумать что сделать с touch и RM. Вообще в mingw что-то такое также должно быть.
alexPec
Все понятно, похоже да, линуксовый проект-то. Все красиво и просто в линуксе, а в реальном мире (не хочу никого обидеть) - ручками собирать... Беда в том что я с верилогом работаю, а тут вхдл. Походе проще по доке свой тестбенч написать.

Всем спасибо, направление понял, ускорение получил! sm.gif
Kuzmi4
Вот недавно товарищу слепил (его тема где то в соседней ветке):
Нажмите для просмотра прикрепленного файла
У него там правда ТБ никогда не заканчивается, это не совсем гут, но думаю идея понятна laughing.gif
Костян
Вроде нигде нету доп. определений. Поэтому в GUI Modelsim скомпилить все исходники и нажать старт симуляции
avs_aes_tb .
ВСЕ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.