首页 > 技术知识 > 正文

花了点时间,动手搭建了一个简易MCU设计、UVM验证平台:

【验证】怎么排查低级语法错误-怎么自查语法错误

加入VIP仿真,遇到如下Error,似乎很多人都遇到过。

【验证】怎么排查低级语法错误-怎么自查语法错误1

求助网上:

报错的位置没有错,应该是你编译的上一个文件有语法错误,

比如:

少了endfunction,monitor.sv下定义的一个task下面没有endtask和end

国际友人也说:Usually a problem like this is because of an unfinished declaration that comes before it.

^-^然而,还有一种:import少了“ ;”

【验证】怎么排查低级语法错误-怎么自查语法错误2

设计的同学可以用lint检查语法,那么验证的同学怎么排查低级语法错误呢?

编译报错:信号未定义

编译报错:信号未定义

错敲、多敲、漏敲字母导致信号名错误;小写的“i”与数字”1”不易区分;小写的“l”与数字”1”不易区分;数字“0”和字母“O”不易区分;

编译报错:invalid类型

编译报错:invalid类型

报错某个类型对象invalid,而代码明明定义了。

原因?

第一,拼写错误;

第二,代码编译顺序;

编译时会将include指定的代码顺序编译,很有可能应用类型的代码比定义类型的代码先编译,所以应该调整include顺序,先定义再使用。

猜你喜欢