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

ここで、ci.doutはビットでデータアウトは文字列です。 これは静的キャストを使用してビットを文字列に変換するために使用していたコードです。しかし、テスト終了時のデータ出力は0です。私は本当に助けに感謝します。システムのVerilogでビットを文字列に連結する方法は?

+0

それは、変数と予想される結果に使用される値を表示するのに役立ちます。 –

答えて

2

string'()でキャスティングすると、文字列のASCIIコードとしてci.doutが使用されます。例えば、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);
関連する問題