Armアーキテクチャプロセッサーの論理検証
課題・背景
アーキテクチャ要件の複雑化や、性能面でチャレンジングな回路設計に対して、スピーディかつ網羅的に品質を確保する仕組みが求められています。
開発/検証内容・成果
プロセッサーがArmアーキテクチャの要件(v8〜v9世代)を満たしていることを確認するテストプログラムを作成しました。膨大な英語ドキュメントから検証内容を設計し、アセンブリ言語、C言語を中心に実装しました。故障判定の選別にも採用されています。
アーキテクチャ要件の複雑化や、性能面でチャレンジングな回路設計に対して、スピーディかつ網羅的に品質を確保する仕組みが求められています。
プロセッサーがArmアーキテクチャの要件(v8〜v9世代)を満たしていることを確認するテストプログラムを作成しました。膨大な英語ドキュメントから検証内容を設計し、アセンブリ言語、C言語を中心に実装しました。故障判定の選別にも採用されています。
組み込みからスパコン開発の分野では、x86-64、ARMv9、RISC-Vなど、さまざまなCPUアーキテクチャが利用されています。また、プレシリコン段階からアーキテクチャの評価・検証を行う重要性が高まっています。一方、最近のCPUアーキテクチャでは、AI処理を高速化する独自命令の追加やセキュリティ機能の強化など、独自化・高機能化が進んでいます。こうした背景から、ターゲットの独自性や高機能性を早期に評価し、設計へ迅速にフィードバックできる柔軟なシミュレーション環境が求められています。また、お客様の用途に応じて、プロセッサ単体レベルの評価からOS起動を含むフルシステムシミュレーションまで評価できる環境が必要とされています。
当社では、ARMv9、RISC-V、SPARC64、IA64、x86-64をはじめ、独自仕様を含むさまざまなCPUアーキテクチャに対応した命令レベルシミュレータをC/C++で開発しています。また、CPUやアクセラレータ単体のシミュレーションに加え、OSが起動できるフルシステムシミュレーション環境を構築し、包括的な評価・デバッグを可能にしました。これにより、製品開発の早期段階からのシミュレーション、アーキテクチャレベルでのデバッグ、プレシリコン検証を可能にし、お客様のCPUおよびシステム開発を強力に支援しています。
新規に開発されたAIアクセラレータでは、既存のAIモデル構成をそのまま適用すると、演算ユニットの特性やメモリアーキテクチャを十分に活かしきれないという課題があります。ハードウェアのポテンシャルを引き出すためには、モデルレベルからの見直しが求められています。
独自AIアクセラレータをターゲットとして、AIモデルを構成する各種レイヤをハードウェア特性に合わせて見直し、再設計・最適化しました。対象アクセラレータの演算特性、並列性、データ配置を踏まえた最適化により、高速かつ効率的な推論処理を実現しました。
車載システムでは高い安全性が求められる一方で、CPU診断処理が他のアプリケーションへ影響を及ぼすことが課題となっています。また、Armアセンブリに精通した技術者が国内では限られており、ISO26262に準拠した自己診断ソフトを安定して開発できる体制の構築が求められています。
当社はISO26262に基づき、車載機向けCPU自己診断プログラムを開発しました。複数品種に対応し、品種ごとのDIAに従ってASIL-B〜ASIL-Cレベルの診断を実現しています。Arm Cortex-A9、Cortex-A15、Cortex-A53、Cortex-A57、Cortex-A78AEなど幅広いCPUでの実績を有し、高い信頼性が求められるシステムへの適用を可能にしました。
AIアクセラレータの分野では、新たに半導体を開発する場合、ソフトウェアSDKを含むエコシステムの構築が不可欠です。特に、ハードウェアに依存した部分やアクセラレータの特性を活かしたソフトウェア開発、多様なソフトウェアスタックに対応するためのコンパイラを含むSDKの整備には、大きな開発工数が必要となっています。
アクセラレータの研究開発において、製品化を見据えたフィージビリティ調査の段階から、新規アクセラレータ試作に対応するSDKをC/C++で開発しました。ハードウェアに依存したドライバ開発と、アクセラレータの特性を活かしたソフトウェア開発を可能にするため、オープンソースをベースとしたSDK(コンパイラ、デバッガ、ライブラリ、並列化フレームワーク)を構築しました。これにより、CNNモデルによる画像認識において、ディープラーニング処理を実機上で実行・評価できる環境を整備しました。
SoC開発などの組み込み分野では、LLM/VLMの推論への対応が進んでおり、インターフェースの統一やHostとアクセラレータの利用効率向上が重要になっています。一方、AIモデルやプラットフォームの進化は速く、それに伴う要求仕様の変更へ迅速に対応することが課題となっています。
アクセラレータ向けFirmwareの開発として、製品化を目指したフィージビリティ調査において、新規アクセラレータ試作に対応するFirmwareをASM/C/C++で開発しました。AIネットワークモデルによる各種推論を実行できる環境を構築し、応答速度や推論精度の観点で実機評価を実施しました。
短納期の遊技機開発において、新しい映像表現と、より直感的なイベント制御へのニーズがあります。従来のシステムを刷新(リプレース)する機運が高まっていました。
デザインツール(3D-Maya、2D-AfterEffects)からのエクスポートデータをもとに、OpenGLベースのレンダラー、シーン・イベント制御のI/F作成、デザイナーへのヒアリングに基づくエフェクト表現のカスタム対応を実施しました。裸眼立体視にも対応しています。
従来のECUは車種や機能ごとに専用設計されてきましたが、複数車種・複数機能に対応する汎用ECUが求められています。汎用ECUのピン数は100ピンを大きく超える規模に増大し、機能間の隣接・分離条件、金メッキやパワーピンなどのピン特性、外周配置の要否といった多様な制約を同時に満たす必要があります。そのため、機能アサインの複雑性が課題となっています。
課題に対して、機能間の望ましい関係やピン特性を必須・推奨ルールとして柔軟に追加・削除できる、ピンアサイン最適化プログラムを試作しました。遺伝的アルゴリズムや焼きなまし法を含む複数手法と、Python、C、Javaによる実装を比較検討した結果、GALibを用いた遺伝的アルゴリズムを採用しました。世代進化によりルール違反数が減少し、実用性の高いピン割り当てが可能であることを確認しました。
プリント基板製造では、実装に関わる問題が原因で廃棄や大幅な手戻りを余儀なくされることがあります。そのような場合には、レイアウト設計自体を見直し、製造プロセスに合った製品へ設計し直す必要が生じます。製造上の問題を軽減し、高品質かつ低コストな製造プロセスを設計初期段階から考慮するためのシステム開発が望まれています。
製造のための設計(DFM: Design for Manufacturability)を支援するプリント基板設計システムを開発しました。製造時の歩留まり向上を目的とした金型パターンシミュレーション機能や、システム使用時のスムーズさと効率性向上のためのUI改善などをC++で開発しました。
車載カメラECUの受入検査では検査項目が多く、手作業による確認に大きな工数がかかっています。また、品質のばらつきや作業負荷の増大が課題となっています。確実かつ効率的に検査を実施できる体制の構築が求められています。
当社はCANoeおよびCANapeを用いた車載器の受入検査業務を、委託業務として10年以上継続して対応しています。CANおよびCAN-FD通信に関する深い理解を活かし、検査手順の自動化や効率化を実現しました。長年の実績により、安定した検査品質と作業工数の削減に貢献しています。
昨今の回路図ツールは高機能化が進み充実していますが、製品の標準機能だけでは、各ユーザーの要望やユースケースに対応しきれない場合も多くあります。そのため、個別ユーザーが求める機能を開発する必要がありました。
回路図における各素子・配線の設計ルールチェック(DRC)機能、各素子・配線の属性値の表形式による可視化機能、表からの属性値編集機能など、ユーザーごとの要望に合わせたカスタム機能開発を行いました。
AD/ADAS向けのランタイムフレームワークでは、認識や制御用のコンポーネントが動作していますが、実行結果を可視化する機能は搭載されていない状況でした。性能評価やテストとして、走行中の物体検出や制御状態を可視化して確認する必要があるため、可視化機能の追加が求められていました。
可視化機能は、Runtime側でコンポーネントの実行結果を配信するサーバと、そのデータを受信して可視化するクライアントアプリに分けて開発しました。当社ではクライアント側の開発として、データ受信、可視化プラグイン制御、再生制御を搭載したアプリを担当し、各コンポーネント開発者へ可視化プラグイン作成環境を提供しました。また、ユーザ評価の利便性を高めるため、Runtime側で保存したデータのオフライン再生機能も追加し、ユーザニーズに合わせた機能提供を実現しています。
AD/ADASを構成する複数のコンポーネントの性能評価や処理負荷測定を行うため、各コンポーネントの入出力データを保存し、解析・実行再現する仕組みが必要とされていました。しかし、従来は統一的な機能の実現には至っておらず、データ解析や再現に多くの工数が必要でした。この仕組みを統一化することで、コンポーネントの性能評価や処理負荷測定を効率化することが求められていました。
コンポーネントの入出力データを保存するためのフォーマット検討から、書き込み・読み込みライブラリの作成、ランタイムフレームワークへのデータ保存・再現機能の組み込みまで行いました。また、データを可視化するツールやデータ編集を行う仕組みを提供し、コンポーネントの性能評価や処理負荷測定に対して統一的な機能を提供できるようにしました。これにより、評価・解析作業の効率化に貢献しました。
ADAS・自動運転分野では、ロガーで取得した車両データを学習用データ化し、認識アルゴリズムをPC上で検証した後にECUへ搭載します。しかし、PCで検証したアルゴリズムをECUへ移行する際、実行環境や制約条件の違いから多大な調整工数が発生しています。認識アルゴリズムの高度化に伴い、このPCからECUへの移行コストが課題となっており、開発段階から実機に近い環境で評価できる仕組みが求められています。
PC上での検証に加え、開発段階から実機(クルマ)に近い環境で一部の認識アルゴリズムを実行・評価できる認識アルゴシミュレータを開発しました。SILSボードを用い、認識アルゴリズムをPCではなくボード側で動作させることで、PC環境からECUへ移行する際に発生する実行環境差による調整工数を削減します。当社では、PCとボード間の通信層およびビルドシステムの開発・運用を担当し、開発効率化に寄与しました。
ADASや自動運転の認識機能では、カメラ画像に「車」「歩行者」「信号」などの正しい情報を付けた学習データが欠かせません。しかし、実際の道路環境は多様であり、夜間や悪天候、工事区間など、判断が難しい場面も多く存在します。こうした画像に正確な情報(タグ)を付ける作業は人手に頼る部分が大きく、時間や品質のばらつきが開発効率の課題となっています。
ADAS向け画像に学習用のタグ(正しい答え)を効率よく付けることを目的に、タグ付けツールを開発しました。操作性に配慮した画面設計により、専門知識がなくても作業しやすい環境を実現しています。また、タグの確認や修正を行いやすくすることで、データ品質の安定化にも貢献します。これにより、学習データ作成の工数削減と、認識機能の精度向上を支援します。
ADASや自動運転の開発では、走行中のカメラ映像とECU内部の情報を組み合わせて確認・分析することが重要です。しかし、画像と車両状態を別々に取得・管理していると、後から状況を正確に振り返ることが難しくなります。そこで、車載カメラの画像とECU情報を同時に取得・保存できるロギング環境を整備し、開発やデータ活用の基盤を構築する必要がありました。
車載カメラからの入力画像およびECU情報を同期して取得・保存できるロギングツールを開発しました。フロントカメラの複数世代を含む、異なるタイプの車載カメラ入力に対応しており、構成の異なる車両環境でも共通のデータ取得を可能にしています。画像データの送信・受信機能を備え、後続のタグ付けツールや認識アルゴリズム検証に利用できる元データを安定して生成できるようにしました。
アミューズメント・遊技機向けに、セキュリティチップを搭載した⼊⾦システムの開発が求められていました。センターと店舗間の認証、清算、締め処理において⾼い品質が必要であり、採⽤されたルネサスマイコン(RX64M、RX72N)での開発実績も求められていました。
⾼い品質要求を満たすため、これまで培ってきた検証ノウハウをもとに、徹底したテストを実施しました。ソフトウェアによるパケット解析に加え、オシロスコープを⽤いた電気信号の測定も⾏いました。開発したシステムは、現在も全国のフィールドで問題なく稼働しています。
AWSやAI連携を活用した、高機能かつ短納期の開発が求められています。システム要件に対するサービスの構成設計と、開発実績のあるWebアプリケーション開発の一部を紹介します。
rekognitionによる顔認識機能を用いた入退室管理システムを開発しました。また、Speech to Text・Language Translator機能を用いた翻訳チャットアプリケーションを開発し、watsonx.aiを用いた文書要約機能も搭載しました。
消防関連装置では多種多様な端末が存在し、それぞれに対する検査が大きな負担となっています。端末数が多いため、実機を用いた検査だけでは効率が悪く、品質を維持しながら検査を省力化する仕組みが求められています。
当社はSTM32シリーズを用いたファームウェア開発の実績を多数有しており、検査用途および市場流通向けの双方に対応しています。あわせて、大量の端末をWindows PC上でシミュレーションできるアプリケーションを開発し、検査の効率化と再現性向上を実現しました。
eラーニングサービスでは、受講者からの質問をメール等で受け付け、数名の講師が個別に回答する運用となっており、受講者が回答を得るまでに時間がかかるという問題があります。また、運営側としても、講師陣の負担や回答品質のばらつきを改善したいと考えています。これらの課題を軽減するため、AIによる質問回答機能のプロトタイプを開発しました。
LLMを用いたチャットボットを開発しました。質問には図や手書き文章も多いためマルチモーダルAIを採用し、専門技術をカバーするためRAG機構を取り入れました。eラーニングで実際に使用している教科書の内容をRAGデータ化しました。評価では、テキスト文による質問への回答精度は良好でしたが、図や数式を用いた質問では誤回答も多く、入力側の内容解釈精度が課題であることを確認しました。
全国展開するハウスメーカーの経営戦略システムの開発です。売上、顧客、人材に関する膨大なデータをもとに、さまざまな観点や関連性に着目し、営業状況分析や経営戦略策定を支援する経営層(役員)向けのツールが求められていました。ダッシュボード化により、迅速かつ明解な状況判断と計画策定を可能にすることが目的です。
データ統合ツールにAzure Databricksを採用し、データ処理部はPython、SQLで実装しました。大量のデータを適切に処理するため、3つのレイヤー(ブロンズ、シルバー、ゴールドのテーブル)に分類するメダリオンアーキテクチャを採用しました。当社はゴールドテーブルを出力し、CRMツールのTableauに渡す部分までを開発しました。ダッシュボード表示はTableau側で実現しています。
エンドユーザの研究施設様では、さまざまな分野の多くのセンシングデータを収集し、それらのデータを連携分析する研究を行っていました。例えば、イベント会場(野球場やコンサート会場)周辺の混雑度から周辺道路や人流などの混雑を予測したり、降雨・降雪時の渋滞データから渋滞を予測したりする研究です。これらの研究のため、膨大なデータ収集と適切なデータ提供が求められていました。
エンドユーザである研究者様が論文作成や各種研究を行うために必要としているセンシングデータの収集支援(データ成形やデータベース登録スクリプト作成)、および解析支援(必要なデータを切り出して提供)を行いました。また、研究者様の研究内容をパッケージ化し、研究成果を使用したいユーザの利便性を向上できるようにしました。
製造オペレーション管理(MOM)は、生産計画から製造実行、品質管理まで、製造プロセスを最初から最後まで管理するためのソリューションです。MOMの導入を検討されているお客様に対して、「望んでいることが実現できるのか」「実際に動いているものを一度見てみたい」といった導入に向けた要望対応や疑問解消を実施する必要があります。
導入を検討されているお客様に向けて、製品の紹介、デモデータの作成とデモ実施、PoC(Proof of Concept:概念実証。小規模な環境を作成して検証するプロセス)の実施、および製品導入時の支援を実施しました。