• FPGA开发技巧备忘录——大量相同类型IP核仿真时tcl简化写法


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    FPGA开发技巧备忘录——大量相同类型IP核仿真时tcl简化写法


    前言

    之前在《modelsim独立仿真quartus平台工程》一文中说过quartus的ip核每次需要仿真的时候tcl文件中需要加大量的文件,感觉非常的麻烦。这里找到了一种简便一点的方法
    在这里插入图片描述

    通配符*

    有一个工程有二三十个fir滤波器,如果我要仿真的话,按照我之前的搞法,我tcl文件都要写一大堆,而且维护起来超级麻烦。这是我之前一直不喜欢quartus的原因,但最近必须在quartus做开发,也就没得选了。

    为了方便维护tcl文件,在定义每个ip核的时候,名字都定义为如下格式
    fir_xxx1_ip
    fir_xxx2_ip
    fir_xxx3_ip
    xxx表示一些描述信息。

    我先把一个FIR IP需要引述的文件写出来,同时对比不同FIR ip引用的文件,发现用的文件基本都是类似的,只是有些文件的后缀不同而,那么我就可以使用通配符*来执行一些重复的工作。

    话不多说,看下面代码就理解了,通过下面的代码我就把二三十个滤波器都包含进去了。而且后面就算再创建其他FIR IP,我也不用改我的tcl文件

    #fir_ip
    
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/dspba_library_package.vhd                              
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/dspba_library.vhd                                      
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_math_pkg_hpfir.vhd                                
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_lib_pkg_hpfir.vhd                                  
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_avalon_streaming_controller_hpfir.vhd             
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_avalon_streaming_sink_hpfir.vhd                     
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_avalon_streaming_source_hpfir.vhd                 
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/auk_dspip_roundsat_hpfir.vhd                     
    vlog -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/altera_avalon_sc_fifo.v                             
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/fir_*_ip_altera_fir_compiler_ii_191_*_rtl_core.vhd
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/fir_*_ip_altera_fir_compiler_ii_191_*_ast.vhd
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/fir_*_ip_altera_fir_compiler_ii_191_*.vhd  
    vcom -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/altera_fir_compiler_ii_191/sim/fir_*_ip_altera_fir_compiler_ii_191_*_tb.vhd  
    vlog -work work  $RTL_PATH/../../ipcoredir/fir_*_ip/sim/fir_*_ip.v
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    【Apipost】常用预(后)执行脚本方法
    LCR 042.最近的请求次数
    C++设计模式(1)-- 单例模式
    在线商城系统软件、源码、报价_OctShop
    P1347 排序(拓扑 + spfa判断环 or 拓扑[内判断环])
    vue中实现千位分隔符
    Obsidian Publish的开源替代品Perlite
    使用applescript自动化trilium的数学公式环境
    【C++】class的设计与使用(五)静态类成员
    YoLo V3 SPP u模型的讲解与总结
  • 原文地址:https://blog.csdn.net/gzy0506/article/details/125475992