设计学习笔记
来源:互联网 发布:广告页设计软件 编辑:程序博客网 时间:2024/06/05 23:48
(此笔记是设计学习过程中的笔记,其中不免有些解述不全面甚至不正确的地方,发到网上只给同在学习中的人们当遇到类似问题时给一点提示)
对于modelsim的设计已经可以做到对QuartusII的Lpm的仿真以及简单的testbench的编写,现在把设计学习过程中的一点体会记录下来。
对于testbench的编写,默认情况下QII的编写规则与modelsim不同,比如我在QII中写这样的实例:
module testbench();
。。。
Endmodule
这个在QII中是报错的,但这样的设计在modelsim中是允许的。
在编写testbench时,如果有时钟信号在initial块(例10单位clock:forever #5 clock = ~clock ;’)中那么应该先要对时钟初始化一个0,或者1,否则由于默认是高阻,这个信号在仿真时一直高阻的。还有如果你的时钟信号已经定义在了一个initial块中,由于这里有了一个forever,在这个块中就一直停留在这里,以下的信号转变就得不到执行。这时可以把其他的信号写入另一个initial块中。至于DUT(待测试元件)中的input在testbench中定义为reg,output定义为wire,inout等等的信息可以到网上搜索下,就不赘言了。
Modelsim对于Lpm的仿真
这个学习时在网上找了很多的资料,看起来有一点繁琐,但总的来说都很正确,我在刚开始做这个仿真时,由于没有什么深刻的理解,对于modelsim中的库的应用不是很好,按照网上资料给出的方法做库的连接,对于资料中的实例能做出结果,自己设计时就总是出错,这个最多的情况就是编译可以通过,但仿真时输出就是一条蓝线(Z态),上网查后发现也有人已经遇到了同样的问题,有人已经得到了解决,了解到就是库的调用没有做好。但怎么检查也还是出错,后来终于找到了解决方法,就是把altera中的220model.v和altera_mf.v都调进project中一起compiled,编译后就发现在work内出现了一大列文件这些都是可能会调用的lpm,这次再仿真输出就正确了。
附:modelsim仿真QII的bsf文件方法。
在QII中调用设计需要的lpm等模块在bsf文件中加入input and ouput端口,设计完后全编译,编译成功后在file---creat/updata---creat hdl file for current file,之后就可以在工程目录下找到一个bsf文件的.v文件了,拿这个文件就可以到modelsim中仿真了。
2010年8月12日 17:39:36
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式【学习笔记】
- 设计模式 学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 数据模型设计 学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- 设计模式学习笔记
- UI设计学习笔记
- 设计模式学习笔记
- C#中跨数据库增删改的事务控制
- 【转】编写Testbench的一些技巧
- 【桌面虚拟化】之七网络设计
- MVC interview questions with answers
- 黑马程序员 改善C#编程的50个建议——偏爱readonly而不是const
- 设计学习笔记
- Ping/Echo节点监测机制的实现
- MYSQL IFNULL函数的使用
- 【转】【学】如何写testbench---转载
- 五类单例设计模式
- ModelSim 实用知识:优化,SDF,覆盖率
- 设置myeclipse控制台输出到文件中
- LeetCode Interleaving String
- select option 问题总结