トップ «前の日記(2003年06月08日) 最新 次の日記(2003年06月10日)» 編集
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年06月09日 曇り

CPLD

結局ALTERAは開発環境がうまくPCに入らなくてあきらめ。あーあ、XILINXに戻ってしまいました。最初からXILINXでやればよかった。一日以上つぶしてしまった。

仕事に着手する前の事前検証用に作った装置。strawberry-linuxさんのCPLDキットを使いました。今回のはロータリーエンコーダからのAB2相パルスを4逓倍して12bitカウンターを±する回路。表示部は7セグLEDに16進デコードして表示させることにした。使用した7セグLEDがアノードコモンだったので400KHzくらいでダイナミック点灯させている。400KHzではスイッチングが早すぎるんだけどCPLDのマクロセルがもったいないのでこれ以上分周していない。ロータリーエンコーダからのAB2層パルスは当然非同期なので、受けの部分ではケチらずに3段Dラッチのシンクロナイザーをかましている。このラッチはチャタ防止回路も兼ねている。主回路は普通のRaiseEdgeの同期回路だ。あんまり深く考えていないけど、3段シンクロナイザのさらに奥深くまではクリティカルハザードも侵入してこないだろう。

比べてみるとやっぱXILINXのCADの方が使いやすいような気がする。ALTERAのLeonardoはきっと良い合成ツールなんだろうけど使い慣れてないので宝の持ち腐れみたい。なんか苦労してしまいました。WebPackでVHDLでこちょこちょ書いてるほうが楽でよいや。

ちなみに今回のカウンターは43マクロセル消費だった。机上実験では20パルス/周のかわいいエンコーダで実験していたが、実際には25,000パルスという結構なシロモノに取り付けることになる。さっき勢いで取り付けてみたらけなげにカウンタが回っていた。がんばっている君の姿がかわいい。