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