« 2010年5月23日 - 2010年5月29日 | トップページ | 2010年6月13日 - 2010年6月19日 »

2010年5月30日 - 2010年6月5日の1件の記事

2010年6月 5日 (土)

Lattice XP2の開発環境整備と液晶モニター2台

Aitendoから品物が届いた(5/29/2010)
 失った液晶モニターの補充を色々検討してきたが中々決まらない。簡単に画像を出すのならデジタル液晶を選べば良いのだが、せっかくアナログを勉強して、あとわずかで画像が出るところで開発が止まっている。手持ちのビデオDAC(BU3616)は5Vベースなので使いにくいかもしれないが、このままデジタルに行ってしまうのは心残りである。

 それに、おまけについていたNTSC変換基板が無駄になってしまうのも勿体ない。ビデオやTVのコンポジット映像が気楽に出せるディバイスも備えておきたい気持ちもある。最近のPC用モニターは、QVGAクラスのアナログRGB(水平周波数15khzレベル)はスキャンしてくれないものが多い。

 迷った挙句、選んだ結論は両方とも買ってしまうことであった。2台買っても¥5000しないのならこれ以上迷うこともあるまい。それに両方とも新品または未使用品(微妙な表現だ)である。

 アナログ液晶はシャープのLQ070A3AG01(320×240)¥1,584、もうひとつのデジタル液晶はWVGA(800×480)規格の韓国製DMMT-7000WVGA、¥2,240。これはサイトの説明によれば、シャープのLQ070T3DG01と互換仕様で新品というふれこみだ。

A5282916

 2日で、品物が届いた。いや勉強した。アナログ液晶の方は、インバータが内蔵されているが、デジタル液晶はインバータを外付けしなければならない。

 店のウェブについているPDFのリンクをしらみつぶしに調べまわり、やっとあの長ったらしいインバータ回路のコネクターの型番がわかるようになった。このあたりは高圧(500V以上)がかかるのでハンダ付けでごまかすことは避けたい部分である。

 注文したアナログ液晶が、トラ技2009年11月号の映像特集で京谷豊氏が例に使っていたものと全く同じということが注文してから分かったり(これはラッキーだった)、相変わらず慌てものの癖は抜けない。

 早速、届いた品を確認する。ウェブの注文でわからなかったところが付属のフレキケーブルピッチ変換基板とモニター本体のコネクターの表裏である。これがわからないとフレキケーブルの表裏の指定ができない。つけてみたら案の定、フレキケーブルの表裏が逆だった。これは買い直す必要があるようだ。それにインバーターの配線も一方はハンダ付けしようと思ったが、ウェブを見ていると変換ケーブルが売っている。これも買ってこよう。

A6052942

アナログ液晶に画像が出た(5/30/2010)

 まず、アナログRGBの動作確認から始める。洗濯用のハンガーの鉄線を切って、簡易なスタンドをつくる。

 おまけについていたNTSC変換アダプターの基板を良く見ると、基板の裏に20ピンフレキケーブルのコネクターがついている。何気なく調べて行ったら、ピンアサインが今度買ったシャープのアナログ液晶と全く同じだったことがわかる。おお、これは面白い。ここへつけてみようとフレキケーブルをつけようとして、表裏が逆だということに気づく。A6052944

 0.5ミリピッチのフレキケーブルならとてもその気にならないが、このフレキケーブルは1ミリピッチだ。これくらいなら絶縁部分をはがせば接続できそうだ。で、無謀にも実行に移した。失敗すれば0.5ピッチのフレキケーブルを買い直す時また買えば良い。

始め半田ごてで溶かそうとしてケーブル本体が溶けてしまい失敗。アートカッターで絶縁部分を根気良く削る。何とか銅面がでた。恐る恐る、接続する。よーし絵が出た!少しくらい引っ張っても全く問題ない。うむフレキケーブルにもだいぶ慣れてきたようだ。アナログ液晶はこのNTSC変換基板を固定して、当面ビデオモニターにすることにしよう。

A6052938

Latticeのプログラミングケーブルを自作してLEDチカチカ(5/30/2010)
 Lattice XP2のほうは中々進まない。開発環境もまだインストールしていないのだが、ライターを何にするかで迷っている。ウェブで知ったなひたふ電子さんのあの雑誌付録78K0を使ったUSB経由か、パラレルで作るか(我家のPCは幸いレガシーでパラレルインターフェースが健在である)。3万近くする純正のUSBライターはもとより買う気はない。

A6052930

 将来、AlteraのFPGAまで来ることを想定すれば、コンフィグケーブル(ライター)はなるべく共用できるのが望ましい。なひたふ電子さんのサイトを見ていると、彼の開発したXP2用のJTAGダウンロードプログラムはXilinxのパラレルケーブルで動くということなので、嬉々としてテストするがどうもうまく動かない。

 つらつら、Xilinxのパラレルライターの回路図とLatticeのそれをを比較すると、殆ど同じである。良く見るとパラレルインターフェースのピンアサインがわずか違うだけだ。2連双投スイッチで全く同じピンアサインにできそうなので、自作のXilinxライターを調べるが、コンパクトに作りすぎていてスイッチが入らない。

 えーい、面倒だ。迷っていても先に進まない。いっそのこと個別に作ってしまえ。日曜の午後、囲碁のNHK杯を見てから(え、いや囲碁も初段レベルのヘボですが偶にやります)、意を決して制作にとりかかる。このXP2基板の雑誌付録が出た頃、このパラレルライターはいくつかのサイトで自作され、回路図が色々なところで公開されている。

 レベルシフター(74VHC244)のピッチ変換基板は予備が前に作ってある。それにDSUB25ピンのパラレルソケットもこういうこともあろうかと変換基板もあわせてこのあいだ買ってきてあった。

 気がせいている割には、アートワークから始める(だいぶ賢くなった)。回路図はウェブの方を採用し、雑誌のパラレルライターの回路図を大幅に省略する。雑誌掲載の回路図は、奇妙なことに付録の本体基板で使われていない3つの余分な端子があり、雑誌の記事でもJTAG部分だけで書き込みをしている。パラレルの方にでていくバッファーをon/offするJTAGというピンも、ウェブには常時ONにしておいても問題ないということなので、これも省略する。

A5312926

 大河ドラマ、サッカーイングランド戦などの道草を食いながら、その日のうちに完成した。アートワークをやっておいたお陰で、配線間違いも一箇所だけで(間違いというより配線漏れ)、すんなりLatticeの書き込みツールispVMはXP2を認識し、LEDチカチカのテストプログラムは無事インストールされた。

 開発環境もだいぶ整ってきた。ライセンスを取るのに時間かかると言われていた統合開発環境ソフトispLEVERは、メールのやりとりが殆ど瞬時で、10分以内に無償ライセンスがとれて、動作確認がすんだ。あとは論理合成のテストである。

A5302917

Latticeの論理合成ツールがない(6/2/2010)
 ところが、いざ論理合成しようと思ったら、ソフトがないと叱られた。ええー、ispLEVERじゃできないの? あわてて雑誌を読み返す。何と、ispLEVERは単なる統合環境で、論理合成ツールは別のサードパーティのソフトSynplifyというのが必要なのだそうだ。これが、ライセンスが2~3日かかるというやつだ。ややこしい。

 メールが届くまで、きっちり2日間かかった。所定のファイルをダウンロードしSynplifyをインストールしようとしたら、「ファイルがこわれている」と門前払いを喰らう。メッセージをよく読むと別にダウンロードしたファイルが壊れているのではなく、単なるバージョン違いのようだ。

 雑誌は一年前なのでispLEVERは7.2。メールのダウンロードボタンから落としてきたSynplifyは8.0。 これはispLEVER Starter8.0をダウンロードするしかない。800メガを越える超弩級のソフトだ(XilinxのISEに較べれば少し小さいが)、1時間半かかった。

 最初間違えて有償版の無印ispLEVERを落として、また「ファイルがこわれている」と断られる。不親切なエラーメッセージだ。もうちょっとマシな言い方はないのか。びっくりしてしまうではないか。

 まあ、無料版を使おうというのだからこれくらいは我慢しなければならない。買ったらいくらするのだろう。調べてみた。標準版で1300ドル、今なら日本円で12万そこそこか。3万円(これもべらぼうだが)するUSBケーブルがついてこの値段だから、10万円のプロダクトである。思ったほど高くない。しかし、アマチュアにとっては非現実的な価格だ。とても手を出せるものではないがFPGAメーカーの過当競争のお陰で、無料版が使える。有難い時代に生まれたものだ。

やっとのことでLatticeの開発環境完成(6/4/2010)
 なんだかんだでLatticeのFPGA開発環境がまともに動くまで3日もかかってしまった。このあいだに、3GBあまりの開発環境ソフトのインストールを4回もやらされる羽目となった。

 オチは、何のことはない、インストール先をCドライブ以外にしたことである。雑誌の記事に、インストールはすべてデフォルトのまま入れるようにという注意があったが、これを無視して、2つめのEドライブにインストールした。Cドライブはもう満杯で、入れると空きスペースが2GBを割りこむ。WindowsXPは安定しているとはいえ余りCドライブの空きが少ないのは不安である(そろそろHDDを換えなければ)。

 インストール先くらいは、変えても問題ないだろうと考えていたのが甘かった。デフォルトでインストールしろというのは、もう少し具体的に書いておいて欲しいものである。ドライブを換えてもispLEVER本体は特に問題なく動いたし、ispVMも通常に動いてファームの書き込みも正常に出来た。Synplifyも何事もなくインストールされた。

 ところが論理合成を始めると、Synplifyが、エラーコード4で先に進まない。エラーの原因も出ていない。最初はソースを疑ったが、ソースは雑誌のDVDのサンプルである。間違いがあるわけもない。だいいちソースが原因でツールそのものが異常終了するのはおかしい。

 DVDから入れた旧バージョンや、何度も入れなおした時の消し残しのファイルが悪さをしていると思って、ディスクの中を念入りに点検して、関係ファイルを削除し、regeditまで持ち出してレジストリまできれいにして入れなおしたが、同じ現象。

よほど、Latticeに見切りをつけようと思ったが、最後のつもりでCドライブにあった多量のゲームデータをとりあえず別ドライブに移して空きを作り、CドライブにispLEVERをインストールしなおした。これで3回、雑誌の7.2を含めると4回インストールしたことになる。

 Cドライブにして論理合成は全く問題なく終了した。やれやれ2日無駄にしてしまった。論理合成の所要時間はXilinxのXSTより少し長いようだ。エディターは日本語が化けるし、ispLEVERの操作も複雑でやりにくい(慣れていないだけかもしれないが)。

 いよいよ、これまで開発したRGBインターフェースのソースコードを入れていく。ピンアサインは先にすることにし、ドットクロックのクロックモジュールはディバイス依存なので、Latticeのものが出来るまでコメントアウトし、論理合成をかける。

 よし、NO ERRORだ。そりゃそうだ。VerilogHDLは機種依存ではない。しかし、クロックモジュールの定義でステップが止まってしまう。Xtalは33Mhz、Xilinxのときは、分周比を5.5にして、6.00Mhzを作っていたが、Latticeのクロックジェネレーターは、小数点のついた分周はおろか、奇数倍の分周も出来ない。偶数倍だけのようだ。いやいや、これから先が思いやられる。

 と書いたが、どうもおかしい。激しい競争をしている業界で、Latticeだけが出来ないなんていうことは有り得ない。何か方法があるはずだ。ウェブで調べる。なーんだ。簡単に解決した。奇数倍は、分周と逓倍を経由すればいくらでも出来るのだ。1/3なら6分周して2逓倍すれば良い。素人だからこういう基本的なところではまる。

 Latticeのクロックジェネレーターを開く。33Mhzを22分周して、4逓倍し、無事6.00Mhzを得ることが出来た。論理合成も正常終了した。次はいよいよ配線である。

| | コメント (0) | トラックバック (0)

« 2010年5月23日 - 2010年5月29日 | トップページ | 2010年6月13日 - 2010年6月19日 »