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. 比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket

    2009-06-23 Java Web层框架--JSF.Spring MVC.Stripes.Struts 2.Tapestry和Wicket他们各自的优点和缺点: JSF 优点: ◆Java EE标 ...

  2. 注意Hibernate4在开发当中的一些改变(转)

    注意Hibernate4在开发当中的一些改变 原文:http://hi.baidu.com/austincao/item/fc9907da3d854e44fa576861 Hibernate4的改动较 ...

  3. MATLAB 的unique函数——数组矩阵的唯一值

    MATLAB 的unique函数——求数组矩阵的唯一值 相关MathWork文档见此:unique数组中的唯一值 1.C = unique(A) 返回与 A 中相同的数据,但是不包含重复项.C 已按照 ...

  4. JavaScript Window Navigator 浏览器本身的信息

    window.navigator 对象包含有关访问者浏览器的信息. Window Navigator window.navigator 对象在编写时可不使用 window 这个前缀. Navigato ...

  5. iOS 性能调优

    1.内存空间的划分: 我们知道,一个进程占用的内存空间,包含5种不同的数据区:(1)BSS段:通常是存放未初始化的全局变量:(2)数据段:通常是存放已初始化的全局变量.(3)代码段:通常是存放程序执行 ...

  6. netstat统计的tcp连接数与⁄proc⁄pid⁄fd下socket类型fd数量不一致的分析

    最近,线上一个应用,发现socket数缓慢增长,并且不回收,超过警告线之后,被运维监控自动重启了. 首先到zabbix上观察JVM历史记录,发现JVM-Perm space最近两周没有数据,猜测是程序 ...

  7. IDEA git修改远程仓库地址

    方法有三种: 方法1.修改命令 git remote set-url origin <url> 方法2.先删后加 git remote rm origin git remote add o ...

  8. 【Servlet】Java Serlvet Filter 过滤器

    Filter的设计思想Filter是一种AOP(aspect-oriented programming)的设计思想 : 面向切面编程.用于的请求和响应都会走 使用filter的登录案例我们通过一张图片 ...

  9. HTML CSS边框阴影的实现

    一款用CSS控制背景图像平铺,从而实现区域边框阴影的效果,虽然用到了图片,但可贵之处是本代码不管你需要阴影的区域是多大,它都能自动适应,因些还是很值得收藏一下的,兼容所有的IE浏览器. <!DO ...

  10. 如何调试bash脚本

    Bash 是Linux操作系统的默认Shell脚本.Shell是用来处理操作系统和用户交互的一个程序.Shell的脚本可以帮助用户自动化地和操作系统进行交互.你也可以理解为一种脚本式的编程.即然有编程 ...