FPGAボードで学ぶVerilogHDL(CQ出版)
以前買っておいた本を、A級リーグ指し手1号の影響で、開封してみました
付属のDVD-ROMからソフトウェアをインストール。
最新版はXilinxからダウンロードできるとあったので、会員登録をしてダウンロードしましたが、
インストール中に「型番」入れてくれになり、CQで始まる型番らしきものを入れてみましたが
「怒られました」
とりあえずDVDに入ってるソフトをいれてみます
あとは、本に書いてある手順で、ソースを読み込んで、
ポートの設定ソースも読み込んで、
コンパイルしたら、できました(もともと動くソースなんだからできて当たり前)
さっそくFPGAにデータをロードしようと思いましたが、
ケーブルはパラレルです。
PC側がメスで、ボード側は押す。手持ちのパラレルケーブルはオス-オスで使えませんでした( ´Д`)
残念。
思わず、亀戸のドンキホーテにケーブル買いに行こうとか思うくらい残念ですが、
寒いのでやめておきます(パラレルケーブルとか売ってないかもしれんし)
ソースはled_onoffというのもので、おそらくLEDが点滅するんでしょう
書籍作者の著作物かもしれないけど、怒られはしないでしょう
こんなの。
`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: KURUSUGAWA Electronics Industry Inc,. // Engineer: Masami IKURA / Ichiro YAMATAKE // // Create Date: 18:11:46 07/01/2006 // Design Name: // Module Name: led_onoff // Project Name: CQ-Publishing - Verilog-HDL training kit // Target Devices: XC3S100E-VQ100 // Tool versions: ISE8.1SP3 // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module led_onoff( // モジュール宣言 SW1_I , // ポート定義その1 LED1_O , // ポート定義その2 // 予備の信号.未使用であるが宣言だけはしておく CLK_I , // ポート定義 SW2_I , // ポート定義 SW3_I , // ポート定義 SW4_I , // ポート定義 LED2_O , // ポート定義 LED3_O , // ポート定義 LED4_O , // ポート定義 DP_OEN , // ポート定義 DP_O , // ポート定義 GPIN , // ポート定義 GPIO , TxD , RxD ); //************************************// // 宣言されたポートに信号属性を与える input SW1_I ; // スイッチ入力 output LED1_O ; // LED出力 //****************** 動L述 ******************// // _ョを記述す assign LED1_O = !SW1_I ; //************************************// // 未使用信号の定義 input CLK_I ; input SW2_I ; // スイッチ入力 input SW3_I ; // スイッチ入力 input SW4_I ; // スイッチ入力 output LED2_O ; // LED出力 output LED3_O ; // LED出力 output LED4_O ; // LED出力 output [4:1] DP_OEN ; output [8:1] DP_O ; input GPIN ; output [15:1] GPIO ; output TxD ; input RxD ; assign LED2_O = !SW2_I ; assign LED3_O = !SW3_I ; assign LED4_O = !SW4_I ; assign DP_OEN = { !SW4_I, !SW3_I, !SW2_I, !SW1_I } ; assign DP_O = {8{GPIN}}; assign GPIO = {15{CLK_I}}; assign TxD = RxD ; endmodule // モジュール宣言の終了を示す //************************************//
ポートの定義とか、そのへんはリソース定義みたいなもんですね。
で、LEDにつながってるoutputに出力すればLEDが点灯するんでしょう。
SWはスイッチで、inputになっている
後半の式が並んでるところがロジックと思われる。
問題は、上から順に動くんじゃなくて、全部の行が同時に動く。
(行レベル並列処理)
LED2_O=!SW2_I
ってのは、SW2_Iの値を反転してLED2_Oに出力している
しかし、なんで反転しないといかんのだろう( ´Д`)
↑初心者すぐる