gpt4 book ai didi

system-verilog - 如何在 SystemVerilog 中将字符串转换为枚举?

转载 作者:行者123 更新时间:2023-12-05 02:21:18 54 4
gpt4 key购买 nike

我有我想要映射到枚举值的命令行 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/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com