« 中日-楽天 | メイン | いろんなソフトでEmacs »

2005年05月25日

Verilogとの戯れ

午後Verilogと戯れる。XilinxのCPLDに焼くと、どうしてQがふだん1で、100のときだけ0になるんだ?どう考えても逆だろう>Q
しかも周期が100クロックじゃなくて156クロック。
module hoge(CK, Q);
 input CK;
 output Q;
 reg [7:0]count;
 reg Q;

 always @(posedge CK) begin
  count <= count + 1;
  if (count == 100) begin
   count <= 0;
   Q <= 1;
  end else begin
   Q <= 0;
  end
 end
endmodule

投稿者 akita : 2005年05月25日 20:17

トラックバック

このエントリーのトラックバックURL:
http://akita11.jp/mt/mt-tb.cgi/132

コメント

はじめまして。SSKです。こちらの日記を以前から読ませて頂いていたのですが、コメントさせて頂くのは初めてです。

100+156=256なのが怪しいですね。
リセット時の初期化処理などを加えてみてはいかがでしょうか。

的外れでしたらすみません。

投稿者 SSK : 2005年05月26日 20:55

SSKさん、はじめまして。コメント、ありがとうございます。
そうなんですよ。最初、間違えてダウンカウンタを作ったかと焦りました。
今日の日記でも書いているように、ハザードっぽいのですが・・・サボらずにちゃんとリセットをつけてみようかしら。

投稿者 あきた : 2005年05月26日 21:10

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)