« 2010年5月 | トップページ | 2010年7月 »

2010年6月の3件の記事

2010年6月25日 (金)

XP2でアナログ液晶にカラーバーを出す

カラーバーらしいものは出たが(6/18/10)
 雑誌付録FPGA基板Lattice XP2でカラーバーを出すために、小さなブレッドボードに、モニターからの20ピンのソケットをさし、例の雑誌特集記事(トラ技2009年11月号「入門!画像表示回路の作り方」)を参考に配線を始めた。この7インチのTFT液晶(シャープLQ070A3AG01)は、水平、垂直の分離したTTLの同期信号入力だけでなく、アナログのコンポジット同期信号入力を持っている。

S_a6252999

 どちらにするか迷ったが、既にコンポジット同期はXilinxの頃のものが出来ているし、雑誌の記事もこちらから入力するようになっているので、これを同期入力とした。色信号線は、雑誌の記事をそっくり真似て、75オーム終端で1VP-Pに抵抗で分圧する。カラーバー(といっても規格モノではなく自作仕様)だけなので、出力は単に1か0だけである。

 配線は準備を周到にしたおかげであっさり終わった。XP2の方はすでに論理合成まで済んでおり、その後は特にトラブルもなく、ピンアサインや、JEDファイル作成まで正常に終った。コンフィギュレーションもFPGA基板上のLEDが点き無事書き込まれた。XP2はこれで動き始めているはずだ。最初は慎重に、モニターをつながず、出力をオシロに出す。

 恐れていた通りオシロには全く何の波形も出てこない。まあ、これはいつものことだ。同期出力に固定していたオシロをはずして、各部の電圧を調べていく。オシロはこういうときに実に便利だ。簡単に電圧が測れるし、テスターでは見えないパルス波形も見られる(前は調子に乗りすぎ、プローブをあちこちあてすぎてFPGAを壊した)。 その結果、クロックや電源などは想定どおり出ているが、出力だけが出ていないことが分かる。

 リセットをしてみる。デバッグのつもりで入れたLEDが点く。うむ、リセットは動いているようだ。ややや、リセットを押すとオシロに何か出た。何と、何と、またリセットの極性が逆だ。リセットを押すと同期信号が出る。やれやれ、回路図ではプルアップされていたのでてっきり負論理だと思っていたら、どこかで逆になっている。

 リセットを正論理にして、論理合成からやりなおし。通電した。よーし、オシロにおなじみのコンポジット同期信号が戻った。色信号の波形も出ている。定格の0.6V以内だ。いよいよ、モニターを接続する。電源を入れた。画面が出た。水平同期のとれていない、横流れの画像だが、とにかく画面にFPGAからの信号が表示された。

S_a6172990

 同期周波数が合っていないからだろう。Hブランクや、Vブランクのパルスの幅を調整して、カラーバーが出るように追い込んだ。しかし、安定しない。画面上部は昔のビデオデッキのようなスキュー歪みが出るし、垂直同期が安定していない。画像がフラフラする。こんな不安定な筈はない。

インターレースを忘れている?(6/19/10)
  調整しても、安定したカラーバーの画像にならない。どうもおかしい。オシロで波形を測定する。何い? 水平同期が17Khz以上だぞ。この同期信号入力はNTSC信号が来ることを想定して作ってある筈だ。それに17Khzも入れて安定するわけがない。S_a6182992

 気を落ち着かせて、もう一度、最初から調べ直す。するとアナログ液晶のハード接続のところでさぼっている設定が見つかった。この液晶は、NTSCだけでなくPAL信号なども出せるようになっており、これらの制御ピンはオープンではなく全部5Vでプルアップせよと雑誌記事(京谷氏)にあるが、それをやっていない。

 藁をつかむ気持ちで、これらの制御ピン(4~8)に12Vから分圧した5Vを与える。うむ、今度は画面の乱れはなくなったが、画面は暗いままである。かろうじてカラーバーであることがうっすら画面に出ているが、これではカラーバーが出ているとは言えない。前のカシオ液晶のときと全く同じ現象だ。

S_a6253009

 実は、今度の同期信号線はNTSCのインターレース(画面2枚分を同期をずらして送る)を考慮していない。画面が少しちらつくだけでノンインターレースの信号を入れても大丈夫なはずだが、画面が暗くなってしまうのは、もしかすると、これが原因なのかもしれない。同期がずれたところは、鮮やかな色が出ているところがある。そんなはずはないとは思うけれど、何となく不安だ。

 ちょうど良い機会なので、インターレース同期を勉強して、コンポジット同期に入れてみることにした。垂直同期の等価パルスや、切り込みパルスのところを、いちから作り直す。ちょっと意地になっている。しかけはそう難しくはない。奇数フレームと偶数フレームを識別して、垂直同期を1/2ライン(1/2H)ずらせば良いのだが、HDLで表現するとき気をつけないとノンブロッキング代入によって想定した変数が変わらないときがある。マイコンのように気楽なコーディングは出来ない。

インターレースになったが依然として色が出ず(6/22/10)
 なんとか、想定どおりのインターレースのコンポジット同期信号になった。念のため、ロジックアナライザーを持ち出して、確認する。よし、奇数フレームの垂直同期が1/2H遅れて出て、偶数フレームは元へもどる同期パルスになっている。意気揚々と画面のテストに入る。しかし、期待に反して、画面は前と全くかわらない。上部の細かな水平同期の歪みはなくなったが、依然として色が出ないことには変りはない。画面が暗くなるのは何故なのか。謎は深まるばかりだ。

 そのうち、色々いじっているうちにジャンパーの1本がはずれ、突然、鮮やかなカラーバーがでた。あ、あ、あ、これはどういうことだ。はずれたのはグランド線で、グランドを浮かすと、垂直が僅かづつずれていき、白であるべきところが黒になっているものの、鮮やかなカラーバーが出ている。

S_a6253002

 ちょうど、すんさんの掲示板で、みなさんがDE0(アルテラのFPGA評価ボード)の話題で盛り上がっていたところだったので、コメントのついでに状況を報告した。すると、すんさん自らが、「アナログ信号のグランドレベルがクランプされていない?」という情報を返してくれた。

 早速、「クランプ、NTSC」で検索すると、沢山ヒットした。そうなのだ。NTSCのベースバンドのビデオ信号は、同期信号はマイナス電位(-385mV)で、色信号が0Vから0.7Vである。現在のこのシャープ液晶に入れている同期信号のグランドレベルは0Vだ。

 どうも、これが原因のようである。しかし、これを正しくするのはどうするのだ。クランプ回路がいるのか。前のカシオ液晶についていたNTSCアダプターのコンポジット同期出力は、TTLレベルで、この液晶指定のアナログではなく、色信号は、1V以上でていたが、不思議なことに何の問題なく正常に画面を出していた。それならというので、XP2の75Ωと300Ωで分圧したところを直結して色信号(3V)を入れてみるが、かえって画面は白っぽくなるだけ殆ど変わらない。アナログの話なのでどうしたら良いか分からない。

 冷静になって考えてみたら、この液晶モニターは、TTLの水平、垂直同期信号を独立して入力する端子がでている。ここまで意地になってNTSCフォーマットでカラーバーを出そうとしていたが、本筋とは余り関係がない話だ。あきらめきれないが、NTSCを断念して、独立同期信号でやってみることにする。

分離同期で、少し色が出たのでカラーバーが出たことにする(6/25/10)
 液晶モニターの設定を換えて、コンポジット同期から、水平垂直独立同期信号入力にする。20ピンケーブルで、液晶端子をすべてブレッドボードに持ち込んであった(念のため12Vのピンははずしてある)ので、設定変更は簡単に済んだ。5Vにつないでいたジャンパーをグランドに移すだけである。XP2のVerilogHDLソースも、コンポジット同期に較べれば、むしろ大幅に簡単になる。

 厄介だったのは、Latticeの統合開発環境ispLEVERのプロジェクトの分離だった。使い方をまだ完全に理解していないので、前のプロジェクトをSAVEし、新規のプロジェクトを起こして作り直したはずだったのだが、ispVM(コンフィギュレーション)のところで前のJEDファイルをXP2に書いてしまい、設定したピンに波形が出てこなくておおはまりだった。

 この解決に数時間を無駄にした。AVR開発の初期のころも、同じようなことにはまったことがある。AVRStudioでひと世代前のバイナリをせっせとロードして動かないと騒いでいた。こういう開発環境は上手く動いている時は良いが、ちょっと指定外のことをやるとおかしくなる環境が多い。こういうときはプロジェクトを全部ご破算にして、ソースだけから出発するのが一番解決が早そうだ。環境によっては、All Clearなどの機能がついているのもある。

 やっと指定したピンに分離同期が出ているのをオシロで確認して、液晶モニターを動かす。今度は、同期信号のレベルは関係なく、色信号線の電位で色がでるはずだ。通電する。うーむ、前に較べれば少しは色がでているようだが、NTSCのときのグランドが浮いた時の鮮やかな色に較べればまだまだ暗い。

S_a6252996

 このあたりはもう完全なアナログの世界だ。モニターのデータシートの輝度調整(BRT 12ピン)に電圧をかけてみると、明るさは増えてもコントラストが変わらず、白っぽくなるだけである。コントラストを変えるのは、9ピンのVCDC(LCD直流バイアス調整端子)なのだろうが、いずれも出荷時調整済みとあり、いじりにくい。

 すっきりしない幕切れだが、FPGAフォトフレーム計画のカラーバーを出すステップはこのあたりでとりあえず終了し、次のステップに進もうと思う。負け惜しみになるが、同期信号をHDLで出すことはだいぶマスターしたし、FPGAを勉強するという主目的は十分果たされた。

 次の第4ステップはビデオDACの制作だったが、デジタル液晶が手に入ったので、これはあとに延ばし、次の第5ステップを先に始めることにする。第5ステップの目標は、SPIなどを使ったプロセッサーとFPGAのインターフェースを作ることである。

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

2010年6月17日 (木)

XP2のフォトフレーム計画進まず

 FPGAを使ったフォトフレーム計画は、XilinxのSpartan3Eを壊して、Lattice XP2(どっちも付録基板だが)で再出発し、前のXilinxのときのコードの論理合成まで成功した。しかし、その先がなかなか進展しない。

 何かひと山を越すとすっかり安心してしまって急に先に進む気がなくなるという、いつもの悪い癖が主な原因なのだが、サッカーのワールドカップが始まって気が散って(日本代表カメルーン戦勝利おめでとう)しまっていることと、何と言っても、あの小惑星探査機「はやぶさ」の帰還と時期がぶつかって、気分が集中できなかったことがある。

 それにしても、「はやぶさ」の7年間の行動は、驚異と奇跡の連続と言ってよい。目的や大義のために、みずからは滅びて一生を終えるという、もう日本人にはたまらない筋書き(赤穂浪士、源義経、神風特攻隊、西郷隆盛)で、ものづくりのはしくれである当研究所所長も、「はやぶさ」の話をするときは、感情移入を止めることが出来ず、すぐ涙声になってしまうのだが、それにも増して驚異的なのは、「はやぶさ」の危機回復能力である。

 よほどしつこい性格の人(失礼)が、冗長系を設計したのだろう。ありとあらゆる事態を想定して、持てるリソースを最大限に生かせる設計がしてあったようだ。昔の日本はみなそうだった。貧弱な資源と設備のなかで良いものをつくろうと徹底的に頭を絞った。考えに考え抜いていたものだった。「はやぶさ」にはこの精神がみなぎっている。

 経済の低迷、少子高齢化など冴えない話題の多い日本だが、「はやぶさ」の素晴らしい成果を見て勇気付けられる人は多いと思う。日本の技術も、日本人もまだまだ捨てたものじゃない。カプセルは無事回収されたし、回収場所も想定していた地域のど真ん中だったという。もう、すごいとしか言いようがない。

XP2基板がまだできていない(6/5/2010)

A6102957

 それはともかく、フォトフレーム計画である。論理合成は通ったが実は、XP2基板はまだ裸のままである。液晶モニターは2つ買ってあるが、どちらを使うかも決めていない。フォトフレームには、FPGA基板だけでなく、プロセッサー基板をつける必要があり、レイアウトが難しい。

 雑誌付録基板の実装でいつも迷うのが、基板の固定である。付録基板はたいていスペースを稼ぐために固定用のビス穴がついていない。ベース基板を用意してピンヘッダーで直接固定するか、ピンソケットをつけるしかない。ソケットをつけると高くなってしまって、フォトフレームの後ろがかさばってしまう。といってハンダ付けしてしまえば基板の使い回しはできなくなる。

 それにテストのためにはこのベース基板にさらに汎用的なソケットをつけたい。このあいだはこれをさぼってVGAソケットに信号線をハンダ付けし、電源線と裸で並べたため事故が起きた。今度はこの轍は踏みたくない。

 と言って汎用ソケットは実装の時は無駄になる。それにアナログ液晶はインバータが内蔵されているが、デジタルの方は外付けなので、インバータを裸のまま外にだすのは大いに問題がある。電流は微小とはいえ、500Vの高圧だ。ただではすまない。

 デジタル液晶は、前のこわれたカシオ液晶の中古ケースに実装を考える。ここにインバータを入れようという算段だ。偶然にも今度のワイド液晶のサイズは縦が殆ど同寸で、横幅が少し長いだけである。プラスティックの直線の切り取りは結構面倒だが、サーキュラーソーのガイドをはずし、上からケースを当てて、スクリーンの部分を真っ直ぐ切り取ることに成功した。間仕切りを削って入れてみる。うむ、きれいに入りそうだ。

 SRAMはFPGA(XP2)の下につけることにしたが、考えてみたら、RGBインターフェースのテストにメモリは要らない。Xilinxが復活する可能性もあるので、つけるのを迷っている。つけるとなると最少でも30本近い結線が必要だ。あれやこれやでXP2基板の工作がなかなか進まない。

LPCMプレーヤーのウォークマンVRの実装(6/7/10)
 フォトフレームのレイアウトが決まらないので、別の手作業に熱中して気を紛らわせる。このあいだ取り出したウォークマンの2連VRの装填に時間をかけてみた。

 切り取ったVRは基板に端子をハンダ付けで固定する表面実装部品だが、シャフトが基板を貫通している。LPCMプレーヤーには勿論そんなランドなどないし、裏にICがあるので簡単には固定できない。本体を接着剤で固定するしかないが、VRの裏面は凹凸が多く、このままでは接着面積が少ないので固定が難しい。ホットボンドなら止まるだろうけれど、接着剤が盛り上がり、いかにもやっつけ仕事風で気のりしない。

A6082953

 円筒状の支持具にVRを入れて固定し、それを固定するならしっかり止まるのではないかと、あれこれ探していたところ、目の前のボールペンに気づいた。もしかすると、このさやは、VRと内径が同じなのではないか。それにわずかにテーパーがついているのでピッタリはまるところが必ずあるはずだ。早速、さやをはずしてVRを入れてみる。

 おおお、はずしたねじ山のところでVRがぴったりはまる。まるで測ったようだ。このボールペンはどこにでもころがっている普通のボールペンで一本くらいなくても全く困らない。

A6082955

 ルーターの丸鋸でボールペンのさやを切り取った。VRをつけてみる。なかなか具合が良い。端子の部分を更にルーターで削ってへこみを作り元の基板とぴったり合うようにし、UEW線をハンダ付けして、準備は整った。写真は、そのごLPCMプレーヤーに実際に装填した時のものである。全く問題なく動いた。いやあ、こういう工作も楽しい。

A6102958

温度調節の出来る半田ごてをウェブで買う(6/10/2010)
 勢いに乗って、フォトフレームのハードの整備を進めた。モニター電源の12Vを完全にFPGAの環境から離すため、液晶から出てくるフレキケーブルを一旦Aitendoの変換基板で受け、アナログ液晶モニターに固定したNTSC変換アダプターから電源だけを貰って給電することにする。事故のトラウマをひきずっている。こういうこともあろうかと、Aitendoで買った2ミリピッチのピンヘッダーとソケットが役に立った。

 モニターからの信号線はひとつひとつ選ぶのは面倒なので、20ピンのフラットケーブルとソケットでまとめてFPGAにつなぐ。デバッグのため、フラットケーブルソケットをブレッドボードに取り付けるアダプターを自作した。

A6152982

 自作といっても、秋月の細い汎用基板(8×8)を3ヶ使って、上に10×2のフラットケーブル用ピンヘッダー、下にブレッドボードの300mil(3本分)の間隔にあけたピンヘッダーをハンダ付けして相互を接続しただけである。このままだと12Vがピンヘッダーのところまで流れてくるので、ピンヘッダーの12Vのピンを念のためニッパーで切り取る。

 ブレッドボードは大きいのではなく、このあいだ秋月で見つけた小さなブレッドボードを活用することにする。ハードの準備が一段落したので、このあいだから気になっていたハンダごてを新調することを思い立った。

A6152979

 今常用している半田ごては2本で、いずれも10年以上前に買ったものである。2本とも一応セラミックで、プリント配線用に先細の2ミリのものと電気配線やベタアース用に円柱を斜めにカットした5ミリのものである。温度調整は出来ない。

 特に不満があるわけではないが、今のハンダごては、温度調節が出来ないので、グランドパターンのパッドのハンダ付けはこてを換えないと難しい。アマチュアなのでハンダ付けしにくい無鉛ハンダは使っていないが、何気なくウェブを見ていて、「ハンダ付け職人」のページにはまった。読んでいるうち、自分も少し良いものが欲しくなった。

 で、このウェブがすすめているHAKKO のC933を買うことにした。このサイトでもセットで売っているが定価販売なので、ウェブを探した。 ある、ある。ここもえらい価格差だ。何故同じ商品なのにこんなにショップによって値段が違うのだろう。一番安かった楽天の工具サイトにする(定価¥8400が¥5200)。 ついでにウェブがすすめる交換用のこて先(4ミリの900M-T-4C、2ミリの900M-T-2C)も注文した。いずれSpartan3Eの0.5ミリピッチのハンダ付けが待っている。

A6152984

 2日で届いた。早速、試して見る。今まで使っていたもの(写真下)より少し大きいが、なかなか具合が良い。私はUEW線の被覆をはがす時、いつも少量のハンダをこて先に盛って、そこへUEW線の切断面(ここがコツか)を入れ、あらかじめ被覆をはがす(うまくいくときはUEW線の被覆が泡を出してとれていく)のだが、温度が一定に保たれているのでハンダの酸化が少なく失敗が少ない(UEW線の被覆むきは、温度不足だとポリウレタンが炭化し急にはがれにくくなる)。

 それはともかく、新しいハンダごてを使って、XP2でアナログ液晶にカラーバーを出すハード環境はすべて整った。ピンソケットをつけたブレッドボードにはDA変換用のラダー抵抗が乗る予定だ。12Vの隔離も万全である。SRAMはつけていないが、これはプロセッサーや、液晶モニターの選択にも関係するので、もう少しあとで考えることにする。

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

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月 | トップページ | 2010年7月 »