首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System Verilog嵌套关联数组

System Verilog嵌套关联数组
EN

Stack Overflow用户
提问于 2019-04-16 23:40:23
回答 1查看 505关注 0票数 0

如何在系统Verilog中声明初始化嵌套关联数组?

代码语言:javascript
复制
/*
  Creating an associative array(AA) called timings such that
  each key contains an AA with a list of relevant key value pairs
*/
typedef string timingObj [string];
timingObj timings [string] = {"A": {"B" : "C"}, "X": {"Y" : "Z"} };
//string timings [timingObj] = {"A": {"B" : "C"}, "X": {"Y" : "Z"} }; //Same error

timingObj t;
$cast(t, timings["A"]); // t = {"B" : "C"}
$display("%s", timings["A"]);
$display("%s", t["B"]);

上面的代码会导致编译器错误

代码语言:javascript
复制
"Syntax error. Unexpected token: }. Expected tokens: ':'." "testbench.sv" 2
"Syntax error. Unexpected token: $cast[_SYSTEM_CAST]. Expected tokens: ';' , 'checker' , 'function' , 'task' , 'timeprecision' ... ." "testbench.sv" 6  6
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 00:05:55

关联数组的赋值模式需要在前面有一个'{}标记,以将其与串联{}区分开来。在某些情况下,它是模棱两可的(但不是在这里)。所以写吧

代码语言:javascript
复制
timingObj timings [string] = '{"A": '{"B" : "C"}, "X": '{"Y" : "Z"} };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55711931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档