作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有我想要映射到枚举值的命令行 plusargs。
vsim foo +MY_PLUSARG=BAR
如何让字符串 "BAR"
成为枚举 BAR
?
最佳答案
如果您使用的是 UVM 1.2 或可以访问该库,则可能需要使用 uvm_enum_wrapper 类进行转换。它是 uvm_globals.svh 中定义的模板类包装器,您可以按如下方式使用它:
typedef enum {BISTRO, COFFEE_SHOP, BAR} places_e;
typedef uvm_enum_wrapper#(places_e) places_wrapper;
places_e place;
places_wrapper::from_name("BAR", place);
很像您在this solution 中提供的代码,包装类通过遍历枚举条目并为给定枚举(作为模板参数提供)的枚举 [string] 映射创建关联数组来工作。所以如果你使用 UVM 1.2,don't repeat .
关于system-verilog - 如何在 SystemVerilog 中将字符串转换为枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35212974/
我是一名优秀的程序员,十分优秀!