如何在系统verilog中将bit与字符串连接?

时间:2017-11-20 21:28:15

标签: verilog system-verilog uvm vlsi

if(ci.busy) begin// writing
    **dataout** = {dataout,string'(**ci.dout**)};
    $sformat( request,"%b",req.dout );
    $fwrite(data, request);
end

这里ci.dout是bit,dataout是string。 这是我用于使用静态转换将位转换为字符串的代码。但是在测试结束时dataout的输出是0.我真的很感激帮助。

1 个答案:

答案 0 :(得分:2)

使用string'()进行投射将使用ci.dout作为字符串的ASCII代码。例如,string'(8'h41)为“A”,string'(88'h48656C6C6F20576F726C64)为“Hello World”

以下任何一项都适合您:

  1. dataout = {dataout,$sformatf("%b", ci.dout)};
  2. dataout = $sformatf("%s%b", dataout, ci.dout);
  3. $sformat(dataout, "%s%b", dataout, ci.dout);