原创 ModelSim源文件编译语法错误解决

2021-6-29 09:40 3875 7 7 分类: FPGA/CPLD 文集: ModelSim
.
  1. Syntax error near “non-printable character with the hex value ‘0xef“

手打了一个简单的源文件,ModelSim编译的时候出现几条类似上述的语法错误。由于代码简单,也没几行实在是不知道问题出在哪里,后来网上搜索,发现有其它人遇到了类似问题。问题出在手打代码的时候使用了第三方编辑器,比如UEdit或notpad++等等,这些编辑器很容易在不经意间保存文件的时候会在代码中某处出现隐藏的乱码。解决的一种办法就是用ModelSim自己的编辑器打开源文件,乱码会无处藏身。


另外,仿真的时候使用了文件操作,首先是打开文件
  1. File = $fopen("fft_cos.hex", "r");

上述代码在初始化的时候打开文件,File定义为integer类型,仿真的时候倒是没有出现什么问题。但是在读取文件的时候,使用
  1. $fscanf(File, "%h",data);

语句将文件一行数据读取并保存到寄存其data里,读取函数会自动换行。在时钟同步下控制文件的读取,即同步与时钟的读取使能信号来控制文件的每一次(每一行)数据的读取的时候,上述语句位于always进程里,
  1. always@(posedge clk or negedge rst_n)
  2. begin
  3. if (!rst_n)
  4. begin
  5. data <=56'h00000000000000;
  6. end
  7. else
  8. begin
  9. if(filerd_en)
  10. begin
  11. //callback = $fscanf(File, "%h",data);
  12. $fscanf(File, "%h",data);
  13. //data_o <= data;
  14. valid <= 1'b1;
  15. end
  16. else
  17. begin
  18. valid <= 1'b0;
  19. end
  20. end
  21. end

这时候仿真会给出一个警告
  1. ** Warning: (vsim-PLI-3691) E:/workspace/prj/SourceSim/SortMergerSim/CS_sort_and_merger_by_stack/rdFile.v(35): Expected a system task, not a system function '$fscanf'.
  2. # Time: 0 ps Iteration: 0 Instance: /cs_sortmerger_stack_tb/FileRead File: E:/workspace/prj/SourceSim/SortMergerSim/CS_sort_and_merger_by_stack/rdFile.v

去除该警告的方法,就是使用上述代码中屏蔽的
  1. //callback = $fscanf(File, "%h",data);


作者: coyoo, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1010859.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 7
赞赏0

文章评论0条评论)

登录后参与讨论
相关推荐阅读
coyoo 2021-06-28 16:07
Generate复用语句仿真时添加信号到波形窗口问题
问题描述:      Verilog使用Gnerate+for循环复用逻辑,在添加每个复用模块里的信号在ModelSim波形窗口进行观测的时候,发现添加失败。一般的添加信...
coyoo 2021-06-28 16:03
ModelSim仿真使用优化选项出现的问题
版本:ModelSim 64 10.7问题:当进行仿真的时候,脚本里命令为:“vsim -L lpm -L altera -L sgate -L lpm_ver -L altera_ver -L sg...
coyoo 2020-04-13 15:19
用SI9000控制阻抗,并得出各种叠层走线参数
1、差分表层(1B)2、差分内层(1B2A)3、差分内层(2B1A)4、单端表层(1B)5、单端内层(1B2A)6、单端内层(2B1A)7、未命名...
coyoo 2020-04-01 15:29
中国进出口商品运输路线图-2011年
试试翻转下:...
coyoo 2020-03-31 11:38
LTspice导入其它厂家器件现有的spice模型
最近在使用LTspice仿真由三极管搭建的放大电路,在选用罗姆的三极管2SC4083的时候,从罗姆的官网下载了其spice模型文件,这个文件后缀是lib。这里介绍一种方法导入我下载到的lib文件,该l...
广告
我要评论
0
7
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /3 下一条