dsp デザイン・フロー・ ユーザーガイドdsp...

40
101 Innovation Drive San Jose, CA 95134 www.altera.com DSP ࢨࢹ 2009 6

Upload: others

Post on 03-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

101 Innovation DriveSan Jose, CA 95134www.altera.com

DSP デザイン・フロー・

ユーザーガイド

ドキュメント・デート:2009 年 6 月

Page 2: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos thatare identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or servicenames are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrantsperformance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any timewithout notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing byAltera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.

UG-10039-3.2

Page 3: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

目次

第 1 章 はじめにデジタル信号処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1FPGA アーキテクチャの特長 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1DSP プロセッサによるソフトウェア・デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4FPGA における DSP デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4

FPGA におけるソフトウェア・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5ソフトウェアとハードウェア・アクセラレーションの組み合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5ハードウェア・デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6

DSP デザインにおける FPGA の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6

第 2 章 DSP デザイン・ビルディング・ブロックMegaCore ファンクション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2

第 3 章 DSP BuilderDSP Builder のデザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1標準/アドバンスト・ブロックセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1

標準ブロックセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2アドバンスト・ブロックセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3

DSP Builder のインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4DSP Builder 標準/アドバンスト・ブロックセットの相互運用性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4

組み合わせブロックセットの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6組み合わせブロックセット・デザインのアーカイブ作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11

ツール統合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12ModelSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13Quartus II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14SOPC Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14

付録 A Hardware in the Loop の DSP Builder アドバンスト・ブロックセットとの使用組み合わせブロックセットの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–1アドバンスト・ブロックセットの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–6

追加情報改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1アルテラへのお問い合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1

DSP デザイン・フロー・ ユーザーガイド

Page 4: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

iv 目次

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 5: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

1. はじめに

この資料は、アルテラの DSP Builder を使用して、Altera FPGA に DSP デザインを実

装するための入門書です。この入門書では、DSP Builder の標準/アドバンスト・ブ

ロックセット・ツール、およびこれらのツールを提供する DSP IP ライブラリについ

て紹介します。

デジタル信号処理デジタル信号処理(DSP)市場には、3G ワイヤレス、ボイス・オーバ・インターネッ

ト・プロトコル(VoIP)、マルチメディア・システム、レーダおよびサテライト・シ

ステム、医療システム、画像処理アプリケーション、および家庭用電化製品など、急

速な発展を遂げているアプリケーションが含まれます。これらのアプリケーション

は、幅広い性能とコストの要求に対応しています。

これらのアプリケーションの実装には多くの場合、専用の DSP プロセッサが使用さ

れます。これらの DSP プロセッサの場合、ソフトウェアはプログラマブルですが、

ハードウェア・アーキテクチャには柔軟性がありません。したがって、DSP プロセッ

サは、バス・パフォーマンスのボトルネック、積和演算(MAC)の固定ブロック数、

固定メモリ、固定ハードウェア・アクセラレータ・ブロックおよび固定データ幅など、

固定ハードウェア・アーキテクチャによって制限されます。DSP プロセッサの固定

ハードウェア・アーキテクチャは、DSP ファンクションの実装のカスタマイズが必要

と思われる特定のアプリケーションには適していません。

FPGA は、DSP アプリケーションの実装にリコンフィギュレーション可能なソリュー

ションを提供します。また、DSP プロセッサよりも高い DSP スループットおよび生

データ処理能力を提供します。FPGA はハードウェア上でリコンフィギュレーション

できるため、さまざまな DSP アプリケーションを実装する際にハードウェアを完全

にカスタマイズできます。したがって、FPGA に実装された DSP システムは、アーキ

テクチャ、バス構造、メモリ、ハードウェア・アクセラレータ・ブロックをカスタマ

イズすることができ、MAC ブロック数も固定されません。

FPGA アーキテクチャの特長FPGA デバイスは、要求される機能性に応じて異なるモードで動作するようにコン

フィギュレーションできるロジック・エレメント(LE)とメモリで構成されていま

す。このハードウェアの柔軟性によって、VHDL または Verilog HDL など、適切な

ハードウェア記述言語(HDL)を使用して記述された、各種ハードウェア・デザイン

を実装することができます。したがって、同一の FPGA に、DSL ルータ、DSL モデ

ム、JPEG エンコーダ、デジタル・ブロードキャスト・システム、またはバックプレー

ン・スイッチ・ファブリック・インタフェースを実装できます。

アルテラの Stratix® ファミリなどの高集積 FPGA には、FPGA の内部に完全なシステム

を 実 装 で き る エ ン ベ デ ッ ド・シ リ コ ン 機 能 が 組 み 込 ま れ て い る た め、

system-on-a-programmable-chip(SOPC)実装上にシステムを生成します。エンベデッ

ド・メモリ、DSP ブロック、およびエンベデッド・プロセッサなどのエンベデッド・

シリコン機能は、有限インパルス応答(FIR)フィルタ、高速フーリエ変換(FFT)、

コリレータ(相関器)、イコライザ、エンコーダ/デコーダなどの DSP ファンクショ

ンの実装に理想的に適しています。

DSP デザイン・フロー・ ユーザーガイド

Page 6: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

1-2 第 1 章: はじめに

FPGA アーキテクチャの特長

また、エンベデッド DSP ブロックは、DSP ファンクションの一般的な算術演算であ

る累算、加算/減算および積算のような他の機能も提供します。例えば、Stratix デバ

イスの DSP ブロックは、最大 224 個の乗算器を提供し、1 クロック・サイクルで 224の乗算を実行できます。制限された数の乗算器しか提供しない DSP プロセッサと比

べて、アルテラの FPGA は、さらにより広い乗算器帯域幅を提供します。

総合的な DSP 帯域幅の決定的要因の 1 つは乗算器帯域幅です。したがって、FPGA の

総合的な DSP 帯域幅は、DSP プロセッサよりも FPGA を使用したほうが、はるかに

広くなる場合があります。例えば、Stratix デバイスの DSP ブロックは、70 GMACS の

DSP スループットを提供できますが、一般的に使用される DSP プロセッサは最大 4.8GMACS しか提供できません。図 1-2 は、アルテラの FPGA デバイス・ファミリで使

用可能な DSP 関連の機能を示しています。

多くの DSP アプリケーションでは、大量のデータ処理を管理するために外部記憶装

置を使用します。FPGA のエンベデッド・メモリは、この要求を満たしており、特定

の場合でも外部記憶装置を必要としません。例えば、Stratix デバイス・ファミリは、

TriMatrixTM メモリ機能による最大 10 Mbit のエンベデッド・メモリ機能を提供します。

FPGA のエンベデッド・プロセッサは、システムをハードウェアとソフトウェアに分

ける際に、総合的なシステムの統合と柔軟性を提供します。エンベデッド・プロセッ

サにはシステムのソフトウェア・コンポーネントを実装し、FPGA の汎用ロジック・

リソースにはハードウェア・コンポーネントを実装できます。アルテラのデバイスで

は、エンベデッド・ソフトコア・プロセッサとエンベデッド・ハードコア・プロセッ

サのどちらかを選択できます。

Nios® II エンベデッド・プロセッサのようなソフトコア・プロセッサを FPGA に実装

し、複数のシステム周辺装置を追加できます。Nios II プロセッサは、ユーザー決定可

能なマルチ・マスタ・バス・アーキテクチャをサポートします。これにより、バス帯

域幅を最適化し、DSP プロセッサの潜在的なボトルネックを取り除くことができま

す。マルチ・マスタ・バスを使用すると、特定のアプリケーションに必要なだけのバ

スおよびパフォーマンスを定義することができます。標準の DSP プロセッサは、デー

タ・バス数を選択した場合、パフォーマンスを潜在的に制限することで、サイズとパ

フォーマンスの間で妥協するようになっています。

図 1-1. アルテラ FPGA デバイスの DSP 関連機能

Niosâ

I/O

DSP

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 7: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 1 章: はじめに 1-3FPGA アーキテクチャの特長

FPGA のソフト・エンベデット・プロセッサでは、Nios II プロセッサの MUL 命令な

どのカスタム命令にアクセスできます。この命令は、ハードウェア乗算器を使用して、

2 クロック・サイクルで 1 回の乗算演算を実行できます。FPGA デバイスは、デバイ

スのロジック・リソースがリコンフィギュレーション可能であるため、ハードウェア

内の性能重視の機能を強化するための柔軟なプラットフォームを提供します。事前に

定義されたハードウェア・アクセラレータ・ブロックを持つ DSP プロセッサとは異

なり、FPGA は、アプリケーションごとにハードウェア・アクセラレータを実装でき

るため、ハードウェア・アクセラレーションにより達成可能な最高のパフォーマンス

が実現できます。ハードウェア・アクセラレータ・ブロックは、パラメータ化可能な

IP ファンクションを使用してそのようなブロックを設計するか、あるいは最初から

HDL を使用して設計することにより実装できます。

アルテラは、DSP デザイン用の MegaCore® ファンクションを提供しています。これら

のファンクションは、誤り検出および訂正(リード・ソロモンと Viterbi)、フィルタ

(CIC と FIR)、信号生成(NCO)、変換(FFT)、およびビデオ/画像処理(アルファ・

ブレンディング・ミキサ、クロマ・リサンプラ、クリッパ、クロック動作ビデオ入力、

クロック動作ビデオ出力、カラー・プレーン・シーケンサ、デインタレーサ、2D FIRフィルタ、2D メディアン・フィルタ、フレーム・バッファ、ガンマ補正、ライン・

バッファ・コンパイラ、スケーラ)をサポートしています。

これらの MegaCore ファンクションについて詳しくは、第 2 章、DSP デザイン・ビル

ディング・ ブロックを参照してください。

これらの各ファンクションをパラメータ化して(MegaWizard インタフェース使用)、

特定のパラメータ・セットに対して最も効率的なハードウェア実装を設計することが

できます。これにより、最大の柔軟性が備わるため、デザインのソース・コードを変

更せずに IP をカスタマイズすることができます。どのハードウェア記述言語(HDL)で記述されたパラメータ化 IP コアも、またはどの EDA ツールを使用して生成された

ネットリスト・ファイルも統合できます。IP は、新しい FPGA ファミリに容易に移植

できるため、性能の向上とコストの低減が可能です。プログラマブル・ロジックおよ

びソフト IP コアの柔軟性により、通常 DSP プロセッサで発生する長いリード・タイ

ムを待たなくても、デザインを新しい基準に迅速に適合させることができます。

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 8: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

1-4 第 1 章: はじめに

DSP プロセッサによるソフトウェア・デザイン・フロー

DSP プロセッサによるソフトウェア・デザイン・フロー図1-2に、DSPプログラマが従う標準的なソフトウェア・デザイン・フローを示します。

MATLAB などのアルゴリズム開発ツールは DSP アルゴリズムの最適化に、Simulinkはシステム・レベルのモデル化によく使用されます。その後、アルゴリズムとシステ

ム・レベルのモデルは、統合開発環境を使用して C/C++ またはアセンブリ・コードで

実装されます。統合開発環境は、デザイン、シミュレーション、デバッグおよびリア

ルタイム検証ツールを提供します。標準 C ベースの DSP ライブラリを使用すると、設

計サイクルを短縮でき、デザイン再利用の利点が得られます。

FPGA における DSP デザイン・フロー従来、DSP システムは、Verilog HDL と VHDL などの HDL 言語に基づいたハードウェ

ア・フローを使用して、FPGA に実装されていました。現在では、DSP Builder、SOPCBuilderなどのアルテラのDSPツール、および完全なソフトウェア開発プラットフォー

ムにより、FPGA をターゲットとする際にソフトウェア・ベースのデザイン・フロー

を使用できます。

図 1-3 では、FPGA で使用可能なさまざまなデザイン・フロー・オプションについて

概説します。

図 1-2. ソフトウェア・ベースの DSP デザイン・フロー

MATLAB/Simulink

C

DSP

DSP

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 9: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 1 章: はじめに 1-5FPGA における DSP デザイン・フロー

FPGA におけるソフトウェア・フロー

エンベデッド・プロセッサを備えたアルテラの FPGA は、ソフトウェア・ベースのデ

ザイン・フローをサポートします。アルテラは、ソフトウェア・デザインを、コンパ

イル、デバッグ、アセンブリ、およびリンクするためのソフトウェア開発ツールを提

供しています。これらのソフトウェア・デザインは、オンチップ RAM または外部記

憶装置のいずれかを使用して、FPGA にダウンロードできます。

ソフトウェアとハードウェア・アクセラレーションの組み合わせ

エンベデッド・プロセッサおよびハードウェア・アクセラレーションは、ソフトウェ

ア開発者によく知られている開発フローでの柔軟性、性能、およびコスト効果を提供

します。ソフトウェア・デザイン・フローをハードウェア・アクセラレーションと組

み合わせることができます。このフローでは、最初に C コードをプロファイルして、

最も高い性能が要求される機能を識別します。次に、アルテラの DSP IP を使用する

か、ユーザー独自のカスタム命令を開発することにより、FPGA におけるそれらの機

能のタスクを強化できます。

他の低性能の DSP アルゴリズムを備えたシステム制御コードは、Nios II エンベデッ

ド・プロセッサ上で実行できます。

アルテラは、システム・レベルのパーティション作成および統合用に、SOPC Builderのようなシステム・レベルのツールも提供します。SOPC Builder を使用して、Nios IIエンベデッド・プロセッサのようなエンベデッド・プロセッサ、システム周辺装置、

および IP MegaCore ファンクションを組み合わせることにより、全ハードウェア・シ

ステムを構築できます。

図 1-3. FPGA ベースの DSP デザイン・フロー・オプション

� DSP

� DSP

� DSP

FPGAFPGA FPGA

DSP

HDL

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 10: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

1-6 第 1 章: はじめに

DSP デザインにおける FPGA の利点

アルテラの DSP Builder ツールは、Simulink から直接 FPGA ハードウェアへのインタ

フェースを提供します(図 1-4)。DSP Builder ツールは、DSP ファンクションのハー

ドウェア実装を単純化し、HDL デザイン・フローに必ずしも精通していないシステ

ム・エンジニアにシステム・レベル検証ツールを提供します。システム・エンジニア

は、HDL を学習しなくても FPGA に DSP ファンクションを実装することができます。

さらに、DSP Builder で作成したデザインを SOPC Builder システムに組み込んで、完

全な DSP システム実装を実現することができます。

ハードウェア・デザイン・フロー

また、HDL ベースのデザイン・フローを使用して、DSP システムの純粋なハードウェ

ア実装を開発できます。アルテラは、Quartus® II 開発ソフトウェアなどの FPGA 開発

ツールの完全なセットを提供し、Synopsys、Synplify、および Precision Synthesis のよ

うな他の EDA ツールへインタフェースします。これらのツールを使用すると、ハー

ドウェア・デザイン、シミュレーション、デバッグ、および DSP システムのイン・シ

ステム検証を実行できます。あらかじめ最適化された DSP MegaCore ファンクション

のスイートは、この開発プロセスを単純化できます。また、図 1-4 に示された DSPBuilder デザイン・フローに従うと、HDL を学習しなくてもハードウェアのみの DSPシステムを FPGA に実装できます。

DSP デザインにおける FPGA の利点FPGA デバイスは、各種 DSP アプリケーションにリコンフィギュレーション可能な

DSP ソリューションを提供します。FPGA デバイスには、エンベデッド・プロセッサ、

DSP ブロック、およびメモリ・ブロックなどの各種エンベデッド機能が組み込まれて

います。これらのデバイスの機能は、DSP プロセッサと比べて、FPGA において非常

に高性能な DSP 機能を提供します。FPGA を使用して、アプリケーションの最適な実

装が実現できるようにハードウェアをカスタマイズできます。

図 1-4. アルテラ FPGA の DSP Builder デザイン・フロー

DSP Builder

Quartus II

MATLAB/Simulink

DSP

DSP

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 11: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 1 章: はじめに 1-7DSP デザインにおける FPGA の利点

FPGA はまた、Nios II エンベデッド・プロセッサのようなエンベデッド・プロセッサ

を使用して、従来の DSP ソフトウェア・デザイン・フローに類似したソフトウェア・

ベースのデザイン・フローを提供します。 さらに、FPGA は、ソフトウェア・デザイ

ン・フローのハードウェア・アクセラレーションとの組み合わせを可能にする、SOPCBuilder を使用したデザイン・フローを提供します。このデザイン・フローを使用する

と、FPGA に完全な DSP システムを実装できるため、コスト効果の高い、高性能 DSPシステムを開発できます。

また、アルテラの FPGA によって DSP Builder ツールに基づいたデザイン・フローが

提供されるため、MATLAB/Simulink で設計を行う DSP システム・エンジニアは、HDLを学習しなくても FPGA 上にシステムを実装することができます。DSP Builder ツー

ル・フローは SOPC Builder ツール・フローと組み合わせることもでき、これにより完

全な DSP システムの実装が可能になります。

したがって、アルテラの FPGA には、純粋な DSP プロセッサ・ベースの実装と比較

した場合、システム統合、システムを分ける際の柔軟性、システム・コストの低減、

およびパフォーマンスの向上といった利点があります。

DSP Builder デザイン・フローについて詳しくは、第 3 章、DSP Builder を参照してく

ださい。

f SOPC Builder デザイン・フローについて詳しくは、「Quartus II ハンドブック Volume 4」の「SOPC Builder」を参照してください。

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 12: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

1-8 第 1 章: はじめに

DSP デザインにおける FPGA の利点

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 13: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

2. DSP デザイン・ビルディング・ブロック

MegaCore ファンクションアルテラの MegaCore IP ライブラリには、DSP デザインに使用できる以下の MegaCoreファンクションがあります。

誤り検出および訂正

リード・ソロモン(RS)コンパイラは、順方向誤り訂正アプリケーションに対

して、完全パラメータ化が可能なエンコーダおよびデコーダを実装します。RSコードは、データのストレージ、検索および送信用の広範な DSP アプリケー

ションにおいて、誤り検出および訂正に幅広く使用されています。

f 詳しくは、「Reed-Solomon Compiler User Guide」を参照してください。

Viterbi コンパイラは、幅広い標準 Viterbi デコーダを実装する、高性能でソフト・

デシジョンの Viterbi MegaCore ファンクションを実装します。Viterbi デコード

(最尤復号法または前向き動的計画法としても知られている)は、漸近的に最

適のデコード技法を使用することにより畳み込みコードをデコードする最も

一般的な方法です。その基本フォームにおいて、Viterbi デコードは、最適な網

羅的探索を実行する効率的な再帰的アルゴリズムです。

f 詳しくは、「Viterbi Compiler User Guide」を参照してください。

フィルタ

Hogenauer フィルタとしても知られる、カスケーデッド・インテグレータ・コー

ム(CIC)フィルタは、デシメーションによる狭帯域ソースからのベースバン

ド信号の抽出において、また補間による処理済ベースバンド信号からの狭帯域

信号の構築において、計算効率の良いフィルタです。CIC フィルタは、加算器

とレジスタのみを使用し、大きなレート変換を処理するための乗算器は必要と

しません。したがって、CIC はハードウェア実装に適した経済的なフィルタ・

アーキテクチャで、デジタル・ダウン・コンバータ(DDC)およびデジタル・

アップ・コンバータ(DUC)のようなサンプル・レート変換デザインで広く使

用されます。

f 詳しくは、「CIC MegaCore Function User Guide」を参照してください。

FIR コンパイラは、完全に統合された有限インパルス応答(FIR)フィルタ開発

環境を提供します。FIR コンパイラを使用して、完全パラレル、シリアル、ま

たは汎用ロジックを使用したマルチビット・シリアル演算、およびマルチサイ

クルの固定/可変フィルタなどの、さまざまなフィルタ・アーキテクチャを実

装できます。FIR コンパイラには係数生成機能を内蔵しています。

f 詳しくは、「FIR Compiler User Guide」を参照してください。

DSP デザイン・フロー・ ユーザーガイド

Page 14: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

2-2 第 2 章: DSP デザイン・ビルディング・ ブロック

デザイン・フロー

信号生成

NCO の MegaCore ファンクションは、アルテラのデバイス向けにカスタマイズ

された数値制御オシレータ(NCO)を生成します。ROM ベースの NCO、CORDICベースの NCO、および乗算器ベースの NCO など、さまざまなアーキテクチャ

を実装できます。

f 詳しくは、「NCO MegaCore Function User Guide」を参照してください。

変換

FFT MegaCore ファンクションは、高性能で高レベルなパラメータ化機能が備

わった高速フーリエ変換(FFT)プロセッサです。FFT MegaCore ファンクショ

ンは、固定変換サイズや可変ストリーミング・アーキテクチャを使用した高性

能アプリケーションの複雑な FFT または逆 FFT(IFFT)を実装します。

f 詳しくは、「FFT MegaCore Function User Guide」を参照してください。

ビデオおよび画像処理

ビデオおよび画像処理スイートは、ビデオと画像処理デザインの開発を容易に

する MegaCore ファンクションを集めたものです。MegaCore ファンクション

は、さまざまな画像処理およびディスプレイ・アプリケーションでの使用に適

しており、以下のようなものがあります。

アルファ・ブレンディング・ミキサ、クロマ・リサンプラ、クリッパ、クロッ

ク動作ビデオ入力、クロック動作ビデオ出力、カラー・プレーン・シーケンサ、

デインタレーサ、2D FIR フィルタ、2D メディアン・フィルタ、フレーム・バッ

ファ、ガンマ補正、ライン・バッファ・コンパイラ、スケーラ、テストパター

ン・ジェネレータ

f 詳しくは、「Video and Image Processing Suite User Guide」を参照してくださ

い。

デザイン・フローアルテラの DSP IP MegaCore® ファンクションは、複数のデザイン・フローに使用でき

ます。

デザイン内において手動でインスタンス化できるように MegaCore ファンクショ

ン・バリエーションを作成する際に、MegaWizard Plug-In Manager は、どの DSP IPMegaCore ファンクションとも一緒に使用できます。

CIC、FFT、FIR、NCO、リード・ソロモン、Viterbi の MegaCore ファンクションは、

DSP Builder デザイン内にブロックとして組み込むことができます。必要に応じて、

DSP Builderデザインを SOPC Builderシステム内にインスタンス化することもでき

ます。

ビデオおよび画像処理スイート MegaCore ファンクションは、SOPC Builder システ

ム内に直接インスタンス化することができます。

f これらのデザイン・フローにおける MegaCore ファンクションの使用について詳しく

は、適切な MegaCore ファンクションのユーザーガイドを参照してください。

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 15: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

3. DSP Builder

DSP Builder のデザイン・フローDSP Builderは、アルゴリズム開発向けの環境で設計されたDSPデザインをハードウェ

アで実現するための支援を行うことで、DSP の設計サイクルを短縮します。

DSP Builder は、The MathWorks 社の MATLAB® および Simulink® システム・レベルの

デザイン・ツールのアルゴリズム開発、シミュレーション、および検証の機能と、ア

ルテラの Quartus II 開発ソフトウェアおよびサードパーティの合成およびシミュレー

ション・ツールを組み合わせます。Simulink ブロックを DSP Builder ブロックおよび

IP ブロックと組み合わせて、システム・レベル仕様を検証し、シミュレーションを実

行できます(図 3-1)。

標準/アドバンスト・ブロックセットDSP Builder をインストールする際、2 つの別個のブロックセット(アルテラの DSPBuilder ブロックセットとアルテラの DSP Builder アドバンスト・ブロックセット)が、

Simulink ライブラリ・ブラウザに追加されます。これらは別々に、または一緒に使用

できます。

標準の DSP Builder ブロックセットには、デザイン構築とインタフェース・ブロック

のライブラリ、および各 DSP MegaCore ファンクションを表すブロックのライブラリ

が含まれます。

アドバンスト DSP Builder ブロックセットは、DSP MegaCore ファンクションと直接イ

ンタフェースしませんが、その代わりに高性能 FIR、CIC、NCO および FFT モデルの

生成に使用できる、独自のタイミング・ドリブン IP ブロックを含みます。

3-2 ページの表 3-1 に、標準およびアドバンスト・ブロックセットの主要機能を示し

ます。

図 3-1. DSP Builder のデザイン・フロー

IP

VHDLVerilog

HDLTcl

DSP

ModelSim

Tcl

MATLAB/

SimulinkDSP Builder

SOPC BuilderModelSimQuartus II

MATLAB/Simulink

FPGA

DSP デザイン・フロー・ ユーザーガイド

Page 16: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-2 第 3 章: DSP Builder標準/アドバンスト・ブロックセット

各ブロックセットの機能を組み合わせる場合は、同一デザインのサブシステムに両方

のブロックセットを使用できます。例えば、アドバンスト・ブロックセットの IP モ

デルを、標準ブロックセットの開発ボード・サポートまたは hardware-in-the-loop と組

み合わせる場合があります。

標準ブロックセット

標準ブロックセットのブロックは、Simulink により標本化時間でモデル化されたシス

テムのハードウェア実装を作成するために使用することができます DSP Builder は、

演算機能または記憶機能のような基本動作をカバーする、ビット単位およびサイクル

単位で正確な Simulink ブロックを含み、組込み PLL、DSP ブロック、またはエンベ

デッド・メモリなどの重要なデバイス機能を利用します。

ご使用の DSP Builder モデルに MegaCore ファンクションを組み込むことにより、複雑

な機能を統合することができます。また、ユーザーのデザインの一部を FPGA に実装

すると、ハードウェア・コシミュレーションのより速いパフォーマンスと、より豊富

なインスツルメンテーションを使用できます。

表 3-1. 標準およびアドバンスト・ブロックセットの主要機能

ブロックセット 主要機能

標準ブロックセット

サイクル単位で正確な動作モデル

マルチプル・クロック・ドメインの管理

バックプレッシャ・サポートによる優れた制御

特定のハードウェア・デバイス機能へのアクセス

Hardware-in-the-loop のサポートによる FPGA ハードウェア・コシミュレーションの実現

VHDL または Verilog HDL デザイン・エンティティの HDL インポート

表およびグラフのステート・マシンのサポート

アルテラの DSP 開発ボードを使用した迅速なプロトタイプ製造

SignalTap II デバッグ機能

DSP MegaCore ファンクション・バリエーションを直接インスタンス化可能

アドバンスト・ブロックセット

自動パイプライン化およびフォールディングを備えた仕様ドリブン・デザイン

高レベル・シンセシス・テクノロジ

高性能タイミング・ドリブン IP モデル

自動ベクトル化入力によるマルチチャネル・デザイン

Memory-Mapped インタフェースの自動生成

Simulink 固定小数点タイプの使用

メイン・データ・パス・ロジック用の単一システム・クロック

最小限の制御によるフィード・フォワード・データ・パス

異なるデバイス・ファミリ間での移植性

ハードとソフト・マルチプライヤ間などにおける高レベルなリソースのトレードオフ

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 17: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-3標準/アドバンスト・ブロックセット

標準ブロックセットは、Quartus II プロジェクト・ファイル内に定義された HDL など

の、インポートされた HDL サブシステムをサポートします。

f アドバンスト・ブロックセットについて詳しくは、「DSP Builder Reference Manual」お

よび「DSP Builder User Guide」を参照してください。

アドバンスト・ブロックセット

DSP Builder アドバンスト・ブロックセットは、DSP デザインの迅速かつ容易な実装

を可能にする、いくつかの Simulink ライブラリから構成されています。ブロックセッ

トは、高レベルのシンセシス・テクノロジに基づいています。このテクノロジは、高

レベルで時間制約のないネットリストを、選択した FPGA デバイスとクロック・レー

トをターゲットとする、低レベルのパイプライン化されたハードウェアに最適化しま

す。ハードウェアは、Quartus II 開発ソフトウェアおよび ModelSim® シミュレータと統

合するスクリプトとともに、VHDL として記述されます。

これらの機能を組み合わせると、デバイスを熟知していなくてもデザインを作成で

き、異なるハードウェア・アーキテクチャを備えたさまざまな FPGA ファミリ上で動

作する高品質の実装を実現できます。

目的のクロック周波数、チャネル数、および他のトップレベル・デザイン制約を指定

した後、生成された RTL は、タイミング・クロージャを達成するために自動的にパ

イプライン化されます。システム・レベル制約の分析により、このツールはフォール

ディング(つまり時分割多重方式)も最適化するので、手動で RTL 編集を行わなく

ても、最適のロジック使用率を達成できます。

シンセシス・テクノロジでは、Simulink デザイン内のパラメータ・ファイルを使用す

るだけで、例えば FIR フィルタやデジタル信号のアップ・コンバージョン・チェイン

において、チャネル数を容易に増減することができます。DSP Builder は、必要な時

分割多重化制御ロジックを追加し、更新された RTL を数分で生成します。

アドバンスト・ブロックセットには、基本制御ブロックのライブラリと 2 つのコン

ポーネント・ライブラリ(ModelIP および ModelPrim)が含まれています。これらの

ライブラリは、以下の場合に有用です。

ModelIP:ModelIP ライブラリは、マルチチャネル、マルチレートのサイクル単位

で正確なフィルタ、ミキサ、および数値制御オシレータ(NCO)のセットで構成

されているため、デジタル・フロント・エンド・アプリケーションのためのデザ

インを迅速に作成することができます。アップ/ダウン・コンバータなど、いく

つかの実装例が提供されています。

ModelPrim:ModelPrim ライブラリでは、デザインを迅速かつ効率的に作成し、ゼ

ロ・レイテンシ・プリミティブ・ブロックを組み合わせることにより、実装ドメ

インではなく動作ドメイン内に取り込むことができます。例えば、遅延ブロック

を使用し、ツールにその遅延を実装する方法を決定させることができます。

アドバンスト・ブロックセットは、連続データ・ストリームを特徴とするストリーミ

ング・アルゴリズムおよび臨時の制御に特に適しています(例えば、長いフィルタ・

チェインから構成される RF カード・デザイン)。

f アドバンスト・ブロックセットについて詳しくは、「DSP Builder Advanced BlocksetReference Manual」および「DSP Builder アドバンスト・ブロックセット・ユーザーガ

イド」を参照してください。

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 18: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-4 第 3 章: DSP BuilderDSP Builder のインストール

DSP Builder のインストールDSP Builder は、Quartus II 開発ソフトウェア用インストール・プログラムでオプショ

ンを選択することによりインストールできます。このインストーラで、どちらか一方

または両方のブロックセットをインストールできます。

f 詳しくは、「DSP Builder Installation and Licensing」のマニュアルを参照してください。

DSP Builder 標準/アドバンスト・ブロックセットの相互運用性同一デザイン内に、DSP Builder 標準ブロックセットとアドバンスト・ブロックセッ

トのブロックを組み合わせることができます。トップレベル・モデルには、アドバン

スト・ブロックセットの Control および Signals ブロックを埋め込むことができ

ます。ただし、アドバンスト・ブロックセット・デザインの Deviceブロックおよび

機能ブロックは、下位レベルのサブシステムに埋め込む必要があります。

アドバンスト・ブロックセットの The Run ModelSim ブロックは、組み合わせブ

ロックセット・デザイン内では動作しません。しかし、テストベンチを生成して

ModelSim とシミュレーション結果を比較するには、標準ブロックセットの

TestBenchブロックを使用できます。

従来どおりアドバンスト・ブロックセットの Run Quartus IIブロックは、組み合

わせブロックセット・デザインで使用できますが、その場合は、Deviceブロックを

含むアドバンスト・ブロックセット・サブシステム用の Quartus II プロジェクトしか

作成できません。組み合わせブロックセット・デザイン全体用の Quartus II プロジェ

クトを作成するには、標準ブロックセットの Signal Compiler ブロックを使用し

てください。

アドバンスト・ブロックセット・サブシステムをトップレベル DSP Builder デザイン

内に埋め込むメカニズムは、HDL サブシステムをブラック・ボックスとして埋め込

むためのメカニズムに類似しています。これらのメカニズムでは、アドバンスト・ブ

ロックセットの Device ブロックが、標準ブロックセットの HDL Entity ブロック

の代わりに使用されます。

f DSP Builder HDL サブシステム・フローに関する情報については、「DSP Builder UserGuide」の「Using Black Boxes for HDL Subsystems」セクションを参照してください。

1 Simulink でデザインをシミュレーションすると、アドバンスト・ブロックセット・デ

ザインが生成されます。このシミュレーションは、Signal Compiler を実行して

トップレベル・モデルが生成される前に行う必要があります。

統合デザインでは、2 つのブロックセットの間で一致しなければならない設定および

パラメータが多くあります。

Controlブロック内で指定されたハードウェア・ディスティネーション・ディレ

クトリは、フォワード・スラッシュ(/)のセパレータ文字を使用して、絶対パス

として指定する必要があります。

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 19: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-5DSP Builder 標準/アドバンスト・ブロックセットの相互運用性

Device ブロック内で指定されたデバイス・ファミリは、トップレベル SignalCompiler ブロックと開発ボード上で使用されるデバイスのデバイス・ファミリ

と一致している必要があります。ただし、特定のデバイスは Auto に設定するか、

あるいは異なる値を設定することができます。生成された Quartus II プロジェクト

内の特定のターゲット・デバイスは、Signal Compilerブロック内で指定され

たデバイスです。HIL は、デバイス・ファミリが同じであれば異なるデバイスを

持つことができる、独自の Quartus II プロジェクトを指定します。

アドバンスト・ブロックセットの Signalsブロック内に指定されたリセット・タ

イプは、アクティブ High でなければなりません。

組み合わせブロックセット・デザインに対してTestBenchを実行する際にvalid信号が Low の場合はミスマッチが予想されます。

標準ブロックセットは、ベクタ信号をサポートしません。アドバンスト・ブロッ

クセット・デザインのベクタはすべて、マルチプレクサとデマルチプレクサのブ

ロックを使用して変換する必要があります。

アドバンスト・ブロックセット・デザインを含むサブシステムは、3-5 ページの図 3-2に示すように、HDL Inputおよび HDL Outputブロックを使用して接続する必要が

あります。アドバンスト・ブロックセット・サブシステムと HDL Input / HDLOutput ブロックの間の境界上の信号はディメンションを一致させる必要がありま

す。

1 サブシステムをシミュレーションした後、HDL Input/ HDL Outputブロックのど

ちらかのサイドに信号タイプが示されます。信号タイプが表示されない場合は、

Simulink Format メニューの Port Data Types がオンになっていることを確認してくだ

さい。

図 3-2. HDL 入出力ブロックによって囲まれたアドバンスト・ブロックセット・サブシステム

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 20: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-6 第 3 章: DSP BuilderDSP Builder 標準/アドバンスト・ブロックセットの相互運用性

信号タイプが一致しないと、以下のようなエラー・メッセージが表示される場合があ

ります。

“Error (10344): VHDL expression error at <subsystem>_<HDL I/O name>.vhd (line no.): expression has N elements, but must have M elements”

図3-2の例では、HDL OutputQブロックの信号タイプが誤っており、Signed Fractional[2].[26] を Signed Fractional [2].[15] に変更すべきであるため、エラーが発行されます。

この変更を行うと、信号タイプは、デザインの(HDL Input ブロックの前の)標準

ブロックセット部分に、SBF_2_15(2 つの整数ビットと 15 の小数ビットを持つ符号

付きバイナリ小数を表す)として表示されます。同じ信号が、(HDL Inputブロック

の後の)アドバンスト・ブロックセット・デザインでは、sfix17_En15(ワード長 17と 15 の小数ビットを持つ Simulink の固定小数点タイプを表す)として表示されます。

1 標準ブロックセットで使用される固定小数点表記法について詳しくは、「DSP BuilderUser Guide」の「Fixed-Point Notation」セクションを参照してください。Simulink 固定

小数点タイプについて詳しくは、MATLAB のヘルプを参照してください。

組み合わせブロックセットの例

図 3-3 に、2 チャネルのデジタル・アップ・コンバータのアドバンスト・ブロックセッ

トのデザイン例を示します(demo_AD9856)。

このデザイン内の合成可能なシステムは AD9856 サブシステムです。この入力は、

Ind、Inv、および Incです。9 つの出力のうち、3 つが Channel Viewerに供給さ

れ、6 つが Scopeに供給されています。

デザインにトップレベルの Signal Compiler との相互運用性を持たせるには、以

下のステップを実行します。

1. サブシステム AD9856、スコープ OvScope、および Channel Viewerを選択し

ます。ポップアップ・メニューの Create Subsystem をクリックして、上記を含む

Subsystemブロックを作成します。

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 21: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-7DSP Builder 標準/アドバンスト・ブロックセットの相互運用性

2. 新規作成した Subsystemブロックの直前に、DSP Builder IO & Bus ライブラリか

ら、Input ブロックを 3 つ追加します。すなわち、Input(Signed Fractional[1][11] タイプ)、Input1(Single Bit タイプ)、および Input2(Unsigned Integer8 タイプ)です。

3. Subsystemブロックの直後に、Signed Fractional [1][15] タイプの Outputブロッ

クを追加します。

1 ステップ2および3では、SimulinkブロックとDSP Builderブロックの間の境界

を指定します。

図 3-3. AD9856 のデザイン例

12

32

clk @ 200.00 MHz

active High

bus @ 50.00 MHz

1

1

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 22: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-8 第 3 章: DSP BuilderDSP Builder 標準/アドバンスト・ブロックセットの相互運用性

4. Subsystem ブロックを開き、サブシステム内の AD9856、OvScope、および

Channel Viewer ブロックを選択します。ポップアップ・メニューの CreateSubsystem をクリックして、選択したブロックを別のレベルまで押し下げます。こ

のサブシステムの名前を変更します(DSPBAなどに変更する)。

5. Simulink 入力ポートと DSPBA サブシステムの間に、DSP Builder AltLab ライブラ

リの 3 つの HDL Inputブロックを追加します。

a. これらは、ステップ 2 と同じタイプ、すなわち、HDL Input(Signed Fractional[1][11])、HDL Input1(Single Bit)、および HDL Input2(Unsigned Integer 8)でなければなりません。

b. 符号付き小数 HDL Input では、External Type パラメータを Simulink FixedPoint Type に設定します。

6. サブシステムとサブシステム出力ポートの間に、ステップ 3 と同じタイプの HDLOutputブロックを追加します(Signed Fractional [1][15])。

1 ステップ 5 および 6 は、標準ブロックセットとアドバンスト・ブロックセッ

トのブロックの間の境界を指定します。HDL Input および HDL Outputブロックは、Inputおよび Outputブロックより下位レベルのサブシステ

ムになければなりません。それらのブロックが同じレベルにある場合、

Signal Compilerを実行すると、「NullPointerException」エラーが発行さ

れます。

図 3-4. トップレベル・モデル内の入出力ブロックおよびサブシステム・ブロック

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 23: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-9DSP Builder 標準/アドバンスト・ブロックセットの相互運用性

新規サブシステムは、図 3-5 のように表示されます。

7. DSPBAサブシステムおよびその下の AD9856サブシステムを開きます。

8. AD9856 サブシステムの Device ブロックは、既存の Device ブロックをコピー

して古いブロックを削除し、作成した 1 レベル上の DSPBAサブシステムまで移動

します。

1 Deviceブロックは、DSP Builder のアドバンスト・サブシステムの存在を検

出するために使用され、標準ブロックセットのいずれのブロックも含まな

い、アドバンスト・ブロックセット・デザインの最上位レベルになければ

なりません。

図 3-5. サブシステム内の HDL Input、HDL Output、および DSPBA ブロック

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 24: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-10 第 3 章: DSP BuilderDSP Builder 標準/アドバンスト・ブロックセットの相互運用性

DSPBAサブシステムは、図 3-6 のように表示されます。

9. デザインのトップレベルにあるControlブロックを開いて、Hardware DestinationDirectory を絶対パスに変更します(例:C:/rtl)。

1 このパスでは、スラッシュ(/)を使用する必要があります。

10. DSP Builder AltLab ライブラリの Signal Compiler、TestBench、および Clockブロックをトップレベル・モデルに追加します。

11. Signal Compiler ブロックで、Family を Stratix II に設定し、Device ブロッ

クで指定されたファミリと一致するようにします。

12. Clockブロックで、Real-World Clock Period を 50 ns に設定し、Signalsブロッ

クで指定された Clock Frequency と一致するようにします。Reset Name を aclrActive Low に設定します。

13. 組み合わせブロックセット・デザインで不要になった Run ModelSimおよび RunQuartus IIブロックを除去します。

図 3-6. DSPBA サブシステム

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 25: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-11DSP Builder 標準/アドバンスト・ブロックセットの相互運用性

更新されたデザインは、図 3-7 のように表示されます。

14. デザインをシミュレーションして、アドバンスト・サブシステム用の HDL を生成

します。

15. Signal Compilerを使用して、システムをコンパイルします。エラーなしで正

常にコンパイルされる必要があります。

また、Testbenchブロックを使用して、Simulink シミュレーションを ModelSim と比

較することができます。ただし、アドバンスト・ブロックセット・シミュレーション

はサイクル単位で正確ではないため、ModelSim 出力には、Simulink にはない数サイ

クルの遅延があることに注意してください。

HDL Input、HDL Output ブロック、およびアドバンスト・ブロックセット・サブ

システムを含むサブシステムは、ブラック・ボックスとして扱われます。アドバンス

ト・ブロックセットのブロックは、このブラック・ボックス内のサブシステムにしか

追加できません。ただし、標準ブロックセットのブロックは、このブラック・ボック

スの外側のトップレベル・デザインまたは追加のサブシステムに追加できます。

f 標準ブロックセットとアドバンスト・ブロックセットを組み合わせるデザインで、

Hardware in the loop の使用方法の例については、A-1 ページの「Hardware in the Loopの DSP Builder アドバンスト・ ブロックセットとの使用」を参照してください。

組み合わせブロックセット・デザインのアーカイブ作成

標準ブロックセットとアドバンスト・ブロックセットの両方を使用した組み合わせデ

ザインのアーカイブを作成するには、最初にデザインをシミュレーションして、デザ

インにアドバンスト・ブロック用の HDL を生成する必要があります。次に、SignalCompilerインタフェースを開いて、Exportタブを選択し、Exportをクリックします。

図 3-7. 更新された AD9856 のデザイン例

12

32

clk @ 200.00 MHz

active High

bus @ 50.00 MHz

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 26: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-12 第 3 章: DSP Builderツール統合

これによって、HDL は指定されたディレクトリにエクスポートされます。このディ

レクトリには、すべての標準ブロックセット HDL のコピーと、Quartus II IP ファイル

(.qip)が含まれています。Quartus II IP ファイルには、Quartus II コンパイラの標準ブ

ロックセット・モデルの処理に必要なすべてのアサインメントおよび他の情報が含ま

れています。

この .qip ファイルには、アドバンスト・ブロックセット用の HDL ファイルは含まれ

ていません。アドバンスト・ブロックセット用のファイルを含めるには、アドバンス

ト・ブロック用に生成された HDL を含むディレクトリを、Quartus II 開発ソフトウェ

アにユーザー・ライブラリとして追加する必要があります。

これを実行するには、プロジェクト・メニューから Add/Remove Files in Project を選

択して、ライブラリ・カテゴリを選択し、アドバンスト・ブロックの生成された HDLを含むディレクトリをすべて追加します(Simulink デザインには、階層のレベルごと

に個別のディレクトリがあります)。

この Quartus II プロジェクトのアーカイブを作成して、DSP Builder システムの組み合

わせ標準/アドバンスト・ブロックセット用のソース HDL をすべて含む、ポータブ

ル Quartus II アーカイブ・ファイル(.qar)を生成できます。これを行うには、QuartusII 開発ソフトウェアの Project メニューから Archive Project を選択します。

ツール統合DSP Builder の標準ブロックセットおよびアドバンスト・ブロックセットは、Simulink、ModelSim、Quartus II および SOPC Builder ソフトウェアとともに動作するように設計

されています。

SimulinkDSP Builder は、他の Simulink ブロックセットとの相互運用が可能です。特に、基本

的な Simulink ブロックセットは、インタラクティブ・テストベンチの作成に非常に有

用です。

DSP Builder の標準ブロックセットは、タイプ・キャスト Input および Output ブ

ロックを使用して他の Simulink ブロックに接続できる、符号付き整数、符号なし整

数、または符号付き小数の信号タイプを使用します。

f 標準ブロックセットに使用される内部信号タイプについて詳しくは、「DSP BuilderUser Guide」を参照してください。

標準ブロックセット・サブシステムの VHDL モデルは、TestBenchブロックを使用

して、Simulink シミュレーション結果を ModelSim と比較する際に生成されます。

DSP Builder アドバンスト・ブロックセットは、すべての演算に Simulink 固定小数点

タイプを使用し、Simulink 固定小数点ブロックセットおよび固定小数点ツールボック

スのライセンス・バージョンが必要です。信号処理ブロックセットおよび通信ブロッ

クセットも推奨されており、デモンストレーション・デザインで使用されます。

f Simulink 固定小数点タイプ、信号処理ブロックセット、および通信ブロックセットに

ついて詳しくは、MATLAB のヘルプを参照してください。

VHDL モデルは、Simulink シミュレーションを実行すると、アドバンスト・ブロック

セットを使用して記述されたサブシステム用に生成されます。

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 27: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

第 3 章: DSP Builder 3-13ツール統合

チュートリアルとデモンストレーションのデザインには、Simulink ブロックを使用す

る多くの例があります。特に Simulink スコープは、デジタルまたはアナログ信号とし

て表示するために ModelSim Wave ビューに追加すべき信号を識別するために、アド

バンスト・ブロックセット例で使用されます。

f チュートリアルとデモンストレーションのデザインについて詳しくは、「DSP BuilderReference Manual」の付録「Example Designs」、および「DSP Builder アドバンスト・ブ

ロックセット・ユーザーガイド」の「デザイン例」の章を参照してください。

ModelSimModelSim は、ModelSim 実行可能ファイル(vsim.exe)がパス上にあれば、DSP Builderの標準ブロックセット・デザインまたはアドバンスト・ブロックセット・デザインの

内部から呼び出すことができます。

DSP Builder 標準ブロックセットと ModelSim の間の統合は、TestBenchブロックを

使用して実行されます。VHDL テストベンチは、テストベンチを ModelSim にロード

する際に使用する Compile against HDL および tb_<model name>.tcl スクリプトをク

リックすると生成されます。オプションで、インタラクティブ・シミュレーション用

の ModelSim GUI をロードできます。

f 詳しくは、「DSP Builder Reference Manual」の「TestBench」ブロックの説明を参照し

てください。

DSP Builder アドバンスト・ブロックセットおよび ModelSim の間の統合は、生成され

たいくつかのスクリプトを使用して実行されます。

Control.do このスクリプトは、制御ブロックから名前が作成されます(ユーザー

が名前を変更しない限り、通常は Control)。これは、全デザインをテストベン

チ構造の RTL 相当でコンパイルし、すべての関連信号を Wave ウィンドウに追加

して、Simulink シミュレーションと同じ期間だけ実行するために使用されます。

このスクリプトは、シミュレーションが開始される前に、ライブラリ・ファイル、

すなわちプロジェクト内のすべての RTL ファイルを再帰的にコンパイルして信号

を Wave ウィンドウに追加する、一部の従属スクリプトに依存します。これらの

スクリプトは、わかりやすく、カスタム・フローを構築する際に役に立ちます。デ

ザインは、トップレベル・モデルの Run Modelsimブロック上でクリックするこ

とにより、自動的に ModelSim にロードできます。

f Simulinkブロックのサブセットのみ、ModelSimでのシミュレーションに使

用できる RTL に変換されます。互換性のあるブロックの一覧は、「DSPBuilder Advanced Blockset Reference Manual」の「Run ModelSim」ブロック

の説明を参照してください。

<block name>_atb.do このスクリプトは、ブロックの自動テストベンチ・フロー

を実行します。ハードウェア・ブロックを検証するために、実行時にスティミュ

ラス・ファイルを読み出すことに依存します。自動テストベンチ・フローは厳密

なテストを実行して、出力が一致するかどうかの結果を返します。

f 詳しくは、「DSP Builder Advanced Blockset Reference Manual」の「Comparison with RTL」セクションを参照してください。

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 28: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

3-14 第 3 章: DSP Builderツール統合

Quartus II標準ブロックセットは、Signal Compiler ブロックを使用して、Quartus II 開発ソ

フトウェアと密接に統合されます。デバイス・ファミリとデバイスの選択、デザイン

の合成、Quartus II Fitter の実行、選択したデバイスのプログラミングが可能です。ま

た、SignalTap II ロジック・アナライザの有効化や、デザインの合成可能なモデルのエ

クスポートもできます。

アドバンスト・ブロックセットは、高速で高性能の DSP データ・パスを構築するた

めのものです。多くの生産デザインでは、プロセッサ、高速入出力、メモリなどにイ

ンタフェースするために、このデータ・パスの周囲に RTL 層があります。しかし、

PLLおよびピン配置図を備えた完全なデザインの生成についてはほとんど重視されて

いません。

デザインを完成させるには、DSP Builder 標準ブロックセット、SOPC Builder または

RTL を使用して、ボード・レベル・コンポーネントを割り当てることができます。こ

れにより、Quartus II 開発ソフトウェアは合成、および配置配線プロセスを完了する

ことができます。

トップレベル・モデルの Run Quartus IIブロック上でクリックすると、デザイン

を Quartus II 開発ソフトウェアへ自動的にロードできます。

SOPC BuilderDSP Builder 標準ブロックセットには、Avalon® Memory-Mapped(Avalon-MM)および

Avalon ストリーミング(Avalon-ST)インタフェース・ブロックのライブラリが含ま

れます。Tcl スクリプト <model name>_add.tcl は、デザインを Quartus II プロジェクト

に追加する際に使用する Signal Compiler によって作成されます。Avalon インタ

フェース・ブロックを含むデザインは、SOPC Builder の他の Avalon コンポーネント

に自動的に接続できます。

f SOPC Builder との標準ブロックセットの統合の例については、「DSP Builder UserGuide」の「Using the Interface Library」の章を参照してください。

Memory-Mapped インタフェースおよび class.ptf ファイルは、アドバンスト・ブロック

セット・デザインごとに作成されます。これらはプロセッサ・バスを SOPC Builder に接続するために使用できます。class.ptf ファイルへのパスが SOPC Builder IP 検索パス

に追加されると、DSP Builder アドバンスト・ブロックセット・サブシステムが、SOPCBuilder の System Contents タブから自動的に使用できるようになります。

f SOPC Builder とのアドバンスト・ブロックセットの統合の例については、「DSP Builderアドバンスト・ブロックセット・ユーザーガイド」の「ModelIP チュートリアル」の

章を参照してください。

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 29: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

A. Hardware in the Loop のDSP Builder アドバンスト・

ブロックセットとの使用

この付録では、DSP Builder アドバンスト・ブロックセットを使用したデザインとと

もに Hardware in the Loop(HIL)を使用する方法について説明します。

組み合わせブロックセットの例この例では、標準およびアドバンスト・ブロックセットのブロックを組み合わせたデ

ザインで HIL を使用する方法を示します。

f 統合デザインでは、2 つのブロックセットの間で一致しなければならない設定および

パラメータが多くあります。詳しくは、3-4 ページの「DSP Builder 標準/アドバンス

ト・ブロックセットの相互運用性」を参照してください。

以下のステップを実行します。

1. 標準ブロックセット用にインストールされたデザイン例にある Demos\CombinedBlockset ディレクトリから Adapted_AD9856.mdl モデルを開きます(図 A-1)。

f Controlブロック内に指定されたHardware Destination Directoryが、フォ

ワード・スラッシュ(/)のセパレータ文字を使用した絶対パスとして指

定されていることを確認してください。

2. デザインをシミュレーションして、ハードウェアを生成します。

図 A-1. Adapted_AD9856 デザイン例

12

32

clk @ 200.00 MHz

active High

bus @ 50.00 MHz

SignalCompiler

DSPBA

Signals DSPBA

DSPB

DSPB

Hardware Destination Directory

DSP デザイン・フロー・ ユーザーガイド

Page 30: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

A-2 付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用

組み合わせブロックセットの例

3. Signal Compiler を実行して、組み合わせデザインの Quartus II プロジェクト

を作成します。

1 Signal Compilerブロック内のデバイス・ファミリは Stratix II に設定さ

れています。これは、アドバンスト・ブロックセット・サブシステム内の

Device ブロックに指定されたデバイス・ファミリと一致する必要があり

ます。異なるボードを使用している場合は、Signal Compilerと Deviceブロックの両方のデバイス・ファミリを変更して、ステップ 2 と 3 を繰り

返してください。

4. モデルのコピーを Adapted_AD9856_HIL.mdl として保存し、このモデル内の

AdvancedBlocksetサブシステムを削除します。

5. AdvancedBlocksetサブシステムを、DSP Builder 標準ブロックセットの AltLabライブラリの HILブロックに置き換えます。

6. HILブロックをダブル・クリックして、Hardware in the loop ダイアログ・ボック

スを開きます(図 A-2)。ダイアログ・ボックスの 1 ページ目では、ステップ 3 で作

成されたQuartus IIプロジェクト(Adapted_AD9856_dspbuilder/Adapted_AD9856.qpf)を選択します。クロック・ピン(Clock)名とリセット・ピン(aclr)名を選択

します。channelin 信号タイプを unsigned 8 bits に、dataIn を signed [1].[11]bitsに設定し、ChannelOut0とChannelOut1をsigned [1].[15] bitsに設定します。

図 A-2. AD9856 の Hardware in the Loop パラメータ設定ページ 1 の例

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 31: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用 A-3組み合わせブロックセットの例

7. 図 A-3 に示すように、Hardware in the loop ダイアログ・ボックスを閉じて(Close)、dataIn、validIn、channelIn、ChannelOut0、および ChannelOut1 ポー

トをモデルに接続します。

1 バス・インタフェースは現在 HIL シミュレーションで使用されていません。

bus_areset信号を GNDブロックに、bus_clkポートを標準ブロックセッ

ト IO & Bus ライブラリの VCC ブロックに接続します。bus_clk_out と

bus_clk_reset_out 信号を Simulink Terminator ブロックに接続しま

す。

8. 図 A-4 に示すように、HIL に関連しないブロックを削除することにより、HIL モ

デルをクリーン・アップします。

9. Adapted_AD9856_HIL.mdl モデルを保存します。

図 A-3. Adapted_AD9856 モデルの HIL ブロック

図 A-4. クリーン・アップされた HIL デザイン

12

32

clk @ 200.00 MHz

active High

bus @ 50.00 MHz

Hardware Destination Directory

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 32: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

A-4 付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用

組み合わせブロックセットの例

10. DSP 開発ボードを接続して、スイッチがオンになっていることを確認します。

11. Hardware in the loop ダイアログ・ボックスを再度開き、リセット・レベルを

Active_High に設定します。

1 リセット・レベルは、元のモデルの Signalsブロックに指定されたレベル

と一致する必要があります。

12. Next をクリックして、Hardware in the loop ダイアログ・ボックスの 2 ページ目を

表示します(図 A-5)。FPGA device フィールドにデバイスの正式な名前を入力し

ます。デバイス名が、DSP 開発ボードのデバイス名と一致しており、元のモデル

のデバイス・ファミリ・セットと互換性があることを検証します。

1 異なるボードを使用するために、デバイス・ファミリを変更する必要があ

る場合は、ステップ2、3、6、および11を繰り返して実行する必要があります。

13. Compile with Quartus II をクリックして、HIL モデルをコンパイルします。

14. Scan JTAG をクリックしてご使用のコンピュータに接続されているすべてのハー

ドウェアを検索し、目的の JTAG Cable および Device in chain を選択します。

15. Configure FPGA をクリックして、コンパイルされたプログラミング・ファイル

(.sof)を DSP 開発ボードにダウンロードします。

16. Hardware in the loop ダイアログ・ボックスを閉じて(Close)、モデルを保存します。

17. HIL モデルをシミュレーションします。OutputSpectrum と OutScope ブロッ

クのディスプレイを元のモデルの波形と比較します。どちらも同じ波形でなけれ

ばなりません。

図 A-5. Hardware in the loop パラメータ設定ページ 2

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 33: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用 A-5組み合わせブロックセットの例

図 A-6 に、出力スペクトラム波形を、図 A-7 に出力スコープ波形を示します。

図 A-6. 出力スペクトラム波形

図 A-7. 出力スコープ波形

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 34: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

A-6 付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用

アドバンスト・ブロックセットの例

1 バースト・モードを使用すると、HIL シミュレーションを高速化できます。バースト・

モードを使用するには、Hardware in the loop ダイアログ・ボックスを開き、BurstMode をオンにします。次に、ステップ 15 を繰り返して、更新されたプログラミン

グ・ファイルを DSP 開発ボード上のデバイスにダウンロードします(この操作によ

り、メモリおよびレジスタが開始値にリセットされます)。HIL モデルを再度シミュ

レーションする場合、シミュレーションはさらに高速化されます。OutputSpectrumディスプレイは同じでなければなりませんが、余分な遅延(バースト長と等しい)が

OutScopeディスプレイの信号に発生することがあります。

アドバンスト・ブロックセットの例この例では、アドバンスト・ブロックセットのみのブロックを使用するデザインでの

HIL の使用方法を示します。

以下のステップを実行します。

1. アドバンスト・ブロックセット用にインストールされたデザイン例にある

Examples\Baseblocksディレクトリからdemo_scale.mdlモデルを開きます(図A-8)。

2. デザインをシミュレーションして、HDL を生成します。

図 A-8. スケール・ブロック・デザイン例

10

16

clk @ 240.00 MHz

active High

bus @ 240.00 MHz

16

4

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 35: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用 A-7アドバンスト・ブロックセットの例

f Controlブロックに指定されたHardware Destination Directoryには、相対

パスではなく、絶対パスを使用するようにしてください。

このデザインは、4 チャネル・データを符号付き小数 [2].[30] から符号付き小数

[1].[15] にスケールするために、アドバンスト・ブロックセットの Scale ブロッ

クを使用していることを示しています。4 つの入力は、図 A-9 に示すように、[10.5 -0.5 -1 0] の繰り返し階段波、ランダム波、高速サイン波、および低速サイン波

です。

3. ScaleSystemサブシステム内の Deviceブロックを開き、指定されたデバイス・

ファミリが、HIL シミュレーションで使用される DSP 開発ボードと互換性がある

ことを検証します。

4. Run Quartus II ブロックをダブル・クリックして、Quartus II 開発ソフトウェ

アを起動し、ステップ2で生成されたHDLでQuartus IIプロジェクトを作成します。

1 Quartus IIプロジェクトの名前は、Deviceブロックを含むサブシステムから

取得され、ScaleSystem.qpf という名前が付けられます。

5. Quartus II Tools メニューで、Start Compilation をクリックして、プロジェクトが

正常にコンパイルされることを検証します。

6. モデルのコピーを demo_scale_HIL.mdl として保存し、このモデル内の ScaleSystemサブシステムを削除します。

7. ScaleSystemサブシステムを、DSP Builder 標準ブロックセットの AltLab ライブ

ラリの HILブロックに置き換えます。

図 A-9. スケーラの入力波形例

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 36: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

A-8 付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用

アドバンスト・ブロックセットの例

8. HILブロックをダブル・クリックして、Hardware in the loop ダイアログ・ボック

スを開きます(図 A-10)。ダイアログ・ボックスの最初のページで、ステップ 4 で

作成された Quartus II プロジェクト(ScaleSystem.qpf)を選択します。クロック・

ピン(clk)とリセット・ピン(areset_n)を選択します。a0、a1、a2、およ

び a3入力ポート・タイプを signed [2].[30] として、q0、q1、q2、および q3出力

ポート・タイプを signed [1].[15] として設定します。

1 acとshift入力ポート、およびqc出力ポートはunsignedにしておきます。リ

セット・レベルは、元のモデルの Signalsブロックに指定されたレベルと

一致する必要があります。

9. Hardware in the loop ダイアログ・ボックスを閉じます(Close)。

10. モデルから Scope1、Scope3、Unit Delay、Unit Delay1、MinMax、MinMax1、To Workspace、Display、Display1、Display2、および Display3ブロッ

クを削除します。

11. 標準ブロックセットの Inputおよび Outputブロックを使用して、すべての入力

および出力を HIL ブロックに接続します。すべての入力および出力のデータ型が、

ステップ 8 の Hardware in the loop ダイアログ・ボックスで設定されたデータ型と

一致して、正しく設定されていることを検証します。

図 A-10. スケール・ブロック用の Hardware in the loop パラメータ設定ページ 1 の例

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 37: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用 A-9アドバンスト・ブロックセットの例

1 HILブロックは、チャネル・データ入力バスを 4 つの個別の入力(a0、a1、a2、および a3)に拡張し、チャネル・データ出力バスを 4 つの個別の出力

(q0、q1、q2、および q3)に拡張します。

Simulink Demuxと Muxブロックを使用して、入力を個別の入力に分割し、4 つの

出力をまとめて 1 つのデータ・バスにマルチプレクス化します。

標準ブロックセット IO & Bus ライブラリの VCC ブロックを信号入力

bus_areset_nに接続します。Simulink Terminatorブロックを使用して、出力

信号 qe0、qe1、qe2、および qe3を終端します。

A-3 ページの図 A-3 に更新されたモデルを示します。

12. DSP 開発ボードを接続して、スイッチがオンになっていることを確認します。

13. Hardware in the loop ダイアログ・ボックスを再度開き、リセット・レベルを

Active_High に設定します。

14. Next をクリックして、Hardware in the loop ダイアログ・ボックスの 2 ページ目を

表示します(図 A-12)。FPGA device フィールドにデバイスの正式な名前を入力し

ます。デバイス名が、DSP 開発ボードのデバイス名と一致しており、元のモデル

のデバイス・ファミリ・セットと互換性があることを検証します。

図 A-11. スケール・ブロックの HIL バージョンのデザイン例

10

16

clk @ 200.00 MHz

active High

bus @ 200.00 MHz

4

4

© 2009 年 6 月 Altera Corporation DSP デザイン・フロー・ ユーザーガイド

Page 38: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

A-10 付録 A: Hardware in the Loop の DSP Builder アドバンスト・ ブロックセットとの使用

アドバンスト・ブロックセットの例

15. Compile with Quartus II をクリックして、HIL モデルをコンパイルします。

16. Scan JTAG をクリックしてご使用のコンピュータに接続されているすべてのハー

ドウェアを検索し、目的の JTAG Cable および Device in chain を選択します。

17. Configure FPGA をクリックして、コンパイルされたプログラミング・ファイル

(.sof)を DSP 開発ボードにダウンロードします。

18. Hardware in the loop ダイアログ・ボックスを閉じて(Close)、モデルを保存します。

19. HIL モデルをシミュレーションします。DataOutScopeブロックの波形を、元の

モデルの結果と比較します。どちらも同じ波形でなければなりません。

図 A-12. Hardware in the loop パラメータ設定ページ 2

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation

Page 39: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

© 2009 年 6 月 Altera Corporation

追加情報

改訂履歴 以下の表に、このユーザーガイドの改訂履歴を示します。

アルテラへのお問い合わせアルテラ製品に関する最新情報については、次の表を参照してください。

表記規則本資料では、以下の表に示す表記規則を使用しています。

日付 バージョン 変更内容

2009 年 4 月 3.1 相互参照を SOPC Builder に追加し、組み合わせブロックセット・デザインに必要なリセット・レベルを修正。

2009 年 3 月 3.0 組み合わせブロックセットと Hardware in the Loop の使用の例を更新。

2008 年 11 月 2.0 新規スタイルで DSP デザインの概要としてリコンフィギュレーションし、インストール情報を新規「DSP Builder Installation and Licensing」マニュアルに移動。

2008 年 5 月 1.0 DSP Builder アドバンスト・ブロックセットの入門書としての本ユーザーガイドの初版。

お問い合わせ先注 1 お問い合わせ方法 アドレス

技術的なご質問 ウェブサイト www.altera.co.jp/support

技術トレーニング ウェブサイト www.altera.co.jp/training

電子メール [email protected]

製品資料 ウェブサイト www.altera.co.jp/literature

一般的なお問い合わせ 電子メール [email protected]

ソフトウェア・ライセンスに関するお問い合わせ

電子メール [email protected]

表の注:

(1) 詳しくは、日本アルテラまたは販売代理店にお問い合わせください。

書体 意味

太字かつ文頭が大文字 コマンド名、ダイアログ・ボックス・タイトル、ダイアログ・ボックス・オプション、およびその他の GUI ラベルを表します。例:Save As ダイアログ・ボックス

太字 ディレクトリ名、プロジェクト名、ディスク・ドライブ名、ファイル名、ファイルの拡張子、およびソフトウェア・ユーティリティ名を表します。例:\qdesigns ディレクトリ、d: ドライブ、および chiptrip.gdf ファイル

斜体かつ文頭が大文字 資料のタイトルを表します。例:「AN 519: Stratix IV Design Guidelines」

DSP デザイン・フロー・ ユーザーガイド

Page 40: DSP デザイン・フロー・ ユーザーガイドDSP スループットを提供できますが、一般的に使用されるDSP プロセッサは最大4.8 GMACS しか提供できません。図1-2

Info-2 追加情報

表記規則

斜体 変数を表します。例:n + 1変数名は、山括弧(< >)で囲んでいます。例:<file name> および<project name>.pof ファイル

文頭が大文字 キーボード・キーおよびメニュー名を表します。例:Delete キー、Options メニュー

「小見出しタイトル」 かぎ括弧は、資料内の小見出しおよび Quartus II Help トピックのタイトルを表します。例:「表記規則」

Courierフォント 信号、ポート、レジスタ、ビット、ブロック、およびプリミティブ名を表します。例:data1、tdi、および input。アクティブ Low 信号は、サフィックス nで表されています。例:resetn

コマンドライン・コマンド、および表示されているとおりに入力する必要があるものを表します。例:c:\qdesigns\tutorial\chiptrip.gdf また、Report ファイルのような実際のファイル、ファイルの構成要素

(例:AHDL キーワードの SUBDESIGN)、ロジック・ファンクション名(例:TRI)も表します。

1.、2.、3.、およびa.、b.、c. など

手順など項目の順序が重要なものは、番号が付けられリスト形式で表記されています。 箇条書きの黒点などは、項目の順序が重要ではないものに付いています。

1 指差しマークは、要注意箇所を表しています。

c 注意は、製品または作業中のデータに損傷を与えたり、破壊したりするおそれのある条件や状況に対して注意を促します。

w 警告は、ユーザーに危害を与えるおそれのある条件や状況に対して注意を促します。

r 矢印は、Enter キーを押すことを示しています。

f 足跡マークは、詳細情報の参照先を示しています。

書体 意味

DSP デザイン・フロー・ ユーザーガイド © 2009 年 6 月 Altera Corporation