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. java 中文及特殊字符校验

      java 中文及特殊字符校验 CreateTime--2017年8月25日16:54:50 Author:Marydon 一.参考链接 http://blog.csdn.net/imduan/ar ...

  2. django之创建第7-4个项目-配置views文件实现url传值

    即:怎么实现url?name=xiaodeng&age=28等类似传值处理 1.配置views文件 # Create your views here. #coding:utf-8 from d ...

  3. 【组队赛三】-D 优先队列 cf446B

    DZY Loves Modification Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Sub ...

  4. js中的getBoundingClientRect()函数

    在Chrome上,此函数返回结果包含x,y,它们的取值对应于left,top.但是x,y这种表示方式非常不直观(需要先理解x轴和y轴的方向),而left,top则清晰无歧义地表达了元素的位置.正是因此 ...

  5. maven中跳过单元测试

    Maven 提供了跳过单元测试的能力,只需要使用 Surefire 插件的 skip 参数. 在命令行,只要简单的给任何目标添加 maven.test.skip 属性就能跳过测试: $ mvn ins ...

  6. 下载历史版本App

    文/timhbw(简书作者)原文链接:http://www.jianshu.com/p/edfed1b1822c著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 1.软件准备 [必备]C ...

  7. ios 协议分析

    1 基本用途 可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明 只要父类遵守了某个协议,就相当于子类也遵守了 2 格式 协议的编写 @pro ...

  8. 使用 awstats 分析 Nginx 的访问日志(IBM)

    前言 在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问 ...

  9. jquery 父、子页面之间页面元素的获取,方法的调用

    一.jquery 父.子页面之间页面元素的获取,方法的调用: 1. 父页面获取子页面元素: 格式:$("#iframe的ID").contents().find("#if ...

  10. 【Oracle 】tablespace 表空间创建和管理

    1.表空间的概述 1. 表空间是数据库的逻辑组成部分. 2. 从物理上讲,数据库数据存放在数据文件中: 3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成. 2.oracle的 ...