• 検索結果がありません。

System Generator for DSP ユーザー ガイド

N/A
N/A
Protected

Academic year: 2021

シェア "System Generator for DSP ユーザー ガイド"

Copied!
350
0
0

読み込み中.... (全文を見る)

全文

(1)

本資料は英語版 (v10.1.2) を翻訳 し た ものです。 英語の更新バージ ョ ンが リ リ ース さ れている場合には、 最新の英語 版を必ずご参照 く だ さ い。

for DSP

ユーザー

ガ イ ド

(2)

Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information.

THE DOCUMENTATION IS DISCLOSED TO YOU "AS-IS" WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.

© Copyright 2002-2008 Xilinx, Inc. All rights reserved.

Xilinx, the Xilinx logo, the Brand Window, Virtex, Spartan, CoolRunner, ISE, and other designated brands included herein are trademarks of Xilinx, Inc. Certain other third-party trademarks are used under license, for further information, see

http://japan.xilinx.com/legal.htm. All other trademarks are the property of their respective owners.

(3)

こ のマニ ュ アルについて

マニ ュ アルの内容 . . . 9 System Generator の PDF マニ ュ アルセ ッ ト . . . 9 その他の リ ソ ース . . . 10 表記規則 . . . 10 書体 . . . 10 オン ラ イ ン マニ ュ アル . . . 11

1

: System Generator

を使用 し た

ハー ド ウ ェ ア設計

FPGA の概要 . . . 14 DSP 設計者への メ モ . . . 18 ハー ド ウ ェ ア設計者への メ モ . . . 18 System Generator を使用 し たデザ イ ン フ ロー . . . 19 アルゴ リ ズ ムの解析 . . . 19 大型デザ イ ンの一部 と し て イ ンプ リ メ ン ト . . . 19 完成 し たデザ イ ンの イ ンプ リ メ ン ト . . . 19 System Generator でのシ ス テ ムレベルのモデ リ ン グ . . . 20 System Generator ブ ロ ッ ク セ ッ ト . . . 21 信号型 . . . 23 ビ ッ ト 単位お よ びサ イ ク ル単位のモデ リ ン グ . . . 24 タ イ ミ ン グ と ク ロ ッ ク . . . 24 同期化の メ カ ニ ズ ム . . . 36 ブ ロ ッ ク マ ス ク と パ ラ メ ー タ の伝搬 . . . 36 リ ソ ース の予測 . . . 38 自動 コ ー ド 生成 . . . 38 System Generator ト ー ク ン を使用 し た コ ンパ イ ル と シ ミ ュ レーシ ョ ン . . . 39 コ ンパ イ ル結果 . . . 43 HDL テ ス ト ベンチ . . . 49 MATLAB の FPGA への コ ンパ イ ル . . . 50 単純なセ レ ク タ . . . 50 単純な数値演算 . . . 52 レ イ テ ン シのあ る 複素乗算器 . . . 54 シ フ ト 操作 . . . 55 MCode ブ ロ ッ ク へパ ラ メ ー タ を渡す . . . 56 オプシ ョ ンの入力ポー ト . . . 59 有限ス テー ト マシ ン . . . 61 パ ラ メ ー タ 指定ア キ ュ ム レー タ . . . 62 FIR と シ ス テ ム検証 . . . 65 RPN カ リ キ ュ レー タ . . . 68

(4)

System Generator デザ イ ンの大型シ ス テ ムへの イ ン ポー ト . . . 72

HDL ネ ッ ト リ ス ト の コ ンパ イ ル . . . 72

デザ イ ンの統合に関す る 規則 . . . 72

System Generator と Project Navigator の統合フ ロ ー . . . 72

手順の例 . . . 73 コ ン フ ィ ギ ャ ブルサブシ ス テ ム と System Generator . . . 81 コ ン フ ィ ギ ャ ブルサブシ ス テ ムの定義 . . . 81 コ ン フ ィ ギ ャ ブルサブシ ス テ ムの使用 . . . 83 コ ン フ ィ ギ ャ ブルサブシ ス テ ムか ら のブ ロ ッ ク の削除 . . . 84 コ ン フ ィ ギ ャ ブルサブシ ス テ ムへのブ ロ ッ ク の追加 . . . 84 コ ン フ ィ ギ ャ ブルサブシ ス テ ムか ら のハー ド ウ ェ アの生成 . . . 85 高パフ ォーマ ン ス FPGA デザ イ ンに関す る メ モ . . . 87 ブ ロ ッ ク のパ ラ メ ー タ ダ イ ア ロ グボ ッ ク ス に含まれてい る 「Hardware notes」 を読む . . . 87 デザ イ ンの入力 と 出力に レ ジ ス タ を付け る . . . 87 パ イ プ ラ イ ン レ ジ ス タ を挿入す る . . . 87 [Saturate] お よ び [Round] オプシ ョ ンは必要な場合以外は使用 し ない . . . 87 System Generator の タ イ ミ ン グ解析ツールを使用す る . . . 87 すべての Gateway ブ ロ ッ ク でデー タ レー ト オプシ ョ ン を設定す る . . . 88 ク ロ ッ ク イ ネーブル (CE) の フ ァ ン ア ウ ト を低減す る . . . 88

FPGA 物理デザ イ ンツールを使用 し た System Generator デザ イ ンの処理 . . . 89

HDL シ ミ ュ レーシ ョ ン . . . 89 FPGA ビ ッ ト ス ト リ ームの生成 . . . 92 自動生成 さ れた ク ロ ッ ク イ ネーブルロ ジ ッ ク の リ セ ッ ト . . . 96 ce_clr と レー ト 変更ブ ロ ッ ク . . . 97 ce_clr の使用に関す る 推奨事項 . . . 98 DSP48 の設計手法 . . . 99 DSP48 について . . . 99 標準 コ ン ポーネ ン ト を使用 し たデザ イ ン . . . 100

合成可能な Mult、Mux、AddSub ブ ロ ッ ク を使用 し たデザ イ ン . . . 100

DSP48 お よ び DSP48 Macro ブ ロ ッ ク を使用 し たデザ イ ン . . . 101

DSP48 設計手法 . . . 103

FDATool を使用 し たデジ タ ル フ ィ ル タ アプ リ ケーシ ョ ン . . . 106

デザ イ ンの概要 . . . 107

FIR フ ィ ル タ の係数の生成 . . . 108

MAC Based FIR ブ ロ ッ ク のパ ラ メ ー タ 指定 . . . 108

FIR フ ィ ル タ の係数の生成 と 割 り 当て . . . 109 ザ イ リ ン ク ス フ ィ ル タブ ロ ッ ク の理解 . . . 110 シ ミ ュ レーシ ョ ンの実行 . . . 111 複数 ク ロ ッ ク のサ イ ク ル単位ア イ ラ ン ド の生成 . . . 113 複数 ク ロ ッ ク アプ リ ケーシ ョ ン . . . 114 ク ロ ッ ク ド メ イ ンの分割 . . . 115 ク ロ ッ ク ド メ イ ンの切 り 替え . . . 115 複数 ク ロ ッ ク デザ イ ンのネ ッ ト リ ス ト 生成 . . . 117 手順の例 . . . 118 最上位 ラ ッ パの作成 . . . 122

(5)

ChipScope Pro の概要 . . . 126

System Generator 内での ChipScope . . . 126

リ アル タ イ ムデバ ッ グ . . . 132 ChipScope か ら MATLAB ワー ク スペースへのデー タ の イ ン ポー ト . . . 135

2

:

ハー ド ウ ェ ア

/

ソ フ ト ウ ェ ア協調設計

System Generator でのハー ド ウ ェ ア/ソ フ ト ウ ェ ア協調設計 . . . 137 Black Box ブ ロ ッ ク . . . 137 PicoBlaze Microcontroller ブ ロ ッ ク . . . 137 EDK Processor ブ ロ ッ ク . . . 138 プ ロ セ ッ サのカ ス タ ム ロ ジ ッ ク への統合 . . . 138 メ モ リ マ ッ プの作成 . . . 139 ハー ド ウ ェ アの生成 . . . 140 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 141 ソ フ ト ウ ェ ア ド ラ イ バの生成 . . . 141 EDK プ ロ セ ッ サの ソ フ ト ウ ェ ア記述 . . . 142 EDK プ ロ セ ッ サでの非同期のサポー ト . . . 142 EDK サポー ト . . . 144 EDK プ ロ セ ッ サの イ ン ポー ト . . . 144 System Generator へのプ ロ セ ッ サポー ト の追加 . . . 146 pcore のエ ク ス ポー ト . . . 147 エンベデ ッ ド プ ロ セ ッ サお よ びマ イ ク ロ プ ロ セ ッ サ を使用 し た設計 . . . 147 PicoBlaze マ イ ク ロ コ ン ト ロ ー ラ アプ リ ケーシ ョ ンの設計 . . . 147 MicroBlaze プ ロ セ ッ サペ リ フ ェ ラ ルの設計 と エ ク ス ポー ト . . . 154 チ ュ ー ト リ アル : MicroBlaze プ ロ セ ッ サシ ス テ ムの設計 と シ ミ ュ レーシ ョ ン . . . 158 XPS の使用 . . . 167

3

:

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ハー ド ウ ェ アプ ラ ッ ト フ ォームの イ ン ス ト ール . . . 175 イ ーサネ ッ ト ベースハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 175 JTAG ベースハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 175 サー ド バーテ ィ ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 175 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用のモデルの コ ンパ イ ル . . . 176 コ ンパ イ ル ターゲ ッ ト の選択 . . . 176 コ ー ド の生成 . . . 176 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンブ ロ ッ ク . . . 178 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの ク ロ ッ ク . . . 179 ク ロ ッ ク 周波数の選択 . . . 179 ク ロ ッ クモー ド . . . 180 ク ロ ッ クモー ド の選択 . . . 181 ボー ド 専用 I/O ポー ト . . . 182 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンでの I/O ポー ト . . . 183 イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 183 ポ イ ン ト ツーポ イ ン ト イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . 184 ネ ッ ト ワ ー クベース の イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン

(6)

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の共有 メ モ リ の コ ンパ イ ル . . . 190 非保護の共有 メ モ リ の協調シ ミ ュ レーシ ョ ン . . . 193 ロ ッ ク 共有 メ モ リ の協調シ ミ ュ レーシ ョ ン . . . 193 共有レ ジ ス タ の協調シ ミ ュ レーシ ョ ン . . . 195 共有 FIFO の協調シ ミ ュ レーシ ョ ン . . . 197 共有 メ モ リ の制限 . . . 199 ザ イ リ ン ク ス ツールフ ロ ーの設定 . . . 199 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン を使用 し た フ レームベース の シ ミ ュ レーシ ョ ン . . . 201 共有 メ モ リ . . . 202 デザ イ ンへのバ ッ フ ァ の追加 . . . 203 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の コ ンパ イ ル . . . 206 ユーザーベ ク タ転送 . . . 208 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン を使用 し た リ アル タ イ ム信号処理 . . . 213 共有 メ モ リ I/O バ ッ フ ァ の例 . . . 213 5x5 フ ィ ル タ デー タパ ス の挿入 . . . 215 5x5 フ ィ ル タ カーネルテ ス ト ベンチ . . . 218 カーネルの再読み込み . . . 222 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンボー ド の イ ン ス ト ール . . . 223 イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の ML402 プ ラ ッ ト フ ォームの イ ン ス ト ール . . . 223 イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の ML506 プ ラ ッ ト フ ォームの イ ン ス ト ール . . . 231 イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の Spartan-3A DSP 1800A ス ター タ プ ラ ッ ト フ ォームの イ ン ス ト ール . . . 240 イ ーサネ ッ ト ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の Spartan-3A DSP 3400A 開発プ ラ ッ ト フ ォームの イ ン ス ト ール . . . 243 JTAG ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の ML402 ボー ド の イ ン ス ト ール . . . 252 JTAG ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の新規プ ラ ッ ト フ ォームの サポー ト . . . 253 ハー ド ウ ェ ア要件 . . . 253 新規プ ラ ッ ト フ ォームのサポー ト . . . 253

4

: HDL

モ ジ ュ ールのイ ンポー ト

ブ ラ ッ ク ボ ッ ク ス の HDL の要件 と 制限 . . . 268 ブ ラ ッ ク ボ ッ ク ス コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド . . . 269 ブ ラ ッ ク ボ ッ ク ス の コ ン フ ィ ギ ュ レーシ ョ ン M 関数 . . . 270 HDL 協調シ ミ ュ レーシ ョ ン . . . 282 概要 . . . 282 HDL シ ミ ュ レー タ の設定 . . . 282 複数のブ ラ ッ ク ボ ッ ク ス の協調シ ミ ュ レーシ ョ ン . . . 284 ブ ラ ッ ク ボ ッ ク ス の例 . . . 284 CORE Generator モジ ュ ールの イ ン ポー ト . . . 285 VHDL モジ ュ ールの イ ン ポー ト . . . 299 Verilog モジ ュ ールの イ ン ポー ト . . . 306 ダ イ ナ ミ ッ クブ ラ ッ ク ボ ッ ク ス . . . 308

(7)

ModelSim を使用 し た ア ド バン スブ ラ ッ ク ボ ッ ク ス の例 . . . 312

5

: System Generator

の コ ンパイル

タ イ プ

HDL ネ ッ ト リ ス ト への コ ンパ イ ル . . . 320 NGC ネ ッ ト リ ス ト への コ ンパ イ ル . . . 320 ビ ッ ト ス ト リ ームへの コ ンパ イ ル . . . 321 XFLOW のオプシ ョ ンフ ァ イ ル . . . 322 追加の設定 . . . 323 EDK Processor ブ ロ ッ ク に含まれ る ソ フ ト ウ ェ アプ ロ グ ラ ムの ビ ッ ト ス ト リ ームへの 再 コ ンパ イ ル . . . 324

EDK Export Tool . . . 324

pcore エ ク ス ポー ト 用のカ ス タ ムバ ス イ ン タ ーフ ェ イ ス の作成 . . . 326

pcore と し て EDK にエ ク ス ポー ト . . . 327

System Generator ポー ト を EDK の最上位ポー ト と し て使用 . . . 328

サポー ト さ れ る プ ロ セ ッ サ と 制限 . . . 328 関連項目 . . . 328 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用の コ ンパ イ ル . . . 328 タ イ ミ ン グ解析用の コ ンパ イ ル . . . 329 タ イ ミ ン グ解析の概要 . . . 330 タ イ ミ ン グ解析ツールの機能 . . . 331 コ ンパ イ ル タ ーゲ ッ ト の作成 . . . 342 新規 コ ンパ イ ル ターゲ ッ ト の定義 . . . 343

索引

. . . 347

(8)
(9)

このマニ ュ アルについて

こ のマニ ュ アルには、System Generator を理解 し 、 使用す る ために重要な ト ピ ッ ク が含まれてい ま す。ま た、 『System Generator for DSP 入門ガ イ ド 』 には掲載 し き れなかっ た例やチ ュ ー ト リ アル も 含まれてい ます。

マニ ュ アルの内容

こ のマニ ュ アルは、 次の章か ら 構成 さ れてい ます。 • 第 1 章 「System Generator を使用 し たハー ド ウ ェ ア設計」 • 第 2 章 「ハー ド ウ ェ ア/ソ フ ト ウ ェ ア協調設計」 • 第 3 章 「ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用」 • 第 4 章 「HDL モジ ュ ールの イ ン ポー ト 」 • 第 5 章 「System Generator の コ ンパ イ ルタ イ プ」

System Generator

PDF

マニ ュ アル

セ ッ ト

こ の マ ニ ュ ア ルは System Generator の Help シ ス テ ム (英語版) と し て 参照で き 、 ま た System Generator の PDF マニ ュ ア ルセッ ト の一部です。こ の PDF マニ ュ ア ルセッ ト には、 次のマニ ュ ア ルが含ま れて いま す。

• System Generator for DSP 入門ガ イ ド • System Generator for DSP ユーザーガ イ ド • System Generator for DSP リ フ ァ レ ン ス ガ イ ド

メ モ : こ れ ら のマニ ュ アル間のハ イ パー リ ン ク は、PDF フ ァ イ ルが同 じ フ ォ ルダにあ る 場合にのみ 機能 し ます。 Adobe Reader でハ イ パー リ ン ク を ク リ ッ ク し た場合、Alt キー と 左方向キー (←) を同 時に押す と 、 前に表示 し ていたページに戻 る こ と がで き ます。

(10)

その他の リ ソ ース

追加の資料は、 次の Web サ イ ト か ら 参照で き ます。 http://japan.xilinx.com/literature シ リ コ ンや ソ フ ト ウ ェ ア、IP に関す る ア ンサーデー タ ベース を検索 し た り 、 テ ク ニ カルサポー ト の ウ ェ ブ ケース を開 く 場合は、 次の Web サ イ ト にア ク セ ス し て く だ さ い。 http://japan.xilinx.com/support

表記規則

こ のマニ ュ アルでは、 次の表記規則を使用 し てい ます。各規則について、 例を挙げて説明 し ます。

書体

次の規則は、 すべてのマニ ュ アルで使用 さ れてい ます。 表記規則 使用箇所 例 Courierフ ォ ン ト シ ス テ ムが表示する メ ッ セージ、 プ ロ ンプ ト 、 プ ロ グ ラ ム フ ァ イ ルを表示 し ます。 speed grade: - 100 Courierフ ォ ン ト (太字) 構文内で入力する コ マ ン ド を示 し ます。 ngdbuild design_name イ タ リ ッ ク フ ォ ン ト ユーザーが値を入力する 必要の あ る 構文内の変数に使用 し ます。 ngdbuild design_name 二重/一重かぎかっ こ 『』、 「」 『』 はマニ ュ アル名を、 「」 はセ ク シ ョ ン名を示 し ます。 詳細については、 『開発シ ス テ ム リ フ ァ レ ン ス ガ イ ド 』 の 「PAR」 を参照 し て く だ さ い。 角かっ こ [ ] オプシ ョ ンの入力ま たはパ ラ メ ー タ を示 し ますが、 bus[7:0] の よ う なバ ス仕様では必ず使用 し ます。 ま た、GUI 表記に も 使 用 し ます。 ngdbuild [option_name] design_name [File] → [Open] を ク リ ッ ク し ます。 中かっ こ { } 1 リ ス ト を示 し ます。つ以上の項目を選択す る ための lowpwr ={on|off} 縦棒 | 選択する リ ス ト の項目を分離 します。 lowpwr ={on|off} 縦の省略記号 . . . 繰 り 返 し 項目が省略 さ れてい る こ と を示 し ます。

IOB #1: Name = QOUT’ IOB #2: Name = CLKIN’

. . .

(11)

オ ン ラ イ ン

マニ ュ アル

こ のマニ ュ アルでは、 次の規則が使用 さ れてい ます。 表記規則 使用箇所 例 青色の文字 マニ ュ アル内の相互参照を示 し ます。 詳細は、「そ の他の リ ソ ー ス」 を 参照 し て く だ さ い。 詳細は、第 1 章「 タ イ ト ルフ ォー マ ッ ト 」 を参照 し て く だ さ い。 赤色の文字 ほかのマニ ュ アルへの相互参照 を示 し ます。 詳細は、 『Virtex-II Platform FPGA ユーザーガ イ ド 』 の 図 2-5を参照 し て く だ さ い。 青色の下線付 き 文字 Web サ イ ト (URL) へのハ イ パー リ ン ク です。 最新の ス ピー ド フ ァ イ ルは、 http://japan.xilinx.comか ら 入手 で き ます。

(12)
(13)

1

System Generator

を使用 し た

ハー ド ウ ェ ア設計

System Generator は、FPGA ハー ド ウ ェ ア を設計す る ためのシ ス テ ム レベルのモデ リ ン グ ツール です。 Simulink が さ ま ざ ま な面で拡張 さ れてお り 、 ハー ド ウ ェ ア設計に適 し たモデ リ ン グ環境を提 供 し ます。デザ イ ンは高い抽象度で記述 さ れ、 ボ タ ン を ク リ ッ ク す る だけで FPGA に コ ンパ イ ル さ れます。低い抽象度に よ り FPGA リ ソ ース に も ア ク セ ス で き る ので、効率的な FPGA デザ イ ン を構 築で き ます。

FPGA の概要 FPGA の基礎概念を示 し 、System Generator を使用す る 場合の コ ンパ イ ル、 プ ロ グ ラ ム、 アーキ テ ク チ ャ に関 す る 考慮事項を説明 し ます。 System Generator を使用 し たデザ イ ンフ ロ ー System Generator でのデザ イ ン設計が有益な状況を 示 し ます。 System Generator でのシ ス テ ムレ ベルのモデ リ ン グ 柔軟で高度な シ ス テ ム モデ リ ン グ環境か ら 、 デバ イ ス 特定のハー ド ウ ェ アデザ イ ン を直接 イ ン プ リ メ ン ト す る System Generator の機能を説明 し ます。 自動 コ ー ド 生成 System Generator デザ イ ン の自動 コ ー ド 生成につい て 説明 し ます。

MATLAB の FPGA へのコ ン パイ ル MATLAB プ ロ グ ラ ム 言語の サブ セ ッ ト を 使用 し て ス テー ト マ シ ンお よ び数値演算フ ァ ン ク シ ョ ン を記述す る 方法を説明 し ます。こ の よ う に記述 し た フ ァ ン ク シ ョ ン を System Generator のブ ロ ッ ク に含め、等価の HDL に自動的に コ ンパ イ ルで き ます。 System Generator デザ イ ン の大型 シ ス テ ムへの イ ンポー ト System Generator か ら VHDL ネ ッ ト リ ス ト を取 り 出 し て合成 し 、 大型デザ イ ン に組み込む方法を説明 し ます。 ま た、System Generator で作成 し た VHDL を シ ス テ ム 全体のシ ミ ュ レ ーシ ョ ン モデルに組み込む方法 も 説明 し ます。 コ ン フ ィ ギ ャ ブルサブシ ス テ ム と System Generator System Generator でのコ ン フ ィ ギ ャ ブルサブシ ス テ ム の使用方法を 示し ま す。コ ン フ ィ ギャ ブルサブシス テム の定義、 ブロ ッ ク の削除と 追加、 コ ン フ ィ ギャ ブルサブ シス テム を 使用し たコ ン パイ ル結果の System Generator デザイ ン へのイ ン ポート 方法について説明し ま す。

(14)

FPGA

の概要

FPGA (Field Programmable Gate Array) は、 デバ イ ス製造業者ではな く 、 設計者がプ ロ グ ラ ムす る 汎用集積回路です。 ASIC (Application-Specific Integrated Circuit) と は異な り 、FPGA はシ ス テ ム に組み込まれた後で も 再プ ロ グ ラ ム可能です。

FPGA は、 ビ ッ ト ス ト リ ーム と 呼ばれ る コ ン フ ィ ギ ュ レーシ ョ ン プ ロ グ ラ ム を ス タ テ ィ ッ ク オン チ ッ プ RAM にダ ウ ン ロ ー ド す る こ と に よ り プ ロ グ ラ ム し ます。こ の ビ ッ ト ス ト リ ームは、 マ イ ク ロ プ ロ セ ッ サのオブジ ェ ク ト コ ー ド と 同様に、 コ ンパ イ ルツールで設計者が作成 し た抽象度の高 い記述を低 レ ベルの実行可能な コ ー ド に変換す る こ と に よ り 生成 さ れ ま す。ザ イ リ ン ク ス System Generator は、 高レベルの Simulink モデルか ら FPGA プ ロ グ ラ ム を コ ンパ イ ルで き る よ う に し た ツールです。 FPGA は、さ ま ざ な演算フ ァ ン ク シ ョ ンお よ び ロ ジ ッ ク フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト 可能な コ ン フ ィ ギ ャ ブル リ ソ ー ス の 2 次元のア レ イ で構成 さ れてい ます。こ れ ら の リ ソ ース には、DSP ブ ロ ッ ク 、 乗算器、 デ ュ アルポー ト メ モ リ 、 ル ッ ク ア ッ プテーブル (LUT)、 レ ジ ス タ、 ト ラ イ ス テー ト バ ッ フ ァ 、 マルチプ レ ク サ、 デジ タ ル ク ロ ッ クマネージ ャ (DCM) な ど があ り ます。ザ イ リ ン ク ス FPGA には さ ら に、広範囲のバン ド 幅お よ び電圧要件に対応で き る 高度な I/O 機構が含まれてい ま す。 Virtex-4 お よ び Virtex-II Pro フ ァ ミ リ FPGA には、 エ ン ベデ ッ ド マ イ ク ロ コ ン ト ロ ー ラ

(IBM PowerPC 405) お よ びマルチギガ ビ ッ ト シ リ アル ト ラ ン シーバが組み込まれてい ます。演算 お よ び I/O リ ソ ー ス はプ ロ グ ラ マブルイ ン タ ー コ ネ ク ト で接続 さ れてお り 、 ビ ッ ト ス ト リ ーム に 従っ てシ ス テ ム内で配線 さ れます。 FPGA は、 高パフ ォーマ ン ス のデー タ 処理デバ イ ス です。 FPGA ではデー タ 処理にパ ラ レ ル構造を 使用で き る ので、高パフ ォーマ ン ス の DSP を達成で き ます。パフ ォーマン ス がプ ロ セ ッ サで実行可 能な ク ロ ッ ク レー ト に依存す る マ イ ク ロ プ ロ セ ッ サ ま たは DSP プ ロ セ ッ サ と は異な り 、FPGA の 高パフ ォーマ ン ス FPGA デザ イ ン に関す る メ モ FPGA に効率的で高パ フ ォ ーマ ン ス のデザ イ ン を イ ン プ リ メ ン ト す る ための、System Generator での設計手法 を示 し ます。 FPGA 物理デザ イ ン ツールを使用 し た System Generator デザ イ ンの 処理 System Generator で 生 成 し た 低 レ ベ ル の HDL を

Project Navigator、ModelSim、 お よび Synplify な ど の ツールで使用す る 方法を説明 し ます。 自動生成 さ れた ク ロ ッ ク イ ネーブ ルロ ジ ッ ク の リ セ ッ ト System Generator ラ イ ブ ラ リ の レ ート 変更ブ ロ ッ ク の、 再同期化用に ce_clr を 使用し た 場合の動作を 説明 し ま す。

DSP48 の設計手法 System Generator で DSP48 (XtremeDSP ス ラ イ ス) を イ ンプ リ メ ン ト し 、 コ ン フ ィ ギ ュ レーシ ョ ンする 方法を 説明 し ます。 FDATool を使用 し たデジ タ ル フ ィ ル タアプ リ ケーシ ョ ン FDATool ブ ロ ッ ク を使用 し て、FIR フ ィ ル タ を指定、 イ ンプ リ メ ン ト 、お よびシ ミ ュ レーシ ョ ンする 方法を説明 し ます。 複数 ク ロ ッ ク のサ イ ク ル単位ア イ ラ ン ド の生成 System Generator でマルチ ク ロ ッ ク デザ イ ン を イ ン プ リ メ ン ト す る 方法を説明 し ます。

ChipScope Pro Analyzer を使用 し た リ ア ル タ イ ム ハー ド ウ ェ ア デ バ ッ グ

ザ イ リ ン ク ス のデバ ッ グ ツールで あ る ChipScope Pro

を System Generator 内で接続 し 、 使用す る 方法を説明 し ます。

(15)

存 し ます。 高シ ス テ ム ク ロ ッ ク レー ト (現在では 100 ~ 200MHz のシ ス テ ム周波数が一般的) お よ び高度に分散 さ れた メ モ リ 構造に よ り 、 デー タ ス ト リ ーム で動作す る DSP やその他の ア プ リ ケーシ ョ ンでパ ラ レル構造を利用で き ます。た と えば、150MHz の ク ロ ッ ク レー ト で動作す る 大型 FPGA の メ モ リ バン ド 幅は、 毎秒数百テ ラ バ イ ト に も 達 し ます。 デジ タ ルア ッ プ/ダ ウ ン コ ンバー タ な ど、 カ ス タ ム集積回路 (IC) のみま たは 1 つの FPGA に イ ン プ リ メ ン ト で き る DSP アプ リ ケーシ ョ ン も あ り ますが、 フ ォ ン ノ イ マ ンプ ロ セ ッ サでは、 演算機 能お よ び メ モ リ のバン ド 幅の両方において不十分です。 FPGA を使用す る と 、 カ ス タ ム IC と 比べ て NRE (Non-Recurring Engineering) コ ス ト を大幅に削減 し (FPGA は市販の既製デバ イ ス)、 タ イ ム ト ゥ マーケ ッ ト を短縮で き 、 ま た コ ン フ ィ ギ ャ ブルであ る こ と か ら エン ド アプ リ ケーシ ョ ンに 設置 し た後にで も デザ イ ンに変更を加え る こ と がで き ます。

System Generator を使用す る 際は、FPGA には信号処理フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る のに さ ま ざ ま な レベルでの柔軟性があ る こ と を頭に入れてお く こ と が重要です。た と えば、 シ ス テ ム内 で異な る デー タ パ ス幅を定義 し 、 シ ス テ ム要件に応 じ て MAC エ ン ジ ン な ど の個別のデー タ プ ロ セ ッ サ を使用で き ます。 System Generator では、 イ ンプ リ メ ン ト する アルゴ リ ズ ム を考慮す る だけ で FPGA 用のデザ イ ン を設計で き ますが、 FPGA に関す る 理解を深め る こ と に よ り 、 高パフ ォーマ ン ス を達成する ための FPGA 特有の機能を利用で き る よ う にな り ます。 こ のセ ク シ ョ ンの残 り の部分では、FPGA で利用可能な一部の ロ ジ ッ ク リ ソ ース について簡単に説 明 し ます。

上図は、Virtex-4 FPGA の物理的な構造を表 し てい ます。 FPGA は、 コ ン フ ィ ギ ャ ブルイ ン タ ー コ ネ ク ト の網に埋め込ま れた ロ ジ ッ ク ス ラ イ ス の二次元配列 と ハー ド マ ク ロブ ロ ッ ク (ブ ロ ッ ク メ モ リ お よ び演算ブ ロ ッ ク) の列で構成 さ れてい る と 考え る こ と がで き 、DSP フ ァ ン ク シ ョ ンの イ ン プ リ メ ン テーシ ョ ンに適 し てい ます。 Virtex-4 FPGA の DSP ブ ロ ッ ク (次の図を参照) は 450MHz

以上で動作可能であ り 、 さ ま ざ ま な ワ ー ド 数 (BRAM ご と の合計 18Kb) に コ ン フ ィ ギ ュ レ ーシ ョ ン可能なデュ アルポー ト メ モ リ ブ ロ ッ ク (BRAM) と 周期が一致 し てい ます。 Virtex-4 SX55 デバ イ ス には、512 個の DSP ブ ロ ッ ク と BRAM が含まれてい ます。 System Generator では、 演算お よ び ロ ジ ッ ク の抽象記述を使用 し て こ れ ら の リ ソ ースすべてにア ク セ ス可能で、 高パフ ォーマ ン ス の デジ タ ルフ ィ ル タ 、FFT、 お よ びその他の演算フ ァ ン ク シ ョ ンや信号処理フ ァ ン ク シ ョ ン を構築で

(16)

DSP 設計者は、Virtex-4 DSP ブ ロ ッ ク でサポー ト さ れてい る 積和演算 (MAC) フ ァ ン ク シ ョ ンに精 通 し てい る か も 知れませんが、Virtex フ ァ ミ リ の基本ユニ ッ ト であ る ロ ジ ッ ク ス ラ イ ス (下図を参 照) を理解 し てお く こ と は有益です。 各 ロ ジ ッ ク ス ラ イ ス には、2 つの 4 入力ル ッ ク ア ッ プテーブル (LUT)、2 つの コ ン フ ィ ギ ャ ブル D フ リ ッ プ フ ロ ッ プ、 マルチプ レ ク サ、 専用キ ャ リ ー ロ ジ ッ ク 、 お よ び ス ラ イ スベー ス の乗算器を 作成す る ためのゲー ト が含ま れてい ます。 1 つの LUT には、 任意の 4 入力ブールフ ァ ン ク シ ョ ン を イ ン プ リ メ ン ト で き ま す。高速キ ャ リ ー回路を イ ンプ リ メ ン ト す る 専用 ロ ジ ッ ク と LUT を組み 合わせ る こ と に よ り 、 任意の ワ ー ド 数の高速加減算器や乗算器を構築で き ま す。ブールフ ァ ン ク シ ョ ンの イ ン プ リ メ ン テーシ ョ ンに加え、 各 LUT は 16 X 1 ビ ッ ト RAM ま たはシ フ ト レ ジ ス タ (SRL16) と し て も コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 SRL16 シ フ ト レ ジ ス タ は 16X1 ビ ッ ト の同 期遅延 ラ イ ンで、 動的に タ ッ プポ イ ン ト を指定可能です。

(17)

System Generator では、 こ れ ら の異な る メ モ リ オプシ ョ ンが高度な抽象記述で表現 さ れてい ます。

D フ リ ッ プ フ ロ ッ ププ リ ミ テ ィ ブの代わ り に、 任意のサ イ ズの レ ジ ス タ が提供 さ れてい ます。 任 意の幅、 ワ ー ド 数の遅延 ラ イ ン を イ ンプ リ メ ン ト する ブ ロ ッ ク が 2 つあ り 、SRL16 に直接マ ッ プ さ れます。遅延ブ ロ ッ ク は、パ イ プ ラ イ ン構造のバ ラ ン ス を取 る ため、 ま たは時分割多重 (TDM) デー タ ス ト リ ームに使用で き ます。 次の図に示すAddressable Shift Register (ASR) ブ ロ ッ ク は、 任意 の幅、 ワ ー ド 数の タ ッ プ遅延 ラ イ ン を イ ンプ リ メ ン ト し ます。 こ のブ ロ ッ ク は、 タ ッ プ遅延 ラ イ ン を イ ンプ リ メ ン ト す る だけでな く 、TDM デー タ ス ト リ ーム を ス イ ープす る ために使用で き る ので、

DSP 設計で特に有益です。

RAM は BRAM ま たは LUT (RAM16X1) プ リ ミ テ ィ ブを使用 し て構築で き ますが、 大型シ ス テ ム にプ リ ミ テ ィ ブを正 し く 組み込むには、 効率的にマ ッ プ さ れ る よ う にす る な ど、 通常詳細な注意が 必要です。System Generator ではその よ う な配慮は不要です。

た と えば、次の図に示す Dual Port RAM (DPRAM) ブ ロ ッ ク では、必要な メ モ リ を イ ンプ リ メ ン ト す る ため、 デバ イ ス に任意の数の RAM ま たは RAM16X1 コ ン ポーネ ン ト を効率的にマ ッ プで き ま す。こ のブ ロ ッ ク のパ ラ メ ー タ ダ イ ア ロ グ ボ ッ ク ス で、 メ モ リ の タ イ プ (BRAM ま た は分散

RAM)、 ワ ー ド 数 (デー タ 幅は入力ポー ト を駆動す る Simulink 信号か ら 推論)、 メ モ リ の初期内容な ど を設定で き ます。

(18)

通常 System Generator で抽象記述がデバ イ ス のプ リ ミ テ ィ ブに適切にマ ッ プ さ れ る ので、 プ リ ミ テ ィ ブ間の接続を考慮す る 必要はあ り ません。ま た、 ブ ロ ッ ク ラ イ ブ ラ リ の フ ァ ン ク シ ョ ンは必要 に応 じ て IP ラ イ ブ ラ リ を利用 し て効率的に イ ン プ リ メ ン ト さ れ る ので、 FPGA の詳細な知識は必 要あ り ません。ただ し 、FPGA の知識を活用 し て、 加算器、 レ ジ ス タ 、 メ モ リ な ど の基本フ ァ ン ク シ ョ ン使用 し た アルゴ リ ズ ム を、 すべての信号を明示的に制御せずに イ ンプ リ メ ン ト す る こ と も 可 能です。

こ の後のセ ク シ ョ ンで、System Generator ブ ロ ッ ク と Simulink か ら ハー ド ウ ェ アへのマ ッ プにつ い て詳細に説明 し ま す。 FPGA の詳細情報は、http://japan.xilinx.comか ら デー タ シー ト 、 ア プ リ ケーシ ョ ン ノ ー ト 、 ホ ワ イ ト ペーパー、 その他の技術資料を参照 し て く だ さ い。

DSP

設計者への メ モ

System Generator は、Simulink を拡張 し てハー ド ウ ェ ア設計を可能に し た も ので、FPGA に自動 的に コ ンパ イ ル可能な高度な抽象記述を提供 し ま す。演算の抽象記述は Simulink に適 し てい ま す が (離散時間/空間ダ イ ナ ミ ッ ク シ ス テ ムシ ミ ュ レーシ ョ ン)、System Generator では FPGA の機能 に も ア ク セ ス で き ます。 並列処理やパ イ プ ラ イ ン処理な ど をハー ド ウ ェ アで ど の よ う に実現 し てい る かを理解す る こ と に よ り 、 よ り 適切な イ ン プ リ メ ン テーシ ョ ン が得 ら れ ます。 IP コ ア を使用す る と 、FFT な ど の複雑な フ ァ ン ク シ ョ ン を含む FPGA デザ イ ン を効率的に作成で き ます。ま た、 よ り 厳密にアプ リ ケーシ ョ ンに フ ィ ッ ト す る よ う モデルを調整す る こ と も 可能です。 System Generator のマニ ュ アル全体を と お し て、シ ス テ ムパ ラ メ ー タ を使用 し てハー ド ウ ェ アの機 能を設定す る 方法を示 し ます。

ハー ド ウ ェ ア設計者への メ モ

System Generator は、 ハー ド ウ ェ ア記述言語 (HDL) ベース のデザ イ ンに置 き 換わ る も のではあ り ませんが、 重要な部分にだけ集中す る こ と を可能に し ます。ほ と ん ど の DSP プ ロ グ ラ マは、 アセン ブ ラ でのみプ ロ グ ラ ムす る のではな く 、C 言語の よ う な高級言語でプ ロ グ ラ ム を開始 し 、 パフ ォー マ ン ス要件を満たすために必要な場合だけアセンブ リ コ ー ド を記述 し てい ます。 経験的に、 デザ イ ンの内部ハー ド ウ ェ ア ク ロ ッ ク を制御する 必要のあ る 部分 (DDR、 位相 ク ロ ッ ク を使用す る な ど) は、HDL を使用 し て イ ンプ リ メ ン ト す る のが適切です。比較的重要度の低い部分 は System Generator で イ ンプ リ メ ン ト し 、 その後 HDL 部分 と System Generator 部分を接続 し ま す。通常、 信号処理シ ス テ ムのほ と ん ど の部分では、 外部 イ ン タ ーフ ェ イ ス を除 き 、 こ の レベルの 制御は不要です。 System Generator には、HDL 設計者に特に関係す る HDL コ ー ド の部分をデザ イ ンに イ ン ポー ト す る機能 ( 「HDL モジ ュ ールの イ ン ポー ト 」 を参照) が含まれてい ます。 HDL を 使用する 設計者に関係する System Generator の機能と し て、テス ト ベク タ を 含む HDL テス ト ベン チの自動生成があ り ま す。こ の機能については、「HDL テ ス ト ベンチ」 を参照 し て く だ さ い。 「ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用」で説明 さ れてい る ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス を 使用す る と 、Simulink の 制御下 で デ ザ イ ン を ハ ー ド ウ ェ ア で 実行 で き 、 MATLAB と Simulink のデー タ 解析お よ び可視化の機能を最大限に活用で き ます。

(19)

System Generator

を使用 し たデザイ ン

フ ロー

System Generator は、 さ ま ざ ま な状況で有益です。デザ イ ン をハー ド ウ ェ アに変換せずにアルゴ リ ズ ム を 解析す る 場合、 System Generator デ ザ イ ン を 大型デザ イ ン の 一部 と し て 使用す る 場合、

System Generator デザ イ ン を それのみで完成 さ せ、FPGA ハー ド ウ ェ アで使用す る 場合が あ り ま す。こ れ ら の 3 つの状況について説明 し ます。

アルゴ リ ズムの解析

System Generator は、 特にアルゴ リ ズ ムの解析、 デザ イ ンのプ ロ ト タ イ プ作成、 モデル解析で有益 です。こ れ ら が目的であ る 場合は、 ツールを使用 し てアルゴ リ ズ ム を具体化 し 、 デザ イ ンで発生す る 可能性の あ る 問題を 調べた り 、 ハー ド ウ ェ アへの イ ン プ リ メ ン テーシ ョ ン におけ る コ ス ト やパ フ ォ ーマン ス を予測で き ます。こ れ ら の作業は準備のためであ り 、 デザ イ ン をハー ド ウ ェ アに変換 す る 必要はほ と ん ど あ り ません。 こ の状況では、 詳細な イ ンプ リ メ ン テーシ ョ ン を考慮す る こ と な く 、 デザ イ ンの主な部分を組み立 て ます。 Simulink ブ ロ ッ ク と MATLAB の M コ ー ド に よ り 、 シ ミ ュ レーシ ョ ンお よ び結果の解析 用に ス テ ィ ミ ュ ラ ス を供給 し ます。リ ソ ース の予測では、 ハー ド ウ ェ アに イ ンプ リ メ ン ト し たデザ イ ン の コ ス ト を概算 し ま す。ハー ド ウ ェ ア生成を使用 し た テ ス ト に よ り 、 可能なハー ド ウ ェ ア ス ピー ド が示 さ れます。 有効な方法が決ま っ た ら 、 デザ イ ン を具体化 し ます。 System Generator では、 調整を段階的に行 う こ と がで き る ので、 デザ イ ン の一部はハー ド ウ ェ アに イ ンプ リ メ ン ト す る 準備が完了 し ていて も 、 その他の部分を抽象記述の ま ま に し てお く こ と がで き ます。 System Generator のハー ド ウ ェ ア協 調シ ミ ュ レーシ ョ ン機能は、 デザ イ ン を部分的に調整 し てい る 場合に特に有益です。

大型デザイ ンの一部 と し て イ ン プ リ メ ン ト

System Generator は、大型デザ イ ンの一部を イ ンプ リ メ ン ト す る のに よ く 使用 さ れます。た と えば、 System Generator はデー タパ スお よ び制御を イ ンプ リ メ ン ト す る のには適 し てい ますが、厳密な タ イ ミ ン グ要件を持つ高度な外部 イ ン タ ーフ ェ イ ス にはそれほ ど適 し てい ません。こ の場合、System Generator を使用 し てデザ イ ンの一部を イ ン プ リ メ ン ト し 、 ほかの部分を その他の ツールで イ ン プ リ メ ン ト し て、 こ れ ら を組み合わせて 1 つの大型デザ イ ン を構成で き ます。 こ の フ ロ ーでは、 デザ イ ン全体を表す HDL ラ ッ パを作成 し 、System Generator の部分を コ ン ポー ネ ン ト と し て使用す る のが一般的な方法です。 ほかの ツールで作成 し た部分 も 、 コ ン ポーネ ン ト と し て ラ ッ パに含め る か、 ラ ッ パに直接 イ ン ス タ ン シエー ト で き ます。

完成 し たデザイ ンのイ ン プ リ メ ン ト

デザ イ ン に必要 な も の がすべ て System Generator に含 ま れ て い る 場合が あ り ま す。こ の場合、

System Generator ト ー ク ンのパ ラ メ ー タ ダ イ ア ロ グボ ッ ク ス で [Generate] ボ タ ン を ク リ ッ ク す る だけで、デザ イ ン を HDL に変換 し 、ダ ウ ン ス ト リ ーム ツールを使用 し て HDL の処理に必要な フ ァ イ ルを生成で き ます。生成 さ れ る フ ァ イ ルは、 次の と お り です。 • デザ イ ン を イ ンプ リ メ ン ト する HDL フ ァ イ ル。 • デザ イ ン を含むク ロ ッ ク ラ ッ パ。こ の ク ロ ッ ク ラ ッ パは、デザ イ ンで必要な ク ロ ッ ク お よ び ク ロ ッ ク イ ネーブル信号を生成 し ます。 • ク ロ ッ ク ラ ッ パを含む HDL テ ス ト ベンチ。こ のテ ス ト ベンチ を使用す る と 、Simulink シ ミ ュ レーシ ョ ンの結果を ロ ジ ッ ク シ ミ ュ レー タ の結果 と 比較で き ます。

(20)

• XST や Synplify Pro な ど の合成ツールで System Generator HDL を処理で き る よ う にす る プ ロ ジ ェ ク ト フ ァ イ ル と ス ク リ プ ト 。

• System Generator HDL を Project Navigator のプ ロ ジ ェ ク ト と し て使用で き る よ う にす る フ ァ イ ル。 System Generator で生成 さ れ る フ ァ イ ルの詳細は、「 コ ンパ イ ル結果」 を参照 し て く だ さ い。

System Generator

でのシス テム

レ ベルのモデ リ ング

System Generator では、 デバ イ ス特有のハー ド ウ ェ アデザ イ ン を柔軟な高レベルのシ ス テ ムモデ リ ン グ環境で構築で き ます。 System Generator デザ イ ンでは、 信号は単な る ビ ッ ト ではな く 、符号 付 き ま たは符号な し の固定小数点値にす る こ と がで き 、 デザ イ ンに変更を加え る と 、 信号型 も 自動 的に適切な型に変換 さ れま す。ブ ロ ッ ク は単にハー ド ウ ェ アの代わ り ではな く 、その周辺に応 じ て 自動的に生成結果お よ び最終的なハー ド ウ ェ アが調整 さ れます。 System Generator では、 さ ま ざ ま な要素か ら デザ イ ン を構築で き ます。デー タ フ ロ ーモデル、ハー ド ウ ェ ア設計言語 (VHDL、Verilog、EDIF)、 お よ び MATLAB プ ロ グ ラ ム言語に よ る 関数を同時 に使用、 シ ミ ュ レーシ ョ ン、 お よ びハー ド ウ ェ アに合成で き ます。 System Generator のシ ミ ュ レー シ ョ ン結果は、 ビ ッ ト 精度お よ びサ イ ク ル精度であ り 、ハー ド ウ ェ アでの結果 と 厳密に一致 し ます。

System Generator のシ ミ ュ レーシ ョ ンは従来の HDL シ ミ ュ レー タ でのシ ミ ュ レーシ ョ ン よ り も 高 速で、 結果 も 解析 し やす く な っ てい ます。

System Generator ブ ロ ッ ク セ ッ ト System Generator ブ ロ ッ ク の ラ イ ブ ラ リ への分類方法、 ブ ロ ッ ク のパ ラ メ ー タ 設定方法お よ び使用方法 を 示 し ます。 信号型 System Generator で使用 さ れ る デー タ型 と 、ツールで自 動的にデー タ 型を割 り 当て る 方法を説明 し ます。 ビ ッ ト 単位お よ びサ イ ク ル単位の モデ リ ン グ

System Generator モデルの Simulink ベー ス の シ ミ ュ レーシ ョ ン と 、ハー ド ウ ェ アでの動作 と の関係を説明 し ます。 タ イ ミ ン グ と ク ロ ッ ク ク ロ ッ ク のハー ド ウ ェ アへの イ ンプ リ メ ン ト 方法、お よ び System Generator で ク ロ ッ ク の イ ン プ リ メ ン テ ー シ ョ ン を 制御す る 方法 を 示 し ま す。 System Generator でマルチ レー ト Simulink モデルが ど の よ う に ク ロ ッ ク 同期ハー ド ウ ェ アに変換 さ れ る か を説明 し ます。 同期化の メ カ ニズ ム 高レベル System Generator デザ イ ンにおいてデー タ パ ス エ レ メ ン ト 間でデー タ フ ロ ーを 同期化す る 方法 と 、 制御パ ス フ ァ ン ク シ ョ ン を イ ン プ リ メ ン ト す る 方法を 説明 し ます。 ブ ロ ッ ク マ ス ク と パ ラ メ ー タ の 伝搬 Simulink でパ ラ メ ー タ 指定シ ス テ ムお よ びサブシ ス テ ム を作成す る 方法を説明 し ます。 リ ソ ース の予測 System Generator デザ イ ン を イ ン プ リ メ ン ト す る のに 必要なハー ド ウ ェ アの予測方法を説明 し ます。

(21)

System Generator

ブ ロ ッ ク セ ッ ト

Simulink ブ ロ ッ ク セ ッ ト は、Simulink ブ ロ ッ ク エデ ィ タ で接続 し 、ダ イ ナ ミ ッ ク なシ ス テ ムの フ ァ ン ク シ ョ ン モデル を 作成す る た め の ブ ロ ッ ク の ラ イ ブ ラ リ です。シ ス テ ム の モデ リ ン グ で は、

System Generator ブ ロ ッ ク セ ッ ト を その他の Simulink ブ ロ ッ ク セ ッ ト と 同様に使用で き ます。ブ ロ ッ ク は、 数値演算、 ロ ジ ッ ク 、 メ モ リ 、DSP フ ァ ン ク シ ョ ン な ど の抽象表現であ り 、 高度な信号 処理シ ス テ ムやその他のシ ス テ ム を構築す る ために使用で き ます。ま た、System Generator コ ー ド 生成 ソ フ ト ウ ェ アだけでな く 、FDATool、ModelSim な ど その他の ソ フ ト ウ ェ ア ツールへの イ ン タ ーフ ェ イ ス と な る ブ ロ ッ ク も あ り ます。 System Generator ブ ロ ッ ク は、 ビ ッ ト 精度お よ びサ イ ク ル精度です。ビ ッ ト 精度ブ ロ ッ ク は、 ハー ド ウ ェ アで生成 さ れ る 対応す る 値に一致 し た値を Simulink で生成 し 、 サ イ ク ル精度ブ ロ ッ ク は対 応す る 時間に対応す る 値を生成 し ます。

(22)

ザイ リ ン ク ス

ブ ロ ッ ク セ ッ ト

ザ イ リ ン ク スブ ロ ッ ク セ ッ ト (Xilinx Blockset) は、 基本的な System Generator ブ ロ ッ ク を含む ラ イ ブ ラ リ を集めた も のです。デバ イ ス特有のハー ド ウ ェ アにア ク セ スす る 低 レベルのブ ロ ッ ク と 、 信号処理や高度な通信ア ル ゴ リ ズ ム な ど を イ ン プ リ メ ン ト す る 高 レ ベルのブ ロ ッ ク が あ り ま す。

Gateway In/Gateway Out ブ ロ ッ ク な ど幅広 く 応用可能なブ ロ ッ ク は、 複数の ラ イ ブ ラ リ に含 ま れ てい ます。 Index ラ イ ブ ラ リ には、 すべてのブ ロ ッ ク が含まれてい ます。次に、 こ れ ら の ラ イ ブ ラ リ について説明 し ます。

メ モ : ブ ロ ッ ク に関する 詳細は、「ザ イ リ ン ク ス ブ ロ ッ ク セ ッ ト 」 を参照 し て く だ さ い。

ザイ リ ン ク ス

リ フ ァ レ ン ス

ブ ロ ッ ク セ ッ ト

ザ イ リ ン ク ス リ フ ァ レ ン ス ブ ロ ッ ク セ ッ ト (Xilinx Reference Blockset) には、さ ま ざ ま な フ ァ ン ク シ ョ ン を イ ン プ リ メ ン ト す る 複合 System Generator ブ ロ ッ ク が含 ま れ ま す。こ のブ ロ ッ ク セ ッ ト のブ ロ ッ ク は、 フ ァ ン ク シ ョ ン別に ラ イ ブ ラ リ に分類 さ れてい ます。次に、 こ れ ら の ラ イ ブ ラ リ に ついて説明 し ます。 ラ イ ブ ラ リ 説明 Index ザ イ リ ン ク ス ブ ロ ッ ク セ ッ ト のすべてのブ ロ ッ ク Basic Elements デジ タ ルロ ジ ッ ク の標準基本ブ ロ ッ ク Communication デジ タ ル通信シ ス テ ムで よ く 使用 さ れ る 順方向誤 り 訂正ブ ロ ッ ク お よ びモジ ュ レー タブ ロ ッ ク Control Logic 制御回路お よ びス テー ト マシ ン用のブ ロ ッ ク

Data Types デー タ 型を変換す る ブ ロ ッ ク (Gateway ブ ロ ッ ク を含む)

DSP DSP (デジ タ ル信号処理) ブ ロ ッ ク Math 演算フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る ブ ロ ッ ク Memory メ モ リ を イ ンプ リ メ ン ト す る ブ ロ ッ ク お よ び メ モ リ にア ク セ スす る ブ ロ ッ ク Shared Memory ザ イ リ ン ク ス共有 メ モ リ を イ ン プ リ メ ン ト す る ブ ロ ッ ク お よ び共有 メ モ リ にア ク セ スす る ブ ロ ッ ク

Tools コ ー ド 生成 (System Generator ト ー ク ン)、 リ ソ ース予測、HDL 協調シ ミ ュ レーシ ョ ン な ど を実行す る ユーテ ィ リ テ ィ ブ ロ ッ ク ラ イ ブ ラ リ 説明 Communication デジ タ ル通信シ ス テ ムで よ く 使用 さ れ る ブ ロ ッ ク Control Logic 制御回路お よ びス テー ト マシ ン用のブ ロ ッ ク DSP DSP (デジ タ ル信号処理) ブ ロ ッ ク Imaging イ メ ージ処理ブ ロ ッ ク Math 演算フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る ブ ロ ッ ク

(23)

こ のブ ロ ッ ク セ ッ ト の各ブ ロ ッ ク は複合ブ ロ ッ ク であ り 、 ブ ロ ッ ク を コ ン フ ィ ギ ュ レーシ ョ ンす る パ ラ メ ー タ でマ ス ク サブシ ス テ ム と し て イ ンプ リ メ ン ト さ れます。 ラ イ ブ ラ リ に含まれ る ブ ロ ッ ク を その ま ま使用す る か、 類似 し た特性を持つデザ イ ン を構築す る 際 に開始点 と し て使用で き ます。各 リ フ ァ レ ン ス ブ ロ ッ ク には、 イ ンプ リ メ ン テーシ ョ ンの説明お よ びハー ド ウ ェ ア リ ソ ース要件が含まれてい ます。各ブ ロ ッ ク の詳細は、「ザ イ リ ン ク ス リ フ ァ レ ン ス ブ ロ ッ ク セ ッ ト 」 に も 含まれてい ます。

信号型

ハー ド ウ ェ アのビ ッ ト 精度シ ミ ュ レーシ ョ ン を実行す る には、System Generator ブ ロ ッ ク がブール 値お よ び任意の精度の固定小数点値で動作す る 必要があ り ますが、 Simulink の基本的な ス カ ラ 信号 型は、 倍精度浮動小数点です。ザ イ リ ン ク スブ ロ ッ ク と ザ イ リ ン ク ス以外のブ ロ ッ ク の間の接続に は、Gateway ブ ロ ッ ク を使用 し ます。 Gateway In ブ ロ ッ ク は倍精度の信号をザ イ リ ン ク ス信号に変 換 し 、Gateway Out ブ ロ ッ ク はザ イ リ ン ク ス信号を倍精度の信号に変換 し ます。 Simulink の連続 タ イ ミ ン グ信号は、Gateway In ブ ロ ッ ク でサ ンプ リ ン グ し ます。 ほ と ん ど のザ イ リ ン ク ス ブ ロ ッ ク は多様型であ り 、 入力型に応 じ て適切な出力型を推測で き ます。 ブ ロ ッ ク のパ ラ メ ー タ ダ イ ア ロ グボ ッ ク ス で完全精度が指定 さ れてい る 場合は、 精度が失われな い よ う に出力型が選択 さ れます。 必要に応 じ て、 符号拡張お よび 0 のパデ ィ ン グが自動的に行われ ます。ユーザー指定の精度 も 使用で き ます。こ の設定では、ブ ロ ッ ク の出力型 と 、量子化お よ びオー バーフ ロ ーの処理方法を指定で き ます。量子化の処理方法 と し ては、 正ま たは負の無限大への不偏 丸め (符号に よ っ て異な る) ま たは切 り 捨てがあ り ます。オーバーフ ロ ーの処理方法には、 正ま たは

(24)

メ モ : System Generator のデー タ 型は、Simulink で [書式] → [ポー ト/信号の表示] → [端子のデー タ タ イ プ] を ク リ ッ ク す る と 表示 さ れます。デー タ 型を表示す る と 、モデルの精度を簡単に判断で き ま す。た と えば、 ポー ト のデー タ 型が Fix_11_9 の場合は、 信号は小数点以下の ビ ッ ト が 9 桁の 2

の補数符号付 き 11 ビ ッ ト 値で あ り 、 Ufix_5_3 の場合は小数点以下の ビ ッ ト が 3 桁の符号な し 5

ビ ッ ト 値です。

Simulink モデルの System Generator 部分では、すべての信号をサ ンプ リ ン グす る 必要があ り ます。 サンプ リ ン グ時間は、Simulink の伝搬ルールに よ り 自動的に設定 さ れ る よ う にす る か、 ブ ロ ッ ク の パ ラ メ ー タ ダ イ ア ロ グ ボ ッ ク ス で明示的に 設定 で き ま す。フ ィ ー ド バ ッ ク ループ が あ る と 、 System Generator でサンプ リ ン グ周期お よ び信号型を推論で き ない場合 も あ り 、 その場合はエ ラ ー メ ッ セージが表示 さ れます。フ ィ ー ド バ ッ クループには Assert ブ ロ ッ ク を挿入 し て、こ の問題を回 避す る 必要があ り ます。ループ内のすべてのポ イ ン ト に Assert ブ ロ ッ ク を追加す る 必要はあ り ませ ん。 通常、 ループの 1 箇所に追加す る だけで十分です。 メ モ : Simulink では、 ブ ロ ッ ク と 信号を実行レー ト に応 じ て色分け し て表示で き ます (Simulink メ ニ ュ ーか ら [書式] → [ポー ト/信号の表示] → [サンプル時間の色分け表示] を ク リ ッ ク)。こ れは、マ ルチ レー ト デザ イ ン を解析す る のに有益です。

ビ ッ ト 単位およびサイ クル単位のモデ リ ング

System Generator でのシ ミ ュ レーシ ョ ンは、 ビ ッ ト 単位ま たはサ イ ク ル単位で実行 さ れます。ビ ッ ト 単位のシ ミ ュ レーシ ョ ン と は、System Generator ブ ロ ッ ク と System Generator 以外のブ ロ ッ ク の境界で、 シ ミ ュ レーシ ョ ンで生成 さ れた値がハー ド ウ ェ アで生成 さ れた対応す る 値 と ビ ッ ト 単位 で同一であ る と い う こ と です。サ イ ク ル単位のシ ミ ュ レーシ ョ ン と は、System Generator ブ ロ ッ ク と System Generator 以外のブ ロ ッ ク の境界で、対応す る 値が対応す る 時間に生成 さ れ る と い う こ と です。デザ イ ンの境界は、System Generator の Gateway ブ ロ ッ ク が配置 さ れてい る 部分です。デザ イ ン がハー ド ウ ェ アに変換 さ れ る と 、Gateway In ブ ロ ッ ク は最上位入力ポー ト 、Gateway Out ブ ロ ッ ク は最上位出力ポー ト にな り ます。

タ イ ミ ング と ク ロ ッ ク

離散時間シ ス テム

System Generator のデザ イ ンは離散時間シ ス テ ムであ る ので、信号 と その信号を生成す る ブ ロ ッ ク にはサ ン プ リ ン グ レ ー ト が あ り ま す。ブ ロ ッ ク のサ ン プ リ ン グ レー ト は、 ブ ロ ッ ク の ス テー ト が ア ッ プデー ト さ れ る 頻度を決定 し ます。 System Generator では、 ほ と ん ど のサンプ リ ン グレー ト が 自動的に設定 さ れますが、サンプ リ ン グレー ト を明示的ま たは暗示的に設定す る 必要のあ る ブ ロ ッ ク も あ り ます。 メ モ : Simulink の離散時間シ ス テ ム と サ ン プ リ ン グ時間の詳細は、MathWorks 社のマ ニ ュ ア ル 『Using Simulink』 を参照 し て く だ さ い。 単純な System Generator モデルで、 離散時間シ ス テ ムの動作を示 し ます。次の図に示すモデルがあ る と し ます。 Simulink ソ ー ス (Sine Wave) に よ り Gateway In ブ ロ ッ ク が駆動 さ れ、Gateway Out

(25)

Gateway In ブ ロ ッ ク は、1 秒 の サ ン プ リ ン グ 周期 で コ ン フ ィ ギ ュ レ ー シ ョ ン さ れ て い ま す。

Gateway Out ブ ロ ッ ク は、 ザ イ リ ン ク ス固定小数点信号を Simulink の Scope で解析で き る よ う に 倍精度に変換 し ますが、 サンプ リ ン グレー ト は変更 し ません。 Scope の出力は、 サ ンプ リ ン グ レー ト が変更 さ れていない、 サンプ リ ン グ さ れたサ イ ン波 と な り ます。

マルチ レー ト

モデル

System Generator では、信号が複数のサン プリ ン グ レ ート で動作する マルチレ ート デザイ ン がサ ポート さ れて いま す。マルチレ ート モデルは、System Generator で自動的にハード ウ ェ ア にコ ン パイ ルさ れま す。マルチレ ート デザイ ン は、Simulink に適し た 直接的な方法でイ ン プリ メ ン ト さ れま す。

レ ー ト 変換ブ ロ ッ ク

System Generator には、 サンプ リ ン グ レー ト を変換す る ブ ロ ッ ク が含まれてい ます。最 も 基本的な レー ト 変換ブ ロ ッ ク は、Up Sample と Down Sample ブ ロ ッ ク です。こ れ ら のブ ロ ッ ク は、 次の図 に示す よ う にパ ラ メ ー タ ダ イ ア ロ グボ ッ ク ス で指定 し た固定の値を乗算す る こ と に よ り 、 レー ト を変換 し ます。

Parallel To Serial や Serial To Parallel な ど のその他のブ ロ ッ ク は、 ブ ロ ッ ク のパ ラ メ ー タ 指定に応 じ て非間接的に レー ト を変換 し ます。

次の よ う な単純なマルチ レー ト シ ス テ ム があ る と し ます。こ のモデルでは、SP1 と SP2 の 2 つの サンプ リ ン グ周期が使用 さ れます。サンプ リ ン グ周期 SP1 は、Gateway In のパ ラ メ ー タ ダ イ ア ロ グボ ッ ク ス で指定 し ます。 Down Sample ブ ロ ッ ク に よ り モデルの レー ト が変更 さ れ、SP1 の 1/2 で あ る 新 し い レー ト SP2 が作成 さ れます。

(26)

ハー ド ウ ェ ア

オーバーサン プ リ ン グ

一部の System Generator ブ ロ ッ ク は、 そのブ ロ ッ ク のデー タ レ ー ト よ り 高速の レー ト で内部処理 が行われます (オーバーサンプ リ ン グ)。ハー ド ウ ェ アでは、 こ れはデー タ サンプルを処理す る のに 複数の ク ロ ッ クサ イ ク ルが必要であ る こ と を意味 し ます。 Simulink では、 こ れ ら のブ ロ ッ ク のサン プ リ ン グ レー ト に計測 さ れ る 変化はあ り ません。 オーバーサン プ リ ン グ さ れ る ブ ロ ッ ク の 1 つに DAFIR FIR フ ィ ル タ があ り ます。サンプルはシ リ アルに処理 さ れ る ので、高速レー ト で動作 し ますが、使用 さ れ る ハー ド ウ ェ アは少な く てすみます。 Simulink ではオーバーサ ンプ リ ン グ さ れ る ブ ロ ッ ク でサ ン プ リ ン グ レー ト が変化す る こ と はあ り ませんが、System Generator では、 ハー ド ウ ェ ア イ ンプ リ メ ン テーシ ョ ン用の ク ロ ッ ク ロ ジ ッ ク を 生成す る 際に、 サ ン プ リ ン グ レ ー ト と 共に内部 ブ ロ ッ ク レ ー ト も 考慮 さ れ る の で、 System Generator ト ー ク ン のパ ラ メ ー タ ダ イ ア ロ グ ボ ッ ク ス で Simulink の シ ス テ ム周期 を 指定す る 際 に、 オーバーサンプ リ ン グ さ れ る ブ ロ ッ ク の内部処理時間 も 考慮す る 必要があ り ます。

非同期 ク ロ ッ ク

System Generator は、1 つの ク ロ ッ ク に同期す る ハー ド ウ ェ ア の設計に適 し て い ま すが、場合に よ っ ては、 複数の ク ロ ッ ク を使用す る シ ス テ ムの設計に も 使用で き ます。こ の場合、 デザ イ ン を ク ロ ッ ク ド メ イ ンに分割 し 、 ド メ イ ン間での情報転送をデ ュ アルポー ト メ モ リ お よ び FIFO で制御 し ます。 System Generator では、Simulink でシ ミ ュ レーシ ョ ン し 、 完全なハー ド ウ ェ ア記述を生成 す る こ と も 含め、 こ の よ う なマルチ ク ロ ッ ク デザ イ ンがサポー ト さ れてい ます。詳細は、「複数 ク ロ ッ ク のサ イ ク ル単位ア イ ラ ン ド の生成」 を参照 し て く だ さ い。こ のセ ク シ ョ ン の残 り の部分で、 System Generator の ク ロ ッ ク 同期について説明 し ます。こ の内容は、1 つの ク ロ ッ ク のデザ イ ンお よ び複数 ク ロ ッ ク のデザ イ ンの両方に関係 し ます。

同期 ク ロ ッ ク

System Generator ト ー ク ン を使用 し てデザ イ ン をハー ド ウ ェ アに コ ンパ イ ルす る 場合、 次の図に示 す よ う に、 マ ルチ レ ー ト イ ン プ リ メ ン テ ー シ ョ ン 用に [Clock Enables] (デ フ ォ ル ト)、[Hybrid DCM-CE]、 お よ び [Expose Clock Ports] の 3 つの ク ロ ッ ク 供給オプシ ョ ンがあ り ます。

(27)

[Clock Enables]

オ プ シ ョ ン

System Generator で [Clock Enables] オプシ ョ ン を選択 し てモデルをハー ド ウ ェ アに コ ンパ イ ルす る と 、ハー ド ウ ェ アの対応す る 部分が適切な レー ト で動作す る よ う にデザ イ ンのサ ンプ リ ン グ レー ト 情報が保持 さ れ ます。 System Generator は、 ク ロ ッ ク と ク ロ ッ ク イ ネーブル (1 つの レ ー ト に 1

つの イ ネーブル) を 組み合わせて、 関連す る レ ー ト を ハー ド ウ ェ ア に生成 し ま す。各 ク ロ ッ ク イ

ネーブルの周期は、 シ ス テ ム ク ロ ッ ク の周期の整数倍です。

Simulink 内では、System Generator デザ イ ンの信号 と し て ク ロ ッ ク お よ び ク ロ ッ ク イ ネーブルを 明示的に追加す る 必要はあ り ません。 System Generator でデザ イ ン をハー ド ウ ェ アに コ ンパ イ ルす る際、デザ イ ンのサンプル レー ト (具体的には System Generator ト ー ク ンの 2 つのユーザー指定値 であ る Simulink シ ス テ ム周期 と FPGA ク ロ ッ ク 周期) か ら 必要な ク ロ ッ ク イ ネーブルが推論 さ れ ま す。 こ れ ら の値は、Simulink シ ミ ュ レーシ ョ ンの時間 と 実際のハー ド ウ ェ ア イ ン プ リ メ ン テー シ ョ ンでの時間の ス ケー リ ン グ係数を定義 し ます。 Simulink シ ス テ ム周期は、 モデルに含まれ る サ ン プ リ ン グ周期の最大公約数 (gcd) にす る 必要が あ り 、FPGA の ク ロ ッ ク 周期 (ns) はシ ス テ ム ク ロ ッ ク の 周期です。 Simulink シ ス テ ム 周期 を p、FPGA シ ス テ ム ク ロ ッ ク 周期 を c と す る と 、 Simulink で kp かか る 処理は、 ハー ド ウ ェ アではシ ス テ ム ク ロ ッ ク の k サ イ ク ル分 (kc ナ ノ 秒) に な り ます。 た と えば、3 つの Simulink サ ン プ リ ン グ周期 2、3、4 を含むモデルがあ る と し ます。 こ れ ら のサ ンプ リ ン グ周期の gcd は 1 です。 FPGA ク ロ ッ ク 周期は 10ns に設定 さ れてい る と し ます。こ れ ら の 情報か ら 、 ハー ド ウ ェ アでの対応す る ク ロ ッ ク イ ネーブルの周期を決定で き ます。 Simulink のサ ン プ リ ン グ周期 2、3、4 に対応す る ハー ド ウ ェ アでの ク ロ ッ ク イ ネーブルを CE2、 CE3、CE4 と し ます。各 ク ロ ッ ク イ ネーブルの周期 と シ ス テ ム ク ロ ッ ク 周期の関係は、 対応す る Simulink サ ン プ リ ン グ周期を Simulink シ ス テ ム周期で割 る こ と に よ り 求め ら れ ま す。こ の結果、

CE2、CE3、CE4 の周期はそれぞれ 2、3、4 シ ス テ ム ク ロ ッ ク 周期にな り ます。次の図に、 こ れ ら の ク ロ ッ ク イ ネーブル信号の タ イ ミ ン グ を示 し ます。

[Hybrid DCM-CE]

オプ シ ョ ン イ ン プ リ メ ン テーシ ョ ン タ ーゲ ッ ト がデジ タ ル ク ロ ッ ク マネージ ャ (DCM) を含む FPGA の場 合、 ク ロ ッ ク ツ リ ーを DCM で駆動で き ます。DCM を使用す る と 、 ク ロ ッ ク イ ネーブルネ ッ ト の フ ァ ン ア ウ ト が大 き く 、 タ イ ミ ン グ ク ロージ ャ の達成が困難な場合に有益です。 System Generator では DCM が最上位 HDL ク ロ ッ ク ラ ッ パに イ ン ス タ ン シエー ト さ れ、 異な る レー ト の ク ロ ッ ク ポー ト を Virtex-4 お よ び Virtex-5 では 3 つ ま で、Spartan-3A DSP では 2 つ ま で供給で き ます。 デザ イ ンに DCM でサポー ト 可能な数以上の ク ロ ッ ク ポー ト が含まれ る 場合は、 残 り の ク ロ ッ ク は CE (ク ロ ッ ク イ ネーブル) コ ン フ ィ ギ ュ レーシ ョ ンでサポー ト さ れます。 レー ト は、CLK0 > CLK2x > CLKdv > CLKfx と い う 優先順で DCM 出力にマ ッ プ さ れ ま す。 ク ロ ッ ク レー ト の高い も のが DCM でサポー ト さ れます。 dcm_reset 入力ポー ト は最上位 ラ ッ パに含まれ、 ビ ッ ト ス ト リ ームコ ン フ ィ ギ ュ レーシ ョ ン後に外 部デザ イ ン で DCM を リ セ ッ ト で き る よ う にな っ てい ます。dcm_locked 出力 も 最上位 ラ ッ パに含 まれてお り 、 外部デザ イ ンで入力デー タ を 1 つの clk 入力ポー ト に同期 さ せ る のに役立ち ます。

(28)

既知の制限 :次の System Generator ブ ロ ッ ク では、[Hybrid DCM-CE] オプシ ョ ンはサポー ト さ れ てい ません。

• Clock Enable Probe

• Clock Probe

• DAFIR

• Down Sample ([First value of frame] がオンの場合)

• FIR Compiler (コ アレー ト が入力サ ンプ リ ン グ レー ト と 異な る 場合)

• Parallel to Serial ([Latency] が 0 に設定 さ れてい る 場合)

• Time Division Demultiplexer

• Time Division Multiplexer

• Up Sample ([Copy samples (otherwise zeros are inserted)] がオフ の場合)

メ モ : 10.1.2 リ リ ース では、[Hybrid DCM-CE] オプシ ョ ンは 400MHz で動作す る Virtex-4 お よ び

Virtex-5、190MHz で動作する Spartan-3A DSP のハー ド ウ ェ アでテ ス ト さ れてい ます。

[Expose Clock Ports]

オ プ シ ョ ン

こ のオプシ ョ ン を選択す る と 、 各レー ト の ク ロ ッ ク ポー ト を含む最上位 ラ ッ パが作成 さ れます。 こ れに よ り 、 デザ イ ン の外部に ク ロ ッ ク ジ ェ ネ レ ー タ を手動で イ ン ス タ ン シエー ト し て、 ク ロ ッ ク ポー ト を駆動で き ます。 チ ュ ー ト リ アル

: [Hybrid DCM-CE]

オプ シ ョ ンの使用 次の例では、[Hybrid DCM-CE] オプ シ ョ ン を選択 し 、HDL デザ イ ン のネ ッ ト リ ス ト を作成 し て ISE でデザ イ ン を イ ン プ リ メ ン ト し 、 デザ イ ン を シ ミ ュ レーシ ョ ン し て、DCM が適切に イ ン ス タ ン シエー ト さ れ、 コ ン フ ィ ギ ュ レーシ ョ ン さ れてい る こ と を フ ァ イ ルお よ びレ ポー ト を参照 し て検 証 し ます。 hybrid_dcm_ce_case1.mdl デザ イ ン例は、<path_to_sysgen>\examples\clocking_options\ hybrid_dcm_ce_case1\hybrid_dcm_ce_case1.mdl にあ り ます。 1. MATLAB でモデルを開 き 、 次のブ ロ ッ ク を確認 し ます。

• Addressable Shift Register (ASR) : 入力遅延バ ッ フ ァ を イ ンプ リ メ ン ト す る ために使用 さ れま す。 ア ド レ ス ポー ト はデー タ ポー ト の n 倍の速度で動作 し ます。n はフ ィ ル タ タ ッ プの数で、

こ の例では 5 です。

• Coefficient ROM : フ ィ ル タ係数を保存す る のに使用 さ れます。 • Counter : ROM お よ び ASR のア ド レ ス を生成す る のに使用 さ れます。

• Comparator : リ セ ッ ト 信号お よ び イ ネーブル信号を生成する のに使用 さ れます。 • MAC Engine : フ ィ ル タ の積和演算子 と し て使用 さ れます。

(29)
(30)

[Hybrid DCM-CE] を選択 し 、[Generate] を ク リ ッ ク し ます。現在の作業デ ィ レ ク ト リ に hdl_netlist

と い う サブデ ィ レ ク ト リ が作成 さ れ、 生成 さ れた フ ァ イ ルが保存 さ れます。

3. MATLAB の [Current Directory] ウ ィ ン ド ウ で、hybrid_dcm_ce_case1_sysgen.log フ ァ イ ルを ダブル ク リ ッ ク し ます。 次の図に示す よ う に、DCM ク ロ ッ ク が最初に リ ス ト さ れ (最高レー ト か ら 順に リ ス ト)、 次に CE で駆動 さ れ る ク ロ ッ ク が リ ス ト さ れます。

4. ISE を起動 し 、<path_to_sysgen>\examples\clocking_options\hybrid_dcm_ce_case1\ hdl_netlist\hybrid_dcm_ce_case1_dcm_mcw.ise と い う ISE プ ロ ジ ェ ク ト を開 き ます。

5. Project Navigator の [Processes] タ ブで、[Implement Design] を ダブル ク リ ッ ク し ます。

6. Project Navigator の [Sources] タ ブで次の操作を実行 し ます。

a. hybrid_dcm_ce_case1_dcm_mcw.vhd を ダブル ク リ ッ ク し て開 き 、 次の VHDL コ ー ド に 示す DCM コ ン ポーネ ン ト 宣言の部分に ス ク ロ ール し ます。 b. System Generator に よ り DCM イ ン ス タ ン ス が自動的に イ ン ス タ ン シエー ト さ れ、 ク ロ ッ ク 出力の要件に応 じ てパ ラ メ ー タ が設定 さ れてい る こ と を確認 し ます。 c. VHDL フ ァ イ ルを閉 じ ます。 次に、ISE タ イ ミ ン グ レ ポート を 参照し てク ロ ッ ク の伝搬を 調べま す。ま ず、レ ポート を 生成し ま す。

7. [Processes] タ ブで [Implement Design] → [Place & Route] → [Generate Post-Place & Route Static Timing] を展開表示 し ます。

(31)

8. [Analyze Post-Place & Route Static Timing] を ダブル ク リ ッ ク し し ます。 次の よ う な情報が表 示 さ れます。 こ のデザ イ ンでは、10ns のグ ロ ーバル ク ロ ッ ク 制約を基準 と し た 6 つの ク ロ ッ ク レー ト (1、 2、4、8、20、40) が使用 さ れてい ます。 タ イ ミ ン グ レ ポー ト では、System Generator に よ り 次の ク ロ ッ ク が正 し く 生成 さ れ、 伝搬 さ れてい る こ と が示 さ れます。 ♦ DCM ベース の ク ロ ッ ク : clk_1 (CLK0 -> 10ns)、clk_2 (CLKFX -> 20ns)、clk_4 (CLKDIV -> 40ns) を 10ns のグ ロ ーバルク ロ ッ ク 入力を基準に DCM を使用 し て生成 ♦ ク ロ ッ ク イ ネーブルベース の ク ロ ッ ク : ce_8 (80ns)、ce_20 (200ns)、ce_40 (400ns) を

clk_4 ク ロ ッ ク 入力を基準に ク ロ ッ ク イ ネーブルを使用 し て生成 次に、ModelSim を使用 し て ビヘ イ ビ アシ ミ ュ レーシ ョ ン を実行 し ます。

9. 次の図に示す よ う に、[Sources] タ ブの [Sources for] ド ロ ッ プダ ウ ン リ ス ト か ら [Behavioral Simulation] を選択 し ます。

メ モ : System Generator では、 最上位 ラ ッ パ VHDL テ ス ト ベンチ、 ス ク リ プ ト フ ァ イ ル、 お よ び入力/出力ス テ ィ ミ ュ ラ スデー タ フ ァ イ ルが自動的に生成 さ れます。[Processes] タ ブに表 示 さ れ る プ ロ セ スは、[Sources] タ ブで選択 し た ソ ース タ イ プに よ っ て異な り ます。

参照

Outline

関連したドキュメント

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any

onsemi makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does onsemi assume any liability arising out of

European corn borer 1 1/2 to 2 For best results on chinch bug, use ground equipment to apply at least 20 gallons of water per acre and direct spray toward stalk to provide

European corn borer 1 1/2 to 2 For best results on chinch bug, use ground equipment to apply at least 20 gallons of water per acre and direct spray toward stalk to provide

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any liability

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any liability

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any liability

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any liability