Quartus和Modelsim中使用`include包含头文件的对比

在Quartus建立的工程中包含有头文件,而该工程在Modelsim仿真时有时会报错。

Quartus版本是Quartus Prime 17.1 Lite Edition;Modelsim版本是Modelsim SE 10.2。

1、Quartus工程中`include包含的是“***.vh”(或者“***.h”)文件,在Quartus中对工程编译时,“***.vh”文件一定要保存在Quartus工程目录下,或者在包含该头文件模块的文件目录下,如果该文件在其他文件目录会报错如下:

Error (10054): Verilog HDL File I/O error at sdram_seqrw_core.v(35): can't open Verilog Design File "burst_mode.vh"

2、Modelsim工程中`include包含的是“***.vh”(或者“***.h”)文件,在Modelsim中对工程编译时,“***.vh”文件一定要保存在Modelsim工程目录下,如果该文件在其他文件目录会报错如下:

Error: F:/study/cyc10_image/test_ex/cmos_ov5640_ver2/src/sdram/sdram_seqrw_core.v(35): Cannot find `include file "burst_mode.h" in directories.

总结:在用Modelsim仿真带有 `include包含文件的工程时( `include "***.vh"),一定要把 "***.vh"文件拷贝到Modelsim工程目录下。

备注另外一个问题:Quartus编译和Modelsim编译的区别:在定义参数之前使用了这个参数,在在Quartus中不会报错,但是Modelsim中却会报错,如下:Error: F:/study/cyc10_image/test_ex/cmos_ov5640_ver2/src/sdram/sdram_seqrw_core.v(9): (vlog-2730) Undefined variable: 'SDR_RWD_WIDTH'.(网上查了一下像是Modelsim的编译相对于Quartus更严格,个人感觉会不会与verilog标准有关,有知道的大神还望指点一下)。

代码如图:

对于这个问题:在modelsim仿真的时候可以把 参数 写到 模块名 和 端口列表 之间(如下图),这样modelsim编译就不会报错了 ,同样在Quartus中编译也不会报错。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值