You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ModelSim中Verilog代码报错原因咨询:string_literal.v(3)语法错误

Verilog代码语法错误排查

错误原因

string是SystemVerilog(IEEE 1800标准)新增的数据类型,ModelSim默认采用传统Verilog(IEEE 1364标准,如Verilog-2001及更早版本)编译时,无法识别string关键字,因此在第3行string a;处触发语法错误。

解决方法

方案1:切换到SystemVerilog编译模式

在ModelSim中编译时,指定使用SystemVerilog标准:

  • 命令行方式:执行 vlog -sv string_literal.v
  • GUI方式:将目标文件的属性设置为SystemVerilog类型后再编译

方案2:改用传统Verilog兼容的字符串实现

如果需要兼容传统Verilog标准,用reg数组存储字符串(每个ASCII字符占8位),修改后的代码如下:

module string_l();

reg [8*5-1:0] a; // 5个字符,每个占8位,总计40位

initial
begin
a = "Hello";
$display ("@%gns a=%s", $time, a);
end
endmodule

内容的提问来源于stack exchange,提问作者Meher81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:42:01