[Quartus II问题贴]-Modelsim仿真lpm_counter(20190515)

菜鸟学习,大神拍砖,一入HDL深似海

【一、问题描述】

使用Altera模块(也叫做IP)来帮助进行设计不用想也是很方便的事情,参数化的编辑即可使用。Altera或其他第三方IP提供公司一般提供两类IP:免费的和要钱的,付费的就不提了。免费的一般是功能基础的LPM宏功能模块,通用性很强,比如计数器、乘法器、FIFO、RAM等。现在要设计一个正弦波信号发生器(这里只做产生设计,后续接DAC即可),使用模块化+顶层原理图设计,包含一个向上计数器和64字节单元ROM。分频部分自己编写。
1.新建原理图文件,设为顶层文件;使用MegaWizard Plug-In Manager调用相关模块(LPM_COUNTER、ROM:-1-PORT),这里不予赘述。
2.Modelsim不支持原理图文件(.bdf),可在Quartus II中转为(.v)文件。之后我碰到了问题(两天未解决,求拍砖),我想在Modelsim中新建工程后直接仿真,按照网上办法,我把testbench文件、SIN_WAVE.v(转换后的顶层文件)、Counter.v及ROM.v(参数化模块生成的HDL文件),包括altera_mf.v、lpm_counter.v、dffep.v这三个库文件加入工程,最后仿真没有报错,但波形就是不对。不知道是缺少库文件,还是Modelsim哪设置不对。。。
[Quartus II问题贴]-Modelsim仿真lpm_counter(20190515)                                              图1-计数器无输出

【二、解决方法】

我怀疑是设计有问题,但使用SignalTap II分析后确认无误,最后我还是按照联合仿真的方法,由于不支持原理图文件,就用转换后的顶层文件直接替代,在Quartus II中启用Modelsim仿真,波形仿真
[Quartus II问题贴]-Modelsim仿真lpm_counter(20190515)                                              图2-仿真正确