Verilogでテストファイルコードの書き方_いくつかの一般的な形式をまとめます

1307 ワード

Verilogに触れ始めた初心者向けです.
試験信号の比変化と試験過程を記述するモジュールは試験プラットフォーム(testbench)とも呼ばれ、回路モジュールに対して全面的な動的試験を行うことができ、試験モジュールは一般的に2つの部分から構成され、一部は励起信号の初期化である.もう1つの部分は、励起信号の持続と繰返しである.
テスト時に注意する必要がある:一般的に、データ型宣言時に、被測定モジュールの入力ポートに接続された信号はregタイプとして定義され、initial文とalways文ブロックで値を割り当てるのが容易である.被測定モジュールの出力ポートに接続された信号はwireタイプとして定義され、検出が容易である.この文の意味は,被インタフェースモジュールの元のデータ型を気にしないことを意味する.
1つ目は、while文を使用してループ付与を実現することです.もちろん、このブロックはループを追加せずに、1回のみ付与することもできます.
  initial
  begin
     while (1)
       begin 
         a=0;     
         b=0;
         s=0;
         #100;
         a=1;
         b=0;
         s=0;
         #100;
         a=0;
         b=0;
         s=1;
         #100;
         a=0;
         b=1;
         s=1;
         #100;
         a=1;
         b=1;
         s=1;
      end 
  end

2つ目は、initialを使用して初期化タスクを完了し、always文を使用してループを実現することです.
     initial  
      begin  
        a=4'b0001;    
      end  
        always #2    
          begin  
          a[0]=~a[0];  
          end  
        always #4   
          begin  
          a[1]=~a[1];  
          end  
        always #6    
          begin  
          a[2]=~a[2];  
          end  
        always #8   
          begin  
          a[3]=~a[3];   
          end 

もちろんまだまだたくさんありますが、どんどん探しています...