• 用Modelsim仿真QuartusII综合后网表时库的添加方法(转)


    这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法。说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨。把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博客翻翻,也适合新手看。(这个办法是quartusII综合完后启动Modelsim仿真综合后的网表,要是quartusII里直接启动Modelsim需不需要加库不清楚,我没试过)

    -----------------------------------转载分割线-----------------------------------------------------

    以下内容转载Efronc博客园http://www.cnblogs.com/Efronc/archive/2010/06/25/1765446.html

    Altera仿真库(Verilog)的添加

    1.设置工作路径

        打开modelsim安装目录(我的modelsim安装在d:/modelsim目录下),新建文件夹altera。后面的步骤将在该目录下的primitive、altera_mf、lpm、cycloneii文件夹下存放编译的库。

        启动Modelsim SE仿真工具,在主窗口中选择【file】→【change directory】命令将路径转到altera文件夹。或者在命令行中执行cd D:/modelsim/altera命令。

     用Modelsim仿真QuartusII综合后网表时库的添加方法
     

    2.新建库

        在主窗口中选择【filenewlibrary】命令,新建一个名为primitive的库。


    用Modelsim仿真QuartusII综合后网表时库的添加方法

    3.查找编译资源库所需文件

        Quartus II安装目录下找到quartusedasim_lib文件夹,用于编译资源库的文件有220model.v220model.vhd220pack.vhdaltera_mf.valtera_mf.vhdaltera_mf_components.vhdaltera_primitives.valtera_primitives.vhdaltera_primitives_components.vhdcycloneii_atoms.vcycloneii_atoms.vhdcycloneii_components.vhd文件。方便起见把它们复制到alterasrc文件夹下。

        网上的很多教程都是把这些文件一起编译,这样适用于VerilogVHDL混合仿真,但如果只用一种语言,如Verilog则完全没必要全部编译。这几个文件可分为Verilog组:220model.valtera_mf.valtera_primitives.vcycloneii_atoms.vVHDL组:220model.vhd220pack.vhdaltera_mf.vhdaltera_mf_components.vhdaltera_primitives.vhdaltera_primitives_components.vhdcycloneii_atoms.vhdcycloneii_components.vhd

        编译时根据需要编译一组或全部编译。下面以Verilog组为例,首先编译primitive库。

    4. 编译库
       
     在主菜单中选【compilecompile】命令,对altera_primitives.v进行编译。

        VHDL文件编译有所不同,LPM库的220model.vhd220pack.vhd可以同时编译,MegaFunction库的先编译altera_mf_components.vhd文件,后编译altera_mf.vhd文件,Primitiv库先编译altera_primitive_components.vhd文件,后编译altera_primitive.vhd文件,元件库,如cyclone II库先编译cycloneii_atoms.vhd文件,后编译cycloneii_components.vhd文件,如果是其他系列的元件库则只要把对应的cycloneii改成其他系列的名称即可,如cyclone库则文件改为cyclone_atoms.vhdcyclone_components.vhdcyclone_atoms.v
    用Modelsim仿真QuartusII综合后网表时库的添加方法

    5.重复2.4过程添加剩下的库

        重复2.4过程添加剩下的库。

        还有一种方法是把这些库放到一个库中,即一起编译。根据需要自行选择。

    6. 配制modelsim.ini文件

        这一步是为了添加进系统库,以后不用再重复添加。
       
     将modelsim 根目录下的配制文件modelsim.ini的属性只读改为可写,用记事本或者Ultraedit等其他文本编辑软件打开它。如下所示添加此库(注:第一步的工程必须在modelsim的安装目录下才能使用此相对路径)。注意修改后关闭并改回只读属性。

    primitive = $MODEL_TECH/../altera/primitive
    altera_mf = $MODEL_TECH/../altera/altera_mf
    lpm = $MODEL_TECH/../altera/lpm
    cycloneii = $MODEL_TECH/../altera/cycloneii

    完成后如图:
    用Modelsim仿真QuartusII综合后网表时库的添加方法

    7.添加搜索库

       可以根据自己需要添加某个库,可以不全加进来。如图所示:
    用Modelsim仿真QuartusII综合后网表时库的添加方法

    用Modelsim仿真QuartusII综合后网表时库的添加方法

    8.编译自己的vo文件和testbench文件到work库即可仿真。

    -----------------------------------转载分割线-----------------------------------------------------

    另外,文章中还介绍了Modelsim中调用的四种常用库,转载如下:

    -----------------------------------转载分割线-----------------------------------------------------

    Modelsim仿真中会调用四种常用的仿真库:

    1)元件库,例如cycloneII元件库,在仿真中必用的特定型号的FPGA/CPLD的库。

    2primitive,调用altera的原语(primitive)设计仿真时需要;

    3altera_mf,调用MagaFunction的设计仿真时需要;
    4lpm,调用lpm元件的设计仿真时需要;
       
     第一种元件库是进行时序仿真时不可缺少的资源库。后三种库是调用了相应的Altera设计模块进行设计时才必须用到的库。值得一提的是,在modelsim-alteraAE版本中,后三种库是已经编译好的,在modelsim-altera安装目录下altera文件夹中可以找到。

    -----------------------------------转载分割线-----------------------------------------------------

        记得第7步,要加库。

        我在编译的时候遇到的问题:

    按照上述步骤编译了cycloneii库后,仿真报错,取其中一条:

    ** Error: (vsim-3033) D:/projcet/modelsim_prj/div5/div5.vo(432): Instantiation of 'cycloneii_io' failed. The design unit was not found.

    提示是在work库中找不到cycloneii_io,这就是没加库,按照第7步第一个图把库加上,就可以了。另外,其实把cycloneii_atoms.v直接编译到work可是可以过的,总之,只要让软件找到要的模块,就能过,只是后一种方法看起来比较随便,不够专业,呵呵。

        另外,在新建project时,新手们有没注意到


    用Modelsim仿真QuartusII综合后网表时库的添加方法

        在modelsim工程里头如果没写ini文件,则启动工程的时候modelsim会到安装目录下去找ini文件,如果对工程的库有改动,工程会将ini文件复制到工程目录下,打开后会发现这样一句话

    [Library]

    others = $MODEL_TECH/../modelsim.ini

        按照上面说的做,在每次启动后这些库都在,原因就在这,这种方法适合单机,一次加好库,以后建立工程都可以用。如果只想给这个工程建库,或者modelsim装在服务器上,可以这样做:

    关闭当前工程àchange directory,到你需要加库的工程à新建一个库àCompileà注意库选你新建的库,默认是work库,不要编译到work库里了

        然后再打开工程,库应该就OK~

  • 相关阅读:
    过度和动画
    自定义指令
    使用ref操作DOM和过滤器的使用
    计算属性与侦听器
    MVVM设计思想
    vue template
    Vue初探
    npm 6.14 + Babel 7 使用
    5行代码起一个服务
    vue打包后引入js和css用相对路径引入
  • 原文地址:https://www.cnblogs.com/feitian629/p/3192778.html
Copyright © 2020-2023  润新知