入門チュートリアル - デザインのキャプチャ
まず最初に行うことは、Altium Designer の環境にデザインを取り込む(キャプチャする)ことです。それはつまり、このチュートリアルで使用する回路デザインへ必要なコンポーネントを追加することと、それらを順次配線していくことです。回路図に取りかかる前に、その内容、つまり、プロジェクトを作成しましょう。以下のセクションでご案内するのは、ツイストリングカウンタのデザインをキャプチャするのに必要なステップです。
FPGA プロジェクトの作成
Altium Designer において、全ての設計作業のベースになるのが、プロジェクトファイルです。FPGA デザインでは、FPGA プロジェクト (*.PrjFpg
) を作成します。プロジェクトドキュメントそれ自体は、ASCII ファイルです。プロジェクト情報が収められており、プロジェクト、出力設定、コンパイル設定、エラーチェックの設定等のドキュメントで構成されています。
それでは FPGA プロジェクトを作成しましょう。
- 新しい FPGA プロジェクトを作成します。File » New » Project » FPGA Project コマンドを使用してください。
- Projects パネルの新しいプロジェクト (
FPGA_Project1.PrjFpg
) 名の上で右クリックして、Save Project コマンドを選択します。選択した場所にプロジェクトを保存します。ファイル名Simple_Counter.PrjFpg
がBasic FPGA Design Tutorial
と言う新しいフォルダに作成されます。
注: スペース、あるいはハイフン (-) はプロジェクトファイル名、ドキュメントファイル名に使用しないでください。違反すると、設計プロセスの途中で合成エラーに引っかかります。アンダースコア (_) で代用し、エラーを防ぐようにしましょう。
回路図ソースドキュメントの追加
FPGA プロジェクトは本来、階層構造になっています。回路図、HDL(VHDL や Verilog)、OpenBus ドキュメントの数にかかわらず、階層下方の全てのサブファイルをシートシンボルで参照することができます。全プロジェクトにわたる共通点ですが、単一のトップレベルの回路図でなくてはなりません。このシートは、デザイン用のポート - デザインがターゲットにしている FPGA デバイスの物理的なピンへのインターフェース - を含んでいるだけでなく、Altium Designer における FPGA と PCB を容易に統合します。
このデザイン階層は、後ほど検討することにします。今のところは、FPGA プロジェクトに単一の回路図シート(トップシート)を追加するだけにしておきましょう:
- 新しい回路図ドキュメントを追加します。Projects パネルの FPGA プロジェクトのエントリ上で右クリックし、Add New to Project »
Schematic コマンドを選択します。ブランク(空白)の回路図シートが、アクティブなドキュメントとして、メインのデザインウィンドウに表示されます。
- このドキュメントを保存 (File » Save) します。
Simple_Counter.SchDoc
と言う名前のファイルが、親になるプロジェクトと同じフォルダに作成されます。
- プロジェクトそれ自体は、変更された状態として Projects パネルに表示されます。プロジェクトも保存します。プロジェクト名の上で右クリックし、Save Project を選択してください。
コンポーネントの配置
これで、'ブランクの回路図' が作成されました。必要なコンポーネントを追加していきましょう。コンポーネントは、デザイン回路の機能を表すものであり、デスクトップ NanoBoard NB2DSK01 上にあるリソースとのインターフェースを提供します。
表 1 は、ツイストリングカウンタの回路を定義するのに必要なコンポーネントを示します。これらのコンポーネントは全て、FPGA Generic 統合ライブラリ (FPGA Generic.IntLib
) の中で見つけることができます。ライブラリは、Altium Designer がインストールされているフォルダの \Library\Fpga
ディレクトリにあります。
シンボル
|
コンポーネント名
|
内容
|
必要な数
|
---|---|---|---|
FJKC | J-K フリップフロップ 非同期クリア付 | 2 | |
INV | 反転器 | 6 | |
J8B_8S | Bus Joiner - 8 ピン入力バス、8 個のシングルピンへの出力用 | 1 | |
OR2N2S | 2 入力の OR ゲート、Low A、Low B 入力(シングルピンバージョン) | 1 | |
SR8CLED | 8 ビットの読取可能なシリアル/パラレル-入力、パラレル出力の双方向シフトレジスタ、クロック同期可能、非同期 クリア(バスバージョン) | 1 |
表 2 は、デザインに必要なインターフェースコンポーネントを表しています。これらのコンポーネントは、一般的に、ポートのコンポーネント(または、ポートプラグイン)として参照され、デスクトップ NanoBoard 上の関連するリソースと、ターゲットにしている FPGA ドータボードの物理的な I/O ピンの間の接続を自動的に確立します。設計側の観点から、それらはデザインの拡張と言えます。つまり、デザインからの信号が接続されるターゲットデバイスの物理的なピンと言うことです。これらのポートコンポーネントは、FPGA NB2DSK01 Port-Plugin 統合ライブラリ (FPGA NB2DSK01 Port-Plugin.IntLib
) にあります。ライブラリは、Altium Designer がインストールされているフォルダの \Library\Fpga
ディレクトリにあります。
シンボル
|
コンポーネント名
|
内容
|
---|---|---|
CLOCK_REFERENCE | このコンポーネントは、デスクトップ NanoBoard 上の 20MHz 固定のシステムクロック信号のインターフェースです。この信号を使用して、同期クロック信号をフリップフロップとシフトレジスタのロジックに提供します。 | |
DIPSWITCH | このコンポーネントは、Desktop NanoBoard 上の DIP スイッチのインターフェースです。これらのスイッチのうち、3 つを使用してカウンタの方向(左または右)や停止をコントロールします。 | |
LED | このコンポーネントは、Desktop NanoBoard 上のユーザ LED のインターフェースです。LED は、カウンタの出力を視覚的に表示するために使用します。 | |
TEST_BUTTON | このコンポーネントは、Desktop NanoBoard 上の |
図 2 に示すように、これら全てのコンポーネントを回路図シート上に配置します。上記 2 つの統合ライブラリは登録されており、Libraries パネルからデフォルトで利用できます。このチュートリアルではそれ以上のライブラリは使用しません。あとは、関連するライブラリをパネル内でアクティブにして、リスト内のコンポーネントエントリを選択します。パネル右上の Place ボタンをクリックするか、コンポーネントを直にシート状へクリックアンドドラッグしてください。回路図配置のコントロールでは、反転や回転など、必要に応じた細かい調整ができます。
一度配置し、Tools » Annotate Schematics Quietly コマンドを使用して各コンポーネントの部品番号を割り当てます。
図 2. 回路図シートへのコンポーネントの初期配置(Simple_Counter.SchDoc)。デザインの配線
ここまでで、全てのコンポーネントが配置されました。今度は、それらをお互いに接続していきましょう。デザインに接続性を追加します。
- それでは、配線しましょう。図 3 のように、Place » Wire コマンドと Place » Bus コマンドを使用します。コマンドは、Wiring ツールバーから、 と ボタンでそれぞれ、利用できます。
- Wiring ツールバーから、 ボタンをクリックして、GND 電源ポートを配置します。ポートがカーソル上にある状態で、Tab キーを押します。表示される Power Port ダイアログで、Style 属性を
Bar
に切り替えます。2 つのフリップフロップの CLR ピンに接続しているワイヤの左下に接続するようにポートを配置します。
- 別の GND 電源ポートを配置します。再度
Bar
を使用して、シフトレジスタの CLR ピンに接続するようにしてください。
- Wiring ツールバーから、 ボタンをクリックして、GND バス電源ポートを配置します。ここでも、ポートの Style 属性を
Bar
に変更します。ポートを配置して、シフトレジスタのD[7..0]
ピンに接続するようにします。必要に応じ、Spacebar を押して、ポートを回転させます。
- ここで、シフトレジスタの出力バスからそれぞれの信号を取り出すため、バスエントリを追加する必要があります。これらのエントリには、各自の変換器経由で、シフトレジスタの SLI と SRI 入力につながるそれぞれのワイヤを接続する必要があります。Wiring ツールバーで ボタンをクリックし、図 6 のように 2 つのバスエントリを配置します。
- デザインを整然とさせ、コンパイル時の警告を最小限にとどめるには、No ERC マーカーをそれぞれ、Bus Joiner コンポーネント (
U4
) の未使用の出力に配置しておくと良いでしょう。Wiring ツールバーで、 ボタンをクリックし、No ERC マーカーの配置モードに入ります。図 7 のように、未使用のピン O3 から O7 までのそれぞれにマーカーの位置を決め、配置します。
回路内のキーネットにラベルを貼り付けてデザインの配線を完了させましょう。ラベルを貼ることで、デザインの内容が理解し易くなり、コンパイル時のデザインチェックで問題の追跡に大いに役立ちます。
- デザインにネットラベルを貼り付けましょう。図 8 のように、Place » Net Label コマンドを使用します(あるいは、Wiring ツールバーの ボタンをクリックします)。図 8 のネットラベルはサンプルです。重複さえしなければ、別の名前をネットラベルとして使用することもできます。
- 回路図とその親プロジェクトを保存します (File » Save All)。
これで、全てのデザインを回路図上に取り込む(キャプチャする)ことができました。このあとは、デザインを 検証 し、実際の FPGA デバイスを ターゲットにしたダウンロード に移ります。