led.vhdにする。led)と、入出力の設定。Behavioral;VHDLはうろ覚えだけど、そのまま非同期で出力するんなら、これで良かったんじゃなかったっけ?Synthesizeをダブルクリックして、論理合成。→エラー無しだからOKかな。UCFファイルを作成。led.ucfとする。これで、UCFファイルがプロジェクトの追加される。UCFファイルをダブルクリックして編集する。実際にどのピンに接続されるか指定する。→指定しないと適当なピンに割り当てられてしまう。Std.で、インターフェースが選べる5みたいだ。BLVDS_25UCFファイルには、以下のように記述されている。StartupClockをJTAGにしておく。Fileが有効になるのでチェックしておく。Fileをダブルクリックして、bitファイルを生成する。FPGAに直接書き込みましょう。選択ここで、xc3s200と、xcf02sの2デバイスが見つかる。xcf02sをダブルクリックして、bypassボタンを押すxc3s200をダブルクリックして、bitファイルを開くxc3s200を右クリックして、programすれば、書き込みを開始する一応、動くみたいだ。→7segのLEDが光ったままだけどね。入出力をLVDSに設定するやり方が分からない。単純にUCFファイルの設定だけでは、ダメらしい。Jさんと色々と試したけど、うまく行かず。記述する必要があるようだ。これは、OBUF_LVDSがいきなり出てくるし、インバータを回路で書くのが気に入らない。これはアトリビュートを付加するやり方みたいで、こちらの方が良さそうだ。出力をLVDS指定に書き直してみる。要するに、LVDSの差動バッファを定義して記述するってことか。Behavioral;でも何故、IOSTANDARDのアトリビュートをstringって指定する必要があるんだろ?UCFファイルは?プロジェクトにOBUFDSが追加されたが、?マークになってる??でも、UCFファイルをダブルクリックすると、以下のように設定6されていた。なんとか、LVDS出力になったみたいだなぁ。UCFファイルには、以下のように記述された。;コンポーネントの本体は?LVDSの記述自体は、これで良いみたいだが、やはりOBUFDSが?になってるのは、定義の本体が無いからじゃないかなぁ。インスタンシエートする方法を見ると、Unisimライブラリというのがあるらしい。あれ、これはソースにあったような。Fileで、bitファイルが出来るから大丈夫??結局、FPGAの内蔵モジュール等を使用する場合は、UNISIMライブラリを使って、Component記述だけ追加すれば良いって事か。使えるライブラリの一覧って、何処にあるんだろ。思っていたら、mfreemanさんが場所を教えてくれました。→自分の環境ではココOBUFDSも、ちゃんと入ってる。わけ分かんないコンポーネントもあるけど。6led_opはBLVDS_25のままだったのでLVDS_25に直した。あとled_opnの方は、LVDS_25が最初薄く表示された状態だったが、それだとUCFに反映されないようなので、選び直す必要があるらしい。[top]感想やっと、FPGAの書き込み方法が分かって嬉しい。iMPACTって使い方が凄く分かり難いし、面倒だよね。スターターキットには、初心者向けに書き込み方法のメモでも付けといてくれれば良いのに。LVDSの設定にしても、ちょっと色々やろうとすると、設定が面倒、直観的に出来ないね。何やるにしても、調べまくらないとダメだなー。ネットが使えなかったら不可能だよね。これで実際に試してみることが出来そうだ。本質じゃないところで引っ掛かかってたなぁ。スタート出来るようになったから良いか。