FPGA入門
ウェブからダウンロード可能なFPGAの開発ツール
後編ではFPGAの開発環境について理解を深めていただくために,アルテラが提供しているQuartus IIを例にとって,実際の作業手順を簡単に説明しよう。Quartus IIは,分かりやすいGUIを採用しているうえに,作業の多くが自動化されている。このため,FPGA設計に慣れていないエンジニアにも使いやすい開発環境の一つである。
Quartus IIには,前編で述べたように,無償で提供される「Web Edition」と,FPGAの上位ファミリと高レベルな機能をサポートした「Subscription Edition」(年間約2,500米ドル)というふたつのバージョンがある。ここではWeb Editionを使ってみよう。
Web Editionはアルテラのウェブからダウンロードできる。URLは http://www.altera.co.jp/support/software/download/sof-download_center.html だ。2009年9月時点で「V9.0+サービスパック2」がリリースされている。サポートしているオペレーティングシステムはWindows XP(32ビット)またはWindows Vista(32ビット)のいずれかである。ダウンロードに際しては,最初にAltera.comにユーザー登録を行ってアカウントを作成するか,「Get One-Time Access」(ワンタイム・アクセス)として一度のみの登録を行う。他のダウンロードやサービスを利用するのであればアカウントを作成すると便利だろう。
ダウンロード後にファイルをダブルクリックするとインストールウィザードが起動する。一般的なWindowsアプリケーションと同様にウィザードの指示に従ってインストールを進めていけばよい。なお,ダウンロードとインストールにはおよそ10GBのハードディスク容量が必要だ。
アイコンをワンクリックするだけでFPGAデザインが完了
Quartus IIを使ったFPGAの開発は大きく3つのステップに分けられる(図2)。ここでは便宜的に「準備ステップ」,「実行ステップ」,「確認および動作ステップ」と表記してみよう。
(1) 準備ステップ
「準備ステップ」ではFPGAの開発に必要な各種の設定を行う。具体的には,プロジェクトの作成とデザイン名(トップレベルエンティティ名)の設定,使用するFPGAデバイスの指定,回路デザインの作成または設計済みデザインの読み込み,タイミング制約の指定などだ。
これらのサブステップのほとんどは「プロジェクト・ウィザード」に従って入力を進めていくだけで済んでしまうので簡単だ。
ここではチュートリアルとしてインストールされる「filtref」というデザインを使用してみよう。RTLでの設計が終了しているという前提で進めていく。詳しい操作内容は囲み記事を参照していただきたい。
《「準備ステップ」の手順の例》
Quartus IIを起動し,[File]メニュー→[New Project Wizard...]をクリックします。
New Project Wizardウィンドウが表示されますので,次の手順に従います。
[page 1 of 5](プロジェクトの作成)
1. "What is the working directory for this project?" 欄に " "C:\altera\90sp2\qdesigns\fir_filter" を指定します。
2. "What is the name of this project?" 欄に "filtref.bdf" を指定します(OSの設定によっては拡張子は表示されません)。
3. [Next>]をクリックします。
[page 2 of 5](デザイン関連ファイルの追加)
1. [Add All]をクリックします。
2. [Next>]をクリックします([Finish]をクリックしてもかまいません)。
[page 3 of 5](デバイスの指定)
1. [Device family]→[Family]が "Stratix II",[Target device]が "Auto device selected by the Fitter" になっていることを確認します(デフォルト)。
2. [Next>]をクリックします([Finish]をクリックしてもかまいません)。
[page 4 of 5](外部EDAツールの指定)
1. [Next>]をクリックします([Finish]をクリックしてもかまいません)。
[page 5 of 5](設定のサマリ)
1. 内容を確認して[Finish]をクリックします。
(2) 「実行ステップ」
「実行ステップ」はQuartus IIの中心的な機能で構成される。ASICの設計者にはおなじみの「論理合成(シンセシス)」や「配置配線」などの処理はこのステップに含まれる。なおアルテラでは実行ステップのことを「コンパイル」と呼んでいる。ソフトウェア開発でソースコードをオブジェクトに変換するコンパイル処理に似ているからだ。
Quartus IIでは「実行ステップ」をアイコンのワンクリックで処理することができる。これを「フルコンパイル」と呼ぶ。フルコンパイル処理では,デザイン情報のチェックと論理合成を行う「アナリシス&シンセシス」,FPGAデバイスに論理と配線をマッピングする「フィッティング」(ASIC における「配置配線」),デバイスのプログラミングファイルを作成する「アセンブラ」,TimeQuest(タイムクエスト)というスタティック・タイミング解析ツールを使った「タイミング解析」が一括して処理される。
サンプルとして指定した「filtref」というデザインはエラーなく作成されているため,フルコンパイルは問題なく終了するはずだ。《「実行ステップ」の手順の例》
次のいずれかを行います。
1. Quartus IIのツールバーにある▲(右向き)アイコンをクリックします。
2. [Processing]メニュー→[Start Compilation]をクリックします。
3. 画面左下のTaskウィンドウの最上位にある[Compile Design]をダブルクリックします。
(3) 「確認および動作ステップ」
「確認および動作ステップ」は,実行ステップで出力されるレポートの確認,配置配線後の詳細なタイミングシミュレーション,そして実際のFPGAデバイスに回路情報をプログラミングするステップだ。
配置配線後の詳細なタイミングシミュレーションは、主にデバイス外部とのインタフェースやデバイス内部で非同期回路がある場合に行うと考えればよいだろう。実際の設計現場では、RTL記述による設計の時点でデバイスの機能検証のためのシミュレーションを実施し終了させる。
今回のデモではレポートの確認がメインになるだろう。画面中央に表示される "Compilation Report" ツリーを適宜クリックすると,関連する処理結果がレポートとして表示される。
《FPGAへのプログラミング》
デバイスのプログラミングにはFPGAを搭載したボードとケーブルが必要です。評価ボードはアルテラやサードパーティから提供されています。USBケーブルは「USB-Blaster」の品名でアルテラから供給しています(価格は300米ドル)。また、アルテラの大部分の開発ボードとアルテラのパートナーから販売されている一部のボードでは、「USB-Blaster」同等の回路をボード上に搭載しているものがあります。この場合は一般のUSBケーブルでPCとボードを接続するだけでプログラミングが可能です。なお今回のデモではデバイスの自動選択を指定しましたが(「準備ステップ」の[page 3 of 5]),実際のFPGAにプログラミングする場合は,ボード上に実装されたデバイスを指定するとともに,説明では省略した詳細なピン設定を行う必要があります。
FPGA設計やツールに関するさまざまなリソースを提供
以上,Quartus IIの大きな3ステップの流れを駆け足で説明した。比較的簡単にFPGAの開発を試してみることができることがお分かりいただけたのではないだろうか。
今回はQuartus IIの操作をGUIベースで説明したが,ASICなどのEDAツールに慣れたエンジニアのニーズに応えるために,スクリプトベースでの処理にも対応している点も特筆しておきたい。そのほか,ASICやFPGAの設計経験を積んだ「パワーユーザー」にも満足いただけるような工夫も随所に盛り込んである。しかもWeb Editionであれば費用をかけずに開発環境を構築できる。実機ボードがあればすぐに実機テストができてしまう点もFPGAならではの魅力だろう。
なお,本稿では細かい操作方法やパラメータの設定方法などは省略したが,アルテラのWebサイト内でも「Quartus II 開発ソフトウェアの基本デザイン・フロー」のページで基本デザイン・フローに沿って補足説明と資料の入手先を学ぶことができる。 (http://www.altera.co.jp/support/software/quartus2/design_flow/des-index.html)
アルテラWebサイトではさらに多くのチュートリアルを提供している。たとえば,デモビデオの
「Quartus IIオンラインデモ:簡単!デザイン実装」(http://www.altera.co.jp/education/demonstrations/simple-design/demo.html),
「初めてのコンパイル」(http://www.altera.co.jp/education/demonstrations/my-first-compile/demo.html),
「TimeQuestタイミング・アナライザ」(http://www.altera.co.jp/education/demonstrations/timequest/timequest-demo.html)
などを参照していただくことで,より深い理解が進むだろう。
そのほか,「アルテラ・テクニカル・トレーニング」のカリキュラムとしてQuarus IIのトレーニング・コースを随時提供している。
(http://www.altera.co.jp/education/training/tra-index.html)
FPGAの開発がどんなものかをご理解いただくうえでも,こういったリソースをぜひご活用いただければ幸いである。
《備考》
オンラインビデオ「初めてのコンパイル」では,旧バージョンのQuartus II V8.0を使用しているため,「準備ステップ」に該当するプロジェクト・ウィザードでの操作が本記事の説明とは若干異なっています。
[page 1 of 5](プロジェクトの作成)
ワークディレクトリのパスが異なっています。
[page 2 of 5](デザイン関連ファイルの追加)
タイミング制約ファイル(filtref.sdc)を追加しています。
[page 3 of 5](デバイスの指定)
Cyclone IIIファミリからEP3C5E144C8を指定しています。
以上の違いがあることをご承知おきください。
- アルテラのFPGA入門
- FPGAを耳にしたことはあるものの詳しくは知らない、FPGAは知っているが最近の動向はあまり詳しくない、今後FPGAを使ってみたいと思っている方まで、FPGAが気になるすべての方に、FPGAの基本から紹介。
- アルテラの無料オンラインセミナー
- アルテラの製品やソリューション、応用アプリケーションなどに関する情報をわかりやすくまとめたオンライン・セミナー。短時間で理解したい人にぴったりの内容。
- 第9回:エンベデッド・プロセッサによる FPGAの進化と可能性
- 第8回:FPGAの応用その2 (後編)通信システムへの応用
- 第8回:FPGAの応用その2 (前編)画像処理
- 第7回:FPGA採用の変遷
- FPGAクイズ:クイズでわかるFPGAの素顔 2択はこちら、3択はこちら
- 第6回:FPGAの開発その2 「意外に知られていないFPGA開発ソフトウェアの最新事情」
- 第5回 FPGAの開発その1 (後編)Quartus IIを使って開発フローを実践
- 第5回:FPGAの開発その1 (前編)FPGAの開発手順と開発ツール
- 第4回:FPGAの利点その2 「時は金なり」(後編)開発期間の短縮で利益の最大化を図る
- 第4回:FPGAの利点その2 「時は金なり」(前編)FPGAでゆとりを捻出?!
- 第3回:FPGAの利点その1 守りの設計から攻めの設計へ(後編)
- 第3回:FPGAの利点その1 守りの設計から攻めの設計へ(前編)
- 第2回:FPGAの基礎その2 FPGAの中をのぞいてみる!(後編)
- 第2回:FPGAの基礎その2 FPGAの中をのぞいてみる!(前編)
- 第1回:FPGAの基礎その1 “夢”のデバイスFPGA〜「回路を変更したい!それも簡単に!」
FPGAのPはProgrammableの頭文字のPです。その「プログラマブル」の名の通り、FPGAは、「後からでも回路の書き換えが可能」である点が大きな利点になっています。詳しくはアルテラの「FPGA入門」をご覧ください。
日本アルテラ株式会社 〒163-1332 東京都新宿区西新宿6-5-1 新宿アイランドタワー32階
TEL 03-3340-9480 FAX 03-3340-9487 URL http://www.altera.co.jp/











