modelsim仿真中Altera库的用法
添加altera 库





实例:
把建立lpm_mux IP时生成的.v文件lpm_mux_ip.v和编写的测试脚本文件放在一起,在modelsim中建立工程,把下面两个文件添加到工程中

直接compile ->simulation会报错
但在simulation library中添加上自己编译添加的lpm库后,就可以了

附录:
简单的测试脚本:
module lpm_mux_ip_tb;
reg [7:0] dataa ;
reg [7:0] datab ;
reg clock;
wire[15:0] result;
lpm_mux_ip u_lpm_mux_ip(
.dataa(dataa),
.datab(datab),
.clock(clock),
.result(result)
);
initial
begin
#0 dataa = 0;
datab = 0;
clock = 0;
end
always
begin
#10 clock = ~clock;
end
always
begin
#20 dataa = dataa + 1;
datab = datab + 1;
end
endmodule
IP核生成的文件:
// synopsys translate_off
`timescale 1 ps / 1 ps
// synopsys translate_on
module lpm_mux_ip (
clock,
dataa,
datab,
result);
input clock;
input [7:0] dataa;
input [7:0] datab;
output [15:0] result;
wire [15:0] sub_wire0;
wire [15:0] result = sub_wire0[15:0];
lpm_mult lpm_mult_component (
.clock (clock),
.dataa (dataa),
.datab (datab),
.result (sub_wire0),
.aclr (1'b0),
.clken (1'b1),
.sum (1'b0));
defparam
lpm_mult_component.lpm_hint = "MAXIMIZE_SPEED=5",
lpm_mult_component.lpm_pipeline = 1,
lpm_mult_component.lpm_representation = "UNSIGNED",
lpm_mult_component.lpm_type = "LPM_MULT",
lpm_mult_component.lpm_widtha = 8,
lpm_mult_component.lpm_widthb = 8,
lpm_mult_component.lpm_widthp = 16;
endmodule
modelsim仿真中Altera库的用法的更多相关文章
- modelsim仿真中遇到的问题
1.modelsim经常遇到数据位宽不相等的情况,这样往往仿真时是不会出数据的,如果用parameter定义了数据的位宽, 要注意实际的位宽数大于parameter定义参数能表示的位宽时,如: par ...
- modelsim仿真中 do文件的写法技巧
网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常用的简单语法,方便大家查看.其实本人也刚接触DO文件没多久,有纰漏很正常,欢迎指正批评,互相学习.PS:写得有点乱 还有一个值得注意 ...
- Python中datetime库的用法
datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...
- 用Modelsim仿真QuartusII综合后网表时库的添加方法(转)
这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法.说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨.把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博 ...
- 向modesim中添加alter库 (或者在每次仿真时将库文件加入仿真文件夹一起编译)
在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面: ·Quartus不支持Testbench: ·调用了megafunction或者lpm库之类的Alte ...
- Modelsimse10.4如何编译altera库文件以支持IP仿真
前言 se版本默认没有ip之类的库支持,如果你用到了pll之类的ip,仿真前就得把库编译好. 版本:Modelsim10.4se 流程 readme:实现有版本两个,任选.理论都是一样的,把v文件编译 ...
- 每天进步一点点------ModelSim仿真Altera的ROM
1. 在QuartusII中生成rom的初始化文件,可以是hex,也可以是mif.MIF文件的格式很简单明了,所以我一向都是用MIF. 2.下载convert_hex2ver.dll文件,conver ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- 【黑金原创教程】【Modelsim】【第一章】Modelsim仿真的扫盲文
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
随机推荐
- C# 通用方法
一. /// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete(string str) { ...
- tensorflow ValueError: Cannot feed value of shape (5000,) for Tensor 'output:0', which has shape '(?, 10)'
提供的训练数据和定义的模型之间的维度不对应. 在MNIST手写数字识别时,在 mnist = input_data.read_data_sets("MNIST_data/") 中, ...
- unity 查找脚本被场景中哪些对象引用
在需要查找的脚本上右键: 在场景中已经显示出所有引用该脚本的对象
- SVM支持向量机推导,工具介绍及python实现
支持向量机整理 参考: Alexandre KOWALCZYK大神的SVM Tutorial http://blog.csdn.net/alvine008/article/details/909711 ...
- virtual abstract override new 几点学习
1.Vitual方法和普通方法区别为:继承其的子类可以用override/new在重载此方法,也可以不重载其方法,有方法体(可以写语句),override修饰则调用子类方法2.abstract类中抽象 ...
- 内核线程和用户线程(SMP)
用户级和内核级线程 用户级线程:任何应用程序都可以通过使用线程库设计成多线程程序.线程库是用于用户级线程管理的一个例程句,它包含用于创建和销毁线程的代码.在线程间传递消息和数据的代码.调度线程执行的代 ...
- triton,docker,mesos
triton user: jill /root/.sdc/docker/jill 下 root@1f6af9d8-8ed9-e940-9c6c-d9505ca25896:~/.sdc/docker/j ...
- Containerpilot 配置文件 之 Telemetry
如果提供telemetry选项,ContainerPilot将公开可用于刮擦性能telemetry的Prometheus HTTP客户端界面. telemetry接口被公告为consul服务. tel ...
- Swagger与SpringMVC整合
依赖管理 在整合之前,需要把所有使用到的依赖包全部引入.网上很多文章只是简单告诉读者引入swagger-springmvc-1.0.2.jar包,但是随后你发现这远远不够,还需要很多包,如下所示: ...
- obstacle
obstacle - 必应词典 美[ˈɑbstək(ə)l]英[ˈɒbstək(ə)l] n.障碍:障碍物:阻碍:绊脚石 网络妨碍:干扰:妨害