将多个变量存储为一个十六进制字符串
Store multiple variables as a single hex string
我正在寻找一种将几个变量存储在一个变量中的方法,这样我就可以输出一个字符串。例如,我有变量:
int flow_val = "128";
int numb_val = "104";
int size_val = "256";
我可以像这样使用 $display
将它们放在一起:
$display("32'h%0h%0h_%4h", flow_val, numb_val, size_val);
打印出来:
32'h8068_0100
有没有办法获取该输出并将其放入变量中,例如 hex_val
?
$sformatf
可以用。请参阅 IEEE 标准 1800-2012,第 21.3.3 节将数据格式化为字符串。
module tb;
int flow_val = 128;
int numb_val = 104;
int size_val = 256;
string hex_val;
initial begin
hex_val = $sformatf("32'h%0h%0h_%4h", flow_val, numb_val, size_val);
$display(hex_val);
end
endmodule
输出:
32'h8068_0100
我正在寻找一种将几个变量存储在一个变量中的方法,这样我就可以输出一个字符串。例如,我有变量:
int flow_val = "128";
int numb_val = "104";
int size_val = "256";
我可以像这样使用 $display
将它们放在一起:
$display("32'h%0h%0h_%4h", flow_val, numb_val, size_val);
打印出来:
32'h8068_0100
有没有办法获取该输出并将其放入变量中,例如 hex_val
?
$sformatf
可以用。请参阅 IEEE 标准 1800-2012,第 21.3.3 节将数据格式化为字符串。
module tb;
int flow_val = 128;
int numb_val = 104;
int size_val = 256;
string hex_val;
initial begin
hex_val = $sformatf("32'h%0h%0h_%4h", flow_val, numb_val, size_val);
$display(hex_val);
end
endmodule
输出:
32'h8068_0100