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

这里 ci.dout 是位,dataout 是字符串。这是我用来使用静态转换将位转换为字符串的代码。但测试结束时 dataout 的输出为 0。我非常感谢帮助。

4

1 回答 1

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);
于 2017-11-20T23:36:57.640 回答