2022年1月5日水曜日

Procedural-continuous assignments

Verilog では以下のように always の中に assign 文を入れることが出来るらしい(@ryos36さんのTwitterから).
  1. module dff (q, d, clear, preset, clock);
  2. output q;
  3. input d, clear, preset, clock;
  4. reg q;
  5.  
  6. always @(clear or preset)
  7. if(!clear)
  8. assign q = 0;
  9. else if(!preset)
  10. assign q = 1;
  11. else
  12. deassign q;
  13.  
  14. always@(posedge clock)
  15. q = d;
  16. endmodule
always 文の中に assign を入れる構文は Procedural-continuous assignments (手続き文の継続的代入?)と呼ぶらしく,DesignCompiler では「Procedural-continuous assignments は合成できないよ」とエラーが出た.純粋に動作モデルを立てるために使うのだろう.

0 件のコメント:

コメントを投稿