C 言語入力合成ツール活用チュートリアル 第2章 EDA ツール プロセッサなどのHandel- C 記述から FPGAネットリストを合成 ――論理合成ツール「DK1」 Colin Mason C 言語をベースとしたクロック・サイクル精度の機能 は非常にシンプルなタイミング・モデルを採用していま 記述からFPGA 用のネットリストを生成する論理合 す.一つのアサインメントは1 クロック・サイクルに対応 成ツールの活用チュートリアルをお届けする.使用す します. るツールは,英国Celoxica 社の「DK1 (期間限定版) 」 , 一般に,新規設計では新しいコンセプトの正当性を確 入力言語はHandel-C.Handel-C はハードウェアの 認するため,プロトタイプを作成します.このとき,C 言 並列動作やモジュール間のコミュニケーションなどを 語で記述したアルゴリズム記述をプロトタイプとすること 記述できるように,C 言語を拡張した記述言語であ がよくあります.これをVHDL やVerilog HDLにマニュ る.サンプル・デザインとしては,パイプライン乗算 アルあるいは半自動で変換する過程でエラーが混入する場 器,キュー,クライアント・サーバのチャネル・コミ 合があります.一方,Handel-C はC 言語にもとづいた記 ュニケーション・モデル,マイクロプロセッサなど5 述言語であるため,アルゴリズム記述からの変換作業が 種類を用意した.いずれのプログラムも本誌付属の 容易になり,上述のようなリスクを軽減できます.DK1 CD-ROM に収録されている. は,Handel -C 記述からFPGA 用のEDIF ネットリスト (編集部) をダイレクトに生成します.そのため,C 言語からVHDL 筆者ら(英国 Celoxica 社)は,Handel-C と呼ぶC 言 語ベースの記述言語を入力とするFPGA 用論理合成ツー やVerilog HDL を介してネットリストを生成する場合と 比べて,開発にかかる手間も小さくなります(図 1) . ル「DK1」を開発し,出荷しています.DK1 は,システ DK1 には,論理合成ツールのほか,エディタやデバッ ム・アーキテクトやソフトウェア技術者のようにハードウ ガ,シミュレータの機 能 が含 まれています(図 2 ). ェア記述言語(HDL)の知識のない技術者であってもハー FPGA 向けのEDIF ネットリストのほか,既存のEDA ドウェアを設計できるということをめざして開発されまし ツール向けにRTL のVHDL 記述も出力できます.コシ た.本チュートリアルではHandel-C とDK1 を利用して, ミュレーション機能を利用すると,命令セット・シミュ いくつかのサンプル・デザインからFPGA 用ネットリス レータ,VHDL シミュレータ(ModelSim など),C テス トを生成する方法を紹介します. トベンチなどと組み合わせて検証できます. それでは,いくつかのサンプル・デザインを利用して, ●並行動作や通信の記述をサポートする拡張C 言語 Handel-C は,ハードウェアのアルゴリズム設計や機 Handel-C による論理合成やシミュレーションを体験して みましょう. 能設計,ハードウェア・ソフトウェア・コデザインに利 用されています.C 言語をベースとしており,ハードウ ェアの動作を表現するための拡張が施されています.す なわち,データ幅,並行動作,モジュール間のコミュニケ ーションといった概念を備えています.また,Handel-C 128 Design Wave Magazine 2001 May ●システム構成 最小のシステム構成を以下に示します. >Windows 98/Me/2000/NT 4.0 が動作するパソコン (Pentium II プロセッサ,233MHz 以上) C 言語入力合成ツール活用チュートリアル 機能記述 (Handel-C) VHDLのRTL記述 VHDL 組み込み ソフトウェア DK1 コシミュレーション Handel-C シミュレータ HDL シミュレータ コシミュレーション EDIF VHDLのビヘイビア・モデル EDIF 外部IPコア 命令セット・ シミュレータ コンパイラ EDIF FPGA ベンダ製ツール 論理合成 ハードウェア・ システム 入力 〔図 1〕DK1 の設計フロー Handel-C で記述した設計データ (実行可能な機能仕様記述)を論理合成ツール 「DK1」に入力する.Handel-C シミュレータが用 意されている.Handel-C シミュレータは,HDL シミュレータや命令セット・シミュレータとコシミュレーションを行える.DK1 はFPGA 用のEDIF ネットリストを出力する.また,VHDL のRTL 記述も生成できる. ソース・ ウィンドウ ワーク・スペース・ ウィンドウ スレッド表示 ウィンドウ 変数表示 ウィンドウ クロック・ ウィンドウ 〔図 2〕DK1 の画面 プロジェクト管理とデバッガの画面は,ソフトウェア技術者にとって慣れ親しんだGUI になっている. Design Wave Magazine 2001 May 129
© Copyright 2024 ExpyDoc