こんにちは私のVerilogコードの入力の可能性のあるすべてのケースをテストしようとしています。私はループのためにそれを設定しました。Isimはテストフィクスチャ内のすべてのビットをテストしていません
for(sel = 0;sel < 4;sel=sel+1) begin
for(a = 0;a < 8;a=a+1) begin
for(b = 0;b < 8;b=b+1) begin
#50;
end
end
end
これは以前はうまくいきましたが、変更が必要な場合やIsimにバグがある可能性があります。 a、b、およびselも初期化しました。
reg [2:0] a;
reg [2:0] b;
reg [1:0] sel;
しかし、私がtbファイルをシミュレートしようとすると、繰り返し繰り返すだけです! なぜこれができますか?私はしばらくそれを遊んでいて、運がなかった。私は< 7にBの境界を変更すると
また、それはをループに開始されますが、私は、SELをループに< 7に境界を変更する必要があります。これは部分的に機能しますが、aとbの場合は111、selの場合は11の場合をスキップします。
また、すべてのケースでビットを手動でテストすることにしました。正しい結果を示しています。
ありがとうございます。そのコードは、私のシミュレーションで正しく増加するようです。まだ何か気分が悪いです。私は私のトリプル・フォー・ループの境界が間違っているのを見ています。私はaとbのために **を(b = 3'b000; b = 3'b111; b = b + 1)**に変更しました。 と ** for(sel = 2'b00; sel <= 2'b11; sel = sel + 1)** for sel これらの境界は現在正しいように見えますが、まだ正しくシミュレートされていません。私はそれを試してみるために別のコンピュータに行って、それは動作します!私のシミュレータに問題があるはずです... – Darklink9110