⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ofdm_kernel_msim.tcl

📁 OFDM的fpga实现
💻 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 + -