Step 1

  1. 安装好modelsim,并将modelsim的目录添加到系统PATH中。
    (确认方法:在任意位置同时按下Shift+鼠标右键,在出来的菜单里选择“在此处打开命令窗口”,然后输入vsim,如果能启动modelsim,说明设置正确。否则,要在系统的环境变量里添加modelsim目录下的win32或win64文件夹。)
  2. 找到Modelsim安装目录,例如我电脑上目录是D:\modeltech64_10.2c
  3. 找到Lattice Diamond目录,例如我电脑上是D:\Issac
  4. 在modelsim目录下,新建一个文件夹,比如lattice,并进入此文件夹
  5. 新建一个名为sim.tcl的文本文件,输入如下脚本:
set DIAMOND_PATH D:/lscc/diamond/3.7_x64/cae_library/simulation/verilog

vlib work
vlib ec
vlib ecp
vlib ecp2
vlib ecp3
vlib ecp5u
vlib lptm
vlib lptm2
vlib machxo
vlib machxo2
vlib machxo3l
vlib pmi
vlib sc
vlib scm
vlib xp
vlib xp2 vlog -work ec $DIAMOND_PATH/ec/*.v
vlog -work ecp $DIAMOND_PATH/ecp/*.v
vlog -work ecp2 $DIAMOND_PATH/ecp2/*.v
vlog -work ecp3 $DIAMOND_PATH/ecp3/*.v
vlog -work ecp5u $DIAMOND_PATH/ecp5u/*.v
vlog -work lptm $DIAMOND_PATH/lptm/*.v
vlog -work lptm2 $DIAMOND_PATH/lptm2/*.v
vlog -work machxo $DIAMOND_PATH/machxo/*.v
vlog -work machxo2 $DIAMOND_PATH/machxo2/*.v
vlog -work machxo3l $DIAMOND_PATH/machxo3l/*.v
vlog -work pmi $DIAMOND_PATH/pmi/*.v
vlog -work sc $DIAMOND_PATH/sc/*.v
vlog -work scm $DIAMOND_PATH/scm/*.v
vlog -work xp $DIAMOND_PATH/xp/*.v
vlog -work xp2 $DIAMOND_PATH/xp2/*.v

注意:

Diamond目录要与自己电脑上的目录一致。
vlib后面的名称,除了work是额外的,其它与D:/lscc/diamond/3.7_x64/cae_library/simulation/verilog目录下的相对应

然后在lattice文件夹下,Shift+右键,选择“在此处打开命令窗口”,然后输入“vsim -do sim.tcl”

 
命令窗口

如果没有错误,会看到modelsim一直在编译,直到结束。这时候,会在modelsim里看到lattice的库:

 
Diamond库

但是别急,还没有结束。

回到modesim主目录:D:\modeltech64_10.2c,找到modelsim.ini文件,右键->将“只读”属性去掉。

 
Paste_Image.png

然后再打开modelsim.ini,在[Library]这个标签后,添加如下(本人是添加在61行之后):

ec       = $MODEL_TECH/../lattice/ec
ecp = $MODEL_TECH/../lattice/ecp
ecp2 = $MODEL_TECH/../lattice/ecp2
ecp3 = $MODEL_TECH/../lattice/ecp3
ecp5u = $MODEL_TECH/../lattice/ecp5u
lptm = $MODEL_TECH/../lattice/lptm
lptm2 = $MODEL_TECH/../lattice/lptm2
machxo = $MODEL_TECH/../lattice/machxo
machxo2 = $MODEL_TECH/../lattice/machxo2
machxo3l = $MODEL_TECH/../lattice/machxo3l
pmi = $MODEL_TECH/../lattice/pmi
sc = $MODEL_TECH/../lattice/sc
scm = $MODEL_TECH/../lattice/scm
xp = $MODEL_TECH/../lattice/xp
xp2 = $MODEL_TECH/../lattice/xp2

保存modelsim.ini,然后关闭刚才打开的modelsim。从桌面快捷方式,运行modelsim,看到库的情况如下:

 
Paste_Image.png

则说明,lattice库已经添加modelsim中。

补充:

在modelsim.ini里,搜索VoptFlow,将其值从1改为0。这样在仿真的时候,modelsim不会随便优化掉一些有用的信号。

作者:Craftor
链接:https://www.jianshu.com/p/382571b0d137
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

Modelsim添加Lattice库的更多相关文章

  1. 每天进步一点点------Modelsim添加Xilinx仿真库的详细步骤

    Modelsim,可以选型SE和XE两个版本.Modelsim XE可以直接被ISE调用,而Modelsim SE需要手动添加仿真库.但SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的 ...

  2. 向modesim中添加alter库 (或者在每次仿真时将库文件加入仿真文件夹一起编译)

    在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面:    ·Quartus不支持Testbench:    ·调用了megafunction或者lpm库之类的Alte ...

  3. 在VS中添加lib库的三种方法

    注意: 1.每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Prop ...

  4. 在ASP.NET 5中如何方便的添加前端库

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:ASP.NET 5和之前的ASP.NET版本有很大的不同,其中之一就是对前端库的管理不再使用Nuget,而 ...

  5. Auty自动化测试框架第七篇——添加动作库和常量文件库

    [本文出自天外归云的博客园] 添加动作库 因为有很多调用的action类如果一直保存在utils中会让utils库不可维护,所以规定utils库中只放和框架本身有关的工具类,和脚本内容相关的工具类都放 ...

  6. AndroidStudio权威教程 AS添加第三方库的6种方式(Jar module so等)

    点击项目设置按钮 依次选择 App > Dependencies 1. 直接搜索法 依次选择 + > Library dependency 这里的搜索一定要是全名的,不然搜不到哦 下图所表 ...

  7. iOS——Xcode中添加第三方库

    一.只有.h和.a文件的库 1.向项目中添加三方库文件 如果添加的第三方库只有.h和.a文件,直接把文件夹拖进项目下面,这时会弹出下面的提示框,一定要勾选下面选择的选项: 这里要注意,在Add to ...

  8. VS2010中添加lib库引用

    VS2010中添加lib库引用: 1 菜单  项目---> 属性--->配置属性-->链接器---->输入---附加依赖项,  加入库名,如: my_API.lib; 或是在c ...

  9. android stuido 在线安装svn插件,添加版本库无响应

    问题:android stuido 中在线安装svn插件,添加版本库无响应. 原因: 由于android stuido 版本较高,在线安装1.6x 版本的svn,添加版本库一直没有响应,最后卡死.. ...

随机推荐

  1. 转:OGRE 源码编译方法

    编译及运行环境:Windows 7 . vs2010. 编译前的准备: 1.想编译OGRE,最起码要有OGRE的源码吧.可以去官方网站下载最新的源码包,我这里用的是1.7.2版本的,下载下来的文件叫 ...

  2. iOS 获取摄像头当前方向

    在做二维码扫描和直播获取视频流的过程中,可能会用到 AVCaptureDevice AVCaptureVideoPreviewLayer AVCaptureSession 这几个参数,其中 1.定义显 ...

  3. CocoaAsyncSocket UDP发送数据超过包大小限制(Message too long)

    最近在做iOS上,基于UDP传输音视频时遇到的一个问题,这边纪录一下: 由于考虑实时性比较高,所以采用了 CocoaAsyncSocket 的UDP框架来实现,将视频切割成一帧帧的图片发给服务端,不过 ...

  4. nullpointerxception——处理思路

    概念: 1.所谓的指针,就是java中的对象的引用.比如String s;这个s就是指针.2.所谓的空指针,就是指针的内容为空.比如上面的s,如果令它指向null,就是空指针.3.所谓的空指针异常,就 ...

  5. tensorflow动态设置trainable

    tensorflow中定义的tf.Variable时,可以通过trainable属性控制这个变量是否可以被优化器更新.但是,tf.Variable的trainable属性是只读的,我们无法动态更改这个 ...

  6. MATLAB 的数据导入与导出

    1 数据导入: %% 高层次读取数据. importdata 函数是一个高层次的函数 filename = 'weeklydata.txt'; delimiterIn =' '; %delimiter ...

  7. iOS 对 HTTPS 证书链的验证

    HTTPS从最终的数据解析的角度,与HTTP相同.HTTPS将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全:而对于接收端,在SSL/TSL ...

  8. 【MAVEN】搜索错误“Index downloads are disabled,search results may be incomplete”

    出现上面这个错误,需要将Maven的索引下载到本地. 应用后,在Window -> Show View -> Other -> Maven -> Maven Repositor ...

  9. 【MyBatis】解析MyBatis传入参数的问题

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  10. php mysql procedure获取多个结果集

    protected function getRs($id) { $db = new mysqli(C("DB_HOST"), C("DB_USER"), C(& ...