我有以下定义(以及更多):
define d_buff1_en_adc0_s 'LV_TOP_TB/LV_TOP_inst//CAFE_MPW_TOP_inst/D_BUFF1_en_ADC0';
我有以下宏:
define <force_and_check'action> "force_and_check <signal_f'exp> <signal_c'exp> <ip_name'exp> <val_signal_f'num> <init_val_signal_f'num>" as {
force <signal_f'exp> = <val_signal_f'num>;
wait[2];
check that <signal_c'exp>_s == <val_signal_f'num> else dut_errorf("%s Connectivity Error! %s is %b, but should be %b" ,<ip_name'exp>, **<signal_c'exp>**, <signal_c'exp>_s, <val_signal_f'num>);
force <signal_f'exp> = <init_val_signal_f'num>;
};
使用宏的示例: force_and_check'adc_s_event [4]'d_buff1_en_adc0_s“ CAFE” 1'b1 1'b0;
我想将dut_errorf的(粗体** **)表示为字符串(例如d_buff1_en_adc0_s)...我该怎么做? (不以十六进制中的定义值形式出现)
答案 0 :(得分:0)
只需将其放在双引号中作为字符串的一部分:
check that <signal_c'exp>_s == <val_signal_f'num>
else dut_errorf("%s Connectivity Error! <signal_c'exp> is %b, but should be %b", <ip_name'exp>, <signal_c'exp>_s, <val_signal_f'num>);