カテゴリ
全体プログラミング scheme verilog 未分類 以前の記事
2016年 04月2016年 03月 2016年 02月 2016年 01月 2015年 12月 2015年 11月 2015年 10月 2015年 09月 2015年 08月 2015年 07月 2015年 06月 2015年 03月 お気に入りブログ
PHPで競技プログラミングメモ帳
最新のトラックバック
ライフログ
検索
タグ
racket
その他のジャンル
ブログパーツ
最新の記事
外部リンク
ファン
記事ランキング
ブログジャンル
画像一覧
|
普通のカウンターはバイナリカウンターといいます。
<グレイカウンターの問題点> ASICの論理合成ツールでは、ハザードレスに合成するのが難しい。 (FPGAではIPを利用すればよいみたいです) スクリプト言語(perl等)で真理値表を自動生成する必要がある。 <ジョンソンカウンターの問題点> マイナーすぎて周りの人に説明することができない。 空きステートをつぶすのが面倒。 特別な理由がない限り、グレイカウンターやジョンソンカウンターを 使うのは控えた方がよいかと思います。 ※グレイコードは非同期クロックドメイン間の信号受け渡しに 使えるそうです。 #
by tempurature
| 2015-03-29 05:11
| verilog
カウンターにはアップカウンターとダウンカウンターがあります。
どちらがいいのか? verilogのRTL記述例をあげます。 <アップカウンター> localparam OVF = 8'd200; reg [7:0] count; always @( posedge clk ) begin if ( start ) count <= 8'h00; else ( count < OVF ) count <= count + 8'h01; end <ダウンカウンター> localparam LOAD = 8'd200; reg [7:0] count; always @( posedge clk ) begin if ( start ) count <= LOAD; else ( count != 8'h00 ) count <= count - 8'h01; end 上のアップカウンターの問題点はcountが200以上であったときに、 正常な状態(200以下)には戻らないということです。 一般的に空きステートに入った時には、抜けるようにするべきという 考え方があります。空きステートから抜けられないのがどのくらい 問題なのかは把握していないです。 ダウンカウンターの利点は、上記アップカウンターの構成より簡単に 自然に空きステート対策ができるという点です。 なのでさりげなくダウンカウンターを使いましょう。 #
by tempurature
| 2015-03-29 04:55
| verilog
| ||||||||||||||||||||
ファン申請 |
||