失敗例

 最初は要領が分からずにエラーばかり出すもんです。
 そんな覚え書き。。。

クロック信号の作法

 クロック信号はGCKのどれかに割り付けることが多いですが、それをVerilogで書く作法があります。
 xilinxカスタマーサポートをご覧ください。
 グローバルクロックとして内部配線に使うには、
 GCKピン−−IBUFG−−BUFG−−クロック信号
という順番でバッファを繋がねばなりません。
 具体的には、

 module top (clkin,......);
  wire clkin_int,clk;

  IBUF userbuf0 (.I(clkin), .O(clkin_int));
  IBUFG userbuf1 (.I(clkin_int), .O(clk));

 という感じになります。

カウンタが思い通りに廻らない。

 カウンタは普通、

 always@(posedge) begin
  if (reset) then q <= 0;
  else q <= q + 1;
 end

 などと記述しますが、終了条件を変数にノンブロッキング代入したりすると、その代入に1クロック消費されてしまいます。
 頭の中で同期カウンタを思い浮かべてつくると、それより1〜2クロックよけいにカウントしますのでご注意。


[初めてのxilinxへ戻る]
[index]