我可以用数值设置枚举吗?

维克托·柳博斯拉夫斯基

我想用数值设置一个枚举。以下代码对于SystemVerilog是否合法?

`define DEC_ADDR   32'hC001CAFE

typedef enum bit [31:0] {
  ILLEGAL_ADDR_0=0,
  DEC_ADDR=`DEC_ADDR
} my_addr_e;

module tb;

initial begin

  my_addr_e addr_name;
  bit [31:0] reg_addr;

  reg_addr = `DEC_ADDR;
  addr_name = reg_addr; // PROBLEM

end

endmodule

以下是EDA Playground上的完整代码:http : //www.edaplayground.com/s/4/219

维克托·柳博斯拉夫斯基

从技术上讲,使用数字值设置枚举是不合法的SystemVerilog。SystemVerilog是一种强类型语言,因此应使用其命名值设置枚举。

也就是说,某些模拟器允许使用数值设置枚举。

可以通过添加静态强制转换来修复以上代码:

addr_name = my_addr_e'(reg_addr);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用其数值设置枚举吗?

来自分类Dev

可以用Spock嘲笑枚举吗?

来自分类Dev

我可以用$('form')代替$吗?

来自分类Dev

枚举可以用C中的const代替吗?

来自分类Dev

我可以用除法结果在Java中设置最终变量吗?

来自分类Dev

我可以用此RAID设置替换主板并添加新的RAID卡吗?

来自分类Dev

我可以用一个动画设置和设置多个实体的不透明度吗?

来自分类Dev

我可以用PHPUnit模拟接口实现吗?

来自分类Dev

我可以用Xcode <6编译Swift吗?

来自分类Dev

我可以用损坏的jpeg数据修复照片吗?

来自分类Dev

我可以用Java调用Enums构造函数吗?

来自分类Dev

我可以用Scrapy填写Web表单吗?

来自分类Dev

我可以用json渲染图像吗?

来自分类Dev

我可以用GhostscriptProcessor返回byte []吗?

来自分类Dev

我可以用Zapier代码导入库吗

来自分类Dev

我可以用其他逗号分隔字符吗?

来自分类Dev

我可以用Java编写Jetpack Compose组件吗?

来自分类Dev

我可以用Wine取代Windows吗?

来自分类Dev

我可以用ArrayList填充LinkedHashMap吗

来自分类Dev

我可以用Xcode <6编译Swift吗?

来自分类Dev

我可以用Susy堆放列吗?

来自分类Dev

我可以用自己的胡萝卜标签吗?

来自分类Dev

我可以用循环压缩这些值吗?

来自分类Dev

我可以用vmware克隆Kubernetes奴才吗

来自分类Dev

我可以用gdb转储stdin吗?

来自分类Dev

我可以用apt删除apt吗?

来自分类Dev

我可以用Ruby的Typhoeus发出异步请求吗?

来自分类Dev

我可以用JUnit失败原因替换变量吗?

来自分类Dev

我可以用密码保护Excel宏吗?