xiangze's sparse blog

機械学習、ベイズ統計、コンピュータビジョンと関連する数学について

QsysとverilogのTIPS

Altera社のツールQSysについての細かい事項メモ

  • generate文の2重ループが使える。
  • ただしgenerate文にはラベルが必要 例:
   genvar   i,j;

   generate
      for(i=0;i<16;i=i+1)begin :rep_tmpx
     assign tmpx[i]=(idx==i)?(i<<1):0;
      end
      for(j=0;j<16;j=j+1)begin :rep_tmp
         if(j==0)assign tmp[j]=tmpx[j];
         else assign tmp[j]=tmp[j-1]|tmpx[j];
      end
   endgenerate
  • generate文のある独自回路を含んだQsysのSimulationモデルは作成できないらしい。
  • 独自回路で定義したparameterはQSys上のGUIで設定できる。
  • 独自回路をQsysに追加した場合、独自回路内部の修正であればQSysのregenerate(再合成)は必要ない。
  • 複数clockを使う場合はそれぞれにclockモジュールを用意する必要がある?(要追加調査)

おそらくはQSys,Quartusに限らないこと(要調査)

  • register,wireのビット範囲指定に定数以外を使うことはできない。register,wireの配列の添字ならOKなのでassignを使って切り替える。