CQ出版『VHDLで学ぶCPLD学習セット』を Quartus II と Verilog-HDL で開発する方法
CQ出版 DesignWave 『VHDLで学ぶCPLD学習セット』は、 Altera の CPLD (MAX7032) を用い、VHDL を Max+PlusII で合成し、実際に動かしてみるという学習セットです。現在(2003年12月)、LeonardoSpectrum-Altera のライセンスが切れてしまったためか、この学習セットは販売されていません。ライセンスが切れたからといって使えないというのももったいないので、Max+PlusII の代わりに Quartus II を用いて利用する方法を紹介します。
学習セットでは VHDL での開発方法が記載されていますが、ここでは Verilog を用いています。
「毎日コミュニケーションズ『CPUの創り方』に掲載されている TD4 CPU を CQ出版『DesignWave 2003年1月号』付録 CPLD 上に実装」は geodenx/td4 に移しました。
Quartus II web edition 3.0 のライセンスセットアップをします。詳細は省略。
- DesignWave 2003年1月号 (付録: CPLD基板) Max+PlusII
- DesignWave 2003年10月号 (付録: FPGA基板) Quartus II web edition 3.0 を参考に設定。
特に Quartus II のライセンスセットアップ方法を解説している後者。
- New Project Quartusを起動し、File -> New Project Wizerd
- New Project Wizerd: Introduction -> Next
- New Project Wizerd: Directory, Name, and Top-Level Entity working directoryとprojectの名前、top-level entity (後述 Verilog 中のトップモジュール)を指定。
-
New Project Wizerd: Add Files まだファイルを作っていないので、空欄。
-
New Project Wizerd: EDA Tool Settings Quartusのみを利用するので、何も指定しない。
-
New Project Wizerd: Device Family
Family: MAX7000S と Yesを選択
- New Project Wizerd: Select a Target Device
EPM7032SLC44-10 を選択
- New Project Wizerd: Summary -> Finish
- Assign Pins 回路図を参考にしながら、Verilog 内の pin の名前と実際のデバイスの pin の対応表を作る。
Assignments -> Assign Pins...
Number 1 の pin を選択して、Pin name に GCLK1 (Verilog 内での名前)と入力し、Add。
同様に、すべての I/O pin に名前を付ける。
しかし、このダイアログで入力するのは大変なので、一旦 Quartus を終了し、un1001b.csf というテキストファイルを直接編集(公式な方法かどうかは不明)
CHIP(UN1001B)
{
(省略)
GCLR : LOCATION = Pin_1;
(ここに追加。例えば、)
OE2 : LOCATION = Pin_2;
}
というように、すべての pin に名前を付ける。
参考: $ grep LOCATION un1001b.csf > grep.csf grep.csf
- Verilog ファイルを作成。
例: sample.v (pin 名は上記の
grep.csfを利用)
Project -> Add/Remove Files in Project で Verilog ファイルを追加します。
- Compilation compile, fitting
Processing -> Start Compilation
- Program CPLD に回路を書き込む。
Tools -> Programmer
書き込みツールを設定します。
Hardware...
Hardware Setting タブ で Add Hardware...
Hardware type: ByteBlasterMV or ByteBlaster II Port LPT1 (プリンタケーブルを繋いでいるポート) を選択。-> OK
ByteBlasterMV を選択し、Select Hardware -> Close
対応する *.pof ファイルの Program/Configure のチェックボックスを有効化。
プリンタケーブルとボードを接続し、ボードの電源を入れておきます。
Processing -> Start Programming
sample.v では DSW2-3 と DSW2-4 の2ビットで指定した値を加算しながらインクリメントする 16-bit カウンタが7セグメントLEDに表示される。
- CQ出版 DesignWave 『VHDLで学ぶCPLD学習セット』解説書
- CQ出版 『トランジスタ技術』 2001年7月号-2002年1月号 連載 (上記解説書の元記事)
- CQ出版 『DesignWave』 2003年10月号








