📄 ofdm_kernel_msim.tcl
字号:
#------------------------------------------------------------------------------
# Directory locations
set quartus_sim_lib "$env(QUARTUS_ROOTDIR)//eda/sim_lib"
set quartus_lib "$env(QUARTUS_ROOTDIR)"
set proj_topdir "C:/DesignExamples/CP/ofdm_cp_insertion/"
#set proj_topdir ".."
set workdir "$proj_topdir/sim"
set srcdir "$proj_topdir/source"
set scriptdir "$proj_topdir/scripts"
set tbdir "$proj_topdir/tb"
set ip_cp_mem "$srcdir/cp_mem"
#------------------------------------------------------------------------------
# Set Simulation timing parameters
set SimTime 160000
set TimeResolution 1ps
set bForceRecompile 1
# Project name
set proj_nam "ofdm_kernel"
# Close existing ModelSim simulation
quit -sim
# Top level
set top_level "ofdm_kernel_Tx_tb"
echo "#--------------------------------------------------------#"
echo "# COMPILING OFDM KERNEL WHOSE TOP LEVEL IS : $top_level"
echo "#--------------------------------------------------------#"
#------------------------------------------------------------------------------
# Open/Create Modelsim Project
#------------------------------------------------------------------------------
if {[file exist [project env]] > 0} {project close}
cd $workdir
if {[file exist "${workdir}//${proj_nam}.mpf"] == 0} {
project new ${workdir}// ${proj_nam}
} else {
project open ${proj_nam}
}
#------------------------------------------------------------------------------
# Create WORK directory IF it does not already exist
#------------------------------------------------------------------------------
# Create default work directory if not present
if {[file exist work] ==0} {
exec vlib work
exec vmap work work}
#------------------------------------------------------------------------------
# Compile ALTERA LIBRARIES
#------------------------------------------------------------------------------
# Compile lpm library
#if { [ vsimAuth ] == "ALTERA" } {} else {
if {([file exist lpm] ==0)||($bForceRecompile>0)} {
exec vlib lpm
vcom -explicit -93 -work lpm $quartus_sim_lib/220pack.vhd
vcom -explicit -93 -work lpm $quartus_sim_lib/220model.vhd
}
exec vmap lpm lpm
#}
# # Compile Megafunction library
#if { [ vsimAuth ] == "ALTERA" } {} else {
if {([file exist altera_mf] ==0)||($bForceRecompile>0)} {
exec vlib altera_mf
vcom -93 -work altera_mf $quartus_sim_lib/altera_mf_components.vhd
vcom -93 -work altera_mf $quartus_sim_lib/altera_mf.vhd
}
exec vmap altera_mf altera_mf
#}
# # Compile Sgate libraries
#if { [ vsimAuth ] == "ALTERA" } {} else {
if {([file exist sgate] ==0) ||($bForceRecompile>0)} {
exec vlib sgate
vcom -93 -work sgate $quartus_sim_lib/sgate_pack.vhd
vcom -93 -work sgate $quartus_sim_lib/sgate.vhd
}
exec vmap sgate sgate
#}
#------------------------------------------------------------------------------
# Compile Source VHDL files
#------------------------------------------------------------------------------
vcom -93 -work work "$srcdir/fifobuffer/fifobuff.vhd"
vcom -93 -work work "$ip_cp_mem/cp_mem.vhd"
vcom -93 -work work "$srcdir/add_cyclic_prefix.vhd"
vcom -93 -work work "$srcdir/fft71/fft.vho"
vcom -93 -work work "$srcdir/ofdm_kernel_Tx.vhd"
vcom -93 -work work "$tbdir/ofdm_kernel_Tx_tb.vhd"
#------------------------------------------------------------------------------
# Copying hex files over to simulation directory
#------------------------------------------------------------------------------
file copy -force $srcdir/fft71/fft_opt_twi1.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twi2.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twi3.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twi4.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twi5.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twr1.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twr2.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twr3.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twr4.hex $workdir
file copy -force $srcdir/fft71/fft_opt_twr5.hex $workdir
#-------------------------------------------------------------------------------
# Copying input data file to simulation directory
#------------------------------------------------------------------------------
file copy -force $srcdir/fft71/real_input.txt $workdir
file copy -force $srcdir/fft71/imag_input.txt $workdir
#-------------------------------------------------------------------------------
# Copying FFT MegaCore C-Model files to simulation directory
#------------------------------------------------------------------------------
file copy -force $srcdir/fft71/fft_model.m $workdir
file copy -force $srcdir/fft71/fft_tb.m $workdir
#------------------------------------------------------------------------------
# LOAD Top level entity for simulation
#------------------------------------------------------------------------------
vsim $top_level
#------------------------------------------------------------------------------
# Load Waveform File
#------------------------------------------------------------------------------
do $scriptdir/ofdm_kernel_Tx_wave.do
# #------------------------------------------------------------------------------
# # Run Simulation
# #------------------------------------------------------------------------------
set StdArithNoWarnings 1
run $SimTime ns;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -