2016-11-24 3 views
-1

私は私のプロジェクトでモジュールを実装しようとしていますが、私はしばらくの間安定しているため、以下のように実装されています。両方ともシミュレーションで同じ結果を示しています。ツールは同じハードウェアまたは異なるものを生成しますか?合成の際に次のようなコーディングスタイルが違いますか?

always @(posedge clk) begin 
if(en) 
    count <= count + 1; 
else 
    begin 
    a <= count; 
    count <= 0; 
    end 

if(count == 0) b <= a; 

end 

上記のコーディングスタイルと以下の違いは何ですか?それは合成の間に何か違いを生みますか?

always @(posedge clk) begin 
    if(en) 
     count <= count + 1; 
    else 
     begin 
     a <= count; 
     count <= 0; 
     end 
end 

always @(posedge clk) begin 
    if(count == 0) 
     b <= a; 
end 

私はVivado 2015.4ツールを合成に使用しています。

答えて

0

同じハードウェア出力を生成します。機能的に同一である限り、指定されたステートメントを1つまたは複数のalwaysステートメントに分割するかどうかは関係ありません。

0

ツールは同じハードウェアまたは異なるものを生成しますか?

Vivadoの「オープンなデザイン」をクリックしてください。

しかし、これは同等です。まったく違いはありません。

関連する問題