ハードウェアを活用した システム高速化を容易に実現

ザイリンクス会社 | LEADER'S VOICE
写真(左より)
ザイリンクス株式会社
マーケティング部
シニアマネージャー 神保 直弘 氏
チップに入っていることが「Zynq-7000」の最
7000」に実装しようとしたとき、課題になるのが
大の特徴で、ビデオ/ビジョンやADASのように、
開発効率です。Cortex-A9プロセッサで処理す
映像をリアルタイムで取得し、その映像をベース
る部分とFPGAファブリックで処理する部分とをい
に高度な処理や判断をして、システムにフィード
かに切り分けるかという問題と、それらを高位言
バックするような用途がひとつの典型になると考
語でいかに効率よく記述するかという問題、そし
えています。具体的には、産業分野におけるマ
て、ハードウェア化された部分をどのようにして
シンビジョンや防衛、ビデオ監視、高機能ドロー
メインプログラムに組み込むのかという問題があ
ンなどが挙げられます。
り、開発ツールがきわめて重要になってきます。
山本:当社ではザイリンクスさんがターゲットと
黒田(ザイリンクス):ザイリンクスで開発ツール
する分野を見据えながら設計サービスに取り組ん
のプロモーションを担当している黒田です。いま
でいますが、なかでもADASをはじめとするオー
神保から話がありましたように、ハードウェアと
トモーティブは動きが活発だと感じます。当社で
ソフトウェアの両方が 関係する「Zynq-7000」
も2年ほど前から、従来のDSPシステムのソフト
の 開 発はツールが 鍵を握ると考えていて、
「使
ウェア設計者を「Zynq-7000」の設計にシフトす
いやすい」かつ「高機能」なツールをユーザー
るなど、取り組みを強化しているところです。ま
に提供できるよう、積極的な投資を行っていま
た、そうした背景を受けて、ADASに対応した
す。まず、ハードウェアエンジニア向けに提供
FPGA IPを開発しているクロアチアのザイロン社
しているFPGAファブリック部分の開発ツールが
(Xylon)の日本国内における独占使用契約を
(ビ バド)です。 従
「Vivado® Design Suite」
2014年12月に同社と締結しました。歩行者検
来提供してきた「ISE® Design Suite」に代わる
神保:OKIアイディエスさんは全世界で10社し
出や車線検出に代表される同社のIPやFPGAデ
ツールで、今後見込まれるFPGAの大容量化に
-7000 All Programmable
か認定されていない弊社のプレミアパートナー
ザインサービスは欧米のADAS市場で豊富な実
も対応できるようなスケーラビリティを特徴とし、
SoC」の採用がオートモーティブを筆頭に広がっている。そうした躍進の陰には、設計支援やコンサルテーションを通じて顧客システムの
です。エンジニアの皆さんのスキルが高いだけ
績があり、ADASを手掛けられている国内のお客
実装の高速化、ロジックエレメント使用率の改
TTM(Time-to-market)を支援する、ザイリンクスのアライアンスパートナーの存在がある。今号のLEADER'S VOICEでは、その最上位
ではなく、弊社と共にマーケットの拡大にも努
様にザイロン社のソリューションをご提案したとこ
善、性能向上および低消費電力化など、次世代
となる「プレミアパートナー」の称号を国内で唯一得ているOKIアイディエスを迎え話を聞いた。
めていただいているので、安心してお客様にご
ろ、すぐに採用が決まったこともあります。
レベルの優れた生産性をもたらします。
「Vivado
株式会社 OKIアイディエス
開発部
部長 山本 康雄 氏
ザイリンクス株式会社
グローバルセールス アンド マーケット
ツール メソドロジー アプリケーション部
シニア エンジニア 黒田 成一 氏
株式会社 OKIアイディエス
開発部 第4チーム
長岡 俊一 氏
ザイリンクス株式会社
グローバルセールス アンドマーケット エンジニアリング本部
フィールド アプリケーション エンジニア 友杉 伸一朗 氏
をいただきました。その後、おかげさまでFPGA
の設計サービス事業も順調に伸びています。
デュアルコアのARM
®
Cortex
®
-A9プロセッサとFPGAファブリックを統合したザイリンクスの「Zynq
®
Design Suite」に含まれる高位合成ツールが
紹介させていただいています。
Zynq SoC ならソフトウェアエンジニアでも、
ハードウェアを活用した
システム高速化を容易に実現
オートモーティブ市場が活発化
ADASが
キラーアプリケーションに
神保(ザイリンクス):今日は、当社のプレミア
友杉(ザイリンクス):FAEの友杉です。OKIアイ
「Vivado HLS」で す。C/C++/SystemCで 記
山本:はい、とても多くのお客様とビジネスさせ
ディエスさんと一緒にオートモーティブのお客様
述されたIPをハンドコーディングと同等レベルの
ていただいています。分野としては基本的に全
を回ることも多いのですが、このところ、お客様
VHDLコードまたはVerilog RTLコードに効率
方位で対応していますが、画像処理、音声処理、
の要求仕様がすごく高くなってきているのを感じ
的に合成するツールです。
「Zynq-7000」では、
通信制御関連のIP開発と、それらIPを使ったデ
ます。高い性能を得るために複数のプロセッサ
Cortex-A9プロセッサ上のソフトウェアアルゴリ
ザインサービスを提供しており、マーケットとして
を組み合わせるヘテロジニアス アーキテクチャと
ズムをハードウェア化する際に有用です。ただ
はオートモーティブと医療機器に注力しています。
いったキーワードも頻繁に聞くようになってきまし
し、
「Vivado HLS」で合成したハードウェアIPを
た。従来、パフォーマンスを上げようとすればプ
Cortex-A9プロセッサ上のソフトウェアから呼び
神保:ザイリンクスは2010年に、デュアルコア
ロセッサのクロックを速くするという考え方が当た
出すには、デバイスドライバの作成やAPIの定義
のCortex-A9プロセッサとFPGAファブリックと
り前でしたが、消費電力や熱の問題が生じてしま
などが必要で、エンジニアが人手で作りこまなけ
を統合した「Zynq-7000 All Programmable
います。そこで、
「Zynq-7000」のようなデバイ
ればなりません。また、合成したハードウェアIP
SoC」
(以下、
「Zynq-7000」)を発表しました。
スを使って、プロセッサやFPGAロジックをヘテ
と他のハードウェアブロックとのインターコネクト
高度なシステムを高性能かつコンパクトに実現
ロジニアスに結合して性能を上げていきたい、と
についてもエンジニアが人手で対応する必要が
SDSoC)」を実際に使っていただいた感触を含
近く一緒にお仕事をさせていただいていますね。
できるということで、市場での評価も高く、採用
いった発想が生まれてきているように感じます。
あります。そうした付帯的な設計作業には、多く
めて、ソフトウェアエンジニア目線から色々とお
山本:はい。当時、これから主流になっていく
事例もかなりの数になっております。現在は、次
の工数が掛かってしまうのが実状でした。この課
話を伺いたいと思います。
であろうFPGAの設計サービスを立ち上げたい
世代システムの実現に必要な「スマート」、
「コネ
題に対してザイリンクスは、それらの作業を自動
と考え、ザイリンクスさんのPCI Expressハー
クト」、
「ディファレンシエイト」という三つのメッ
化する「SDSoC」という新しいツールを開発し、
山本(OKI):OKIアイディエスで開発のとりまと
ドコアに特化した「iDMAC®」というDMAコン
セージを掲げて、ビデオ/ビジョン、インダスト
めをしています山本です。本日はお招きありがと
トローラIPを開発しました。
「Virtex®-5 LXTに
リア ルIoT(Internet of Things)、ADAS(先
うございます。
iDMACを組 み 込 めばPCI Expressを介してき
進運転支援システム)などを重点マーケットとし
パートナーであるOKIアイディエスさんをお招き
システムレベル設計を支援する
SDSoC開発環境が一般リリース
2015年7月から一般への提供を開始したところ
です(図1)。
わめて高いデータ転送を実現できます」という触
て取り組んでいます。ソフトウェアプログラマブ
友杉:2015年3月に「SDSoC」のコンセプトを
して、2015年3月に発表したザイリンクスの革
神保:OKIアイディエスさんとは、前身である沖
れ込みで、ザイリンクスさんのご協力もいただき
ルなARM Cortex-A9プロセッサと、ハードウェ
発表した後、山本さんから、
「Vivado HLS」で
新的ツールである「SDSoC™ 開発環境(以下、
情報システムズの頃からのお付き合いで、10年
ながらお客様にご提案して、ずいぶんとご好評
アプログラマブルなFPGAファブリックとがワン
2015.8
4 Volume.11
APS MAGAZINE
神保:ADASに代表される複雑な機能を「Zynq-
アルゴリズムをハードウェアに落とし込むところ
Volume.11 2015.8
APS MAGAZINE
5
ザイリンクス会社 | LEADER'S VOICE
ザイリンクス会社 | LEADER'S VOICE
まではいけるのだが、その先のソフトウェアとの
セス版をお願いして使ってみましたら、月単位
クに置き換えたものです。前述のように、既にラ
できる16nmの最新プロセスで製造する「Zynq
連係のところで苦労している、というお話を伺っ
で苦労していたハードウェアとソフトウェアの繋
イブラリにあるコードを活用したり、オリジナル
Ultrascale+ MPSoC」の 開 発 を 進 めてい て、
て、
「SDSoC」なら問題を解決できるのではと思
ぎの部分が「SDSoC」で自動生成されるので(図
記述をリファクタリングしたり、そして「SDSoC」
2015年7月1日にテープアウトを行いました。
い、アーリーアクセス版をご紹介しました。
1)、わずか数日の作業で動くようになり、今ま
を使用してさまざまな調整をしながらシステム
最初のサンプルは予定どおり2015年内に完成
での苦労は何だったのだろうというぐらいに驚
に最適に組み込むことができました。その結果、
する 予 定 です。
「Zynq Ultrascale+ MPSoC」
山本:いくつかのお客様から、画像処理や信号
きました。今日同席している長岡は「SDSoC」
元のソフトウェア処理に比べ処理時間を30倍以
は、クワッドコアのARM Cortex-A53プロセッ
処理の性能を高めたいというご要望があり、そ
を担当したエンジニアです。
れであれば 「Zynq-7000」を使ったアクセラ
上向上させることができました。これを弊社のソ
サをはじめ、リアルタイム処理用のデュアルコ
フトウェアエンジニアが一人で実現したのです。
アARM Cortex-R5プ ロ セ ッ サ、2Dお よ び
3Dなどのグラフィクス処 理 用 のARM Mali™-
レーション化が適当だろうと考えて取り組んでい
長岡(OKI):私はもともとDSP向けを中心とし
たプロジェクトがありました。元々のソフトウェ
たソフトエンジニアで、FPGAに触れるのは今
黒田:「SDSoC」はハードウェアIPの準備がで
400MP、パワーマネージメントプロセッサ、セ
アアルゴリズムはOpenCV、 行 列 演 算、お 客
回が実は初めてでした。まず手始めに「Vivado
きた後の全ての工程を自動化しますので、ツー
キュリティエンジンなどが内蔵されます。次世代
様のオリジナル記述の混在するコードで実現さ
HLS」を使って高位合成の勉強をしていたとき
ル操作自体は全然難しくありません。ハードウェ
のADASなど、さらに高度かつ高性能なシステ
れていました。ザイリンクスさんから提供されて
に、山本から「SDSoC」をやるように指示され、
ア化の対象としたい関数にクリックしてチェック
ムを実現するSoCとして、個人的にも登場を期
いる「Vivado HLS」の中で対応するハードウェ
この新しいツールを担当することになりました。
を入れてビルドを実行するだけで、ハードウェ
ア化向けライブラリが存在するものは、そのライ
ア・ランタイムの生成までを自動で行ってくれま
図2:ZC706ベースのビデオソリューションに「SDSoC」を用いてパフォーマンスの向上を実現。
待しているところです。
ブラリに置き換えることで簡単にできました。ま
山本:長岡もそうだったように、FPGAの使用経
す。むしろ大事なのは、アクセラレーションの
山本:神保さんのお話にあったようなザイリンク
た、オリジナル記述の部分については性能を満
験がないというのが一般的なソフトウェアエンジ
ためにコードをリファクタリングする部分(主に
スさんの次のデバイスの情報や「SDSoC」のよ
たすようにある程度のリファクタリング(プログ
ニアの感覚だと思います。ソフトウェアで実装さ
ハードウェアIPの部分)で、そこは従来であれば
り幅広いレンジの粒度でアクセラレーションを実
だとか、いままではシステムアーキテクトの方
うな新しいツールのアーリーアクセスをいかに早
ラムの書き換え)が必要でしたが、C++記述の
れたアルゴリズムをハードウェアアクセラレータ
RTLやFW設計に相当するのですが、
「SDSoC」
現するためのリファクタリングも含めて、長岡さ
が考えていたシステム的な発想が必要なので、
く得るか、というのは日本のお客様をサポートし
まま設計を進められるのでソフトウェア設計の延
に落とし込みたいというとき、ソフトウェアエン
と「Vivado HLS」の自動生成機能によるアシ
んをサポートさせていただきました。
実際には難しいところはあると思います。ただ、
ていく上で我々にとってとても大切で、同時に、
長線上で済ませることできました。しかし、大変
ジニアがRTLで組めるかといったら無理なわけで
ストによって、C/C++記述の書き換えと若干の
ソフトウェアエンジニアの方がシステム全体の最
先ほど「Vivado HLS」で合成した次の段階で苦
だったのはその後の工程で、IPが出来てもそれ
す。ところが、今回のプロジェクトで長岡が図ら
#pragma文 挿 入で済ませられるようになりま
長岡:逐次で実行されるソフトウェアと、クロッ
適化まで考えられるようになる「SDSoC」はチャ
労したという話をご説明しましたが、私たちの悩
をCortex-A9プロセッサ上で走るメインプログ
ずも証明してくれる形になりましたが、
「Vivado
した。長岡さんは「Vivado HLS」を使った高
クに同期して並列に実行されるハードウェアとの
レンジに対するリターンがとても大きいツールだ
みをザイリンクスさんと共有することも重要です。
ラムから呼び出せる状態に持っていくのがなか
HLS」と「SDSoC」を使えば、ソフトウェアエン
位合成の手法をある程度習得されていましたの
違いなどを教えていただきましたが、その他は
なと感じます。長岡さんのようなエンジニアの方
ザイリンクスさんとコミュニケーションをより一層
なか上手くいかないわけです。担当者は休日返
ジニアでもハードウェアロジックを組めるという
で話が早かったです。一方「SDSoC」ではハー
FPGAということをあまり意識せずにアルゴリズ
が増えてもらえれば嬉しく思います。
密にすることで、お客様にも貢献していきたいと
上で頑張ったりもしたのですが、残念ながら予
ことが分かった。これはとても大きいと思ってい
ドウェア・ランタイム生成だけでなく、従来 の
ムの落とし込みができました。今まで意識してこ
考えています。一方で、
「SDSoC」の活用による
定したスケジュールでは作りきれませんでした。
ます。今回お持ちしたビデオソリューションのデ
「Vivado HLS」単体では及ばなかった高い 粒
なかったアーキテクチャを考えるという工程が新
設計期間の短縮は当社にとってもビジネスチャン
そんなときに、友杉さんから「SDSoC」の説明
モシステム(図2)は、ソフトウェアによるビデオ
度でのアクセラレーションも実現することができ
しく学んだ部分で、その習得に少し時間が掛かり
スになると考えていて、コンサルティングを含め
を伺う機会があって、まさにこれだと。さっそく
デコード処理の内、処理の重いアルゴリズムの
ます。ここは長岡さんにとっては新しい部分にな
ましたが、そこが分かればソースコードのリファ
ザイリンクスさんに「SDSoC」のアーリー・アク
部分を「SDSoC」を使用してハードウェアロジッ
ります。
「SDSoC」のツール操作だけでなく、よ
クタリングはそれほど難しくはなく、私のような
初めての人間でもソフトウェアを開発している感
C、C++ベースのHW/SW開発環境【ターゲット:ZYNQプラットフォーム】
アルゴリズムをソフトウェアのみで構成
void main(){
func1(…)
func2(…)
func3(…)
func4(…)
…
}
「SDSoC」を使用し、アルゴリズムをHWに置き換えた構成
Algo C
Algo C
App C
Algo C
Application
OS/BSP
Software
OS/BSP
Hardware
(ZYNQ)
PS
Hardware
(ZYNQ)
PS
I/O
PL
HLS C
神保:OKIアイディエスさんをはじめとするア
ど高速化できたのでとても楽しかったです。ある
ライアンスパートナー各社様の強みは、お客様
関数はソフトウェア処理だと180msecもかかっ
と密な関係を持たれているところなので、ザイ
ていたものが4msecまで高速化できました。こ
神保:正式に「SDSoC」がリリースになったこと
リンクスとしても今後のニーズやトレンドを共有
れは自分でも信じられなかったです(笑)。
で、
「Zynq-7000」の採用がさらに加速すると
してい た だけると嬉しいです。それと同 時に、
期待しているのですが、ザイリンクスでは並行し
ザイリンクスの SoCは 次 世 代 のプラットフォー
友杉:セールスの現場では、
「Zynq-7000」の
て新しいデバイスの開発にも取り組んでいます。
ムとして安心して使えることを市場に広く伝え
開発は基本的には簡単ですよと売り込むのです
すでにプレスリリースなどを通じて発表していま
ていただければ幸いです。本日はありがとうご
が(笑)、ソフトウェアとハードウェアの機能配置
すが、
「Zynq-7000」の5倍以上の価値を提供
ざいました。
IP
IP
I/O
I/O
PL
Custom Driver
ソフトウェア担当は、時間との戦いである。いかにアルゴリズムを縮められるか?いかに早く実行可能かどうか?そ
I/C
I/C
DMA
DMA
Algo
Algo
んな声に応えたのが、SDSoCだ。単にアルゴリズムを置き換えるだけではなく、強力なプロファイリング機能により
最適なH/W化が行われる。しかも、プロセッサやバスとのI/Fも最適化され、適切なドライバが生成される。アプリ
IP
ケーションは、このドライバから制御を行う。これはソフトウェア担当者にとって朗報でしかない。アルゴリズムをソフ
I/O
図1:
「SDSoC」の画面からハードウェア化したい関数(アルゴリズム)を指定すると、赤色で示したハードウェア部のアルゴリズムだけでなく、DMAやインターコネクトの生成や、ソフトウェア部
のカスタムドライバも自動的に生成される。
2015.8
6 Volume.11
APS MAGAZINE
役に立てるようにさらに努めていきます。
Application
Software
IP
HLS C
App C
てデザインサービスの拡充を図り、お客様のお
覚の延長で取り組めました。しかもやればやるほ
Algo C
void main(){
func1(…)
func2(…)
func3(…)
func4(…)
…
}
Zynqの次世代品の開発も順調
パートナーとSoC市場
の拡大を目指す
トウェア的手法でチューニングするのは、生易しいものではないが、それを可能にするSDSoC。今回は、そんな生
の声が届いてくれればいいと思う。
Volume.11 2015.8
APS MAGAZINE
7