イノベーションのチカラで未来を拓く、IoTインテグレーター 富士ソフト組み込み開発サイト
メール
電話
メニュー
FPGAを主体としたハードウェア設計に対する豊富な知見で、小規模~大規模FPGA開発まで幅広く対応が可能です。 RTL設計などの論理設計だけでなくソフトウェア開発・部品調達・基板(ボード)開発も含めたカスタム(実装)まで、ワンストップソリューションとしてご提 案いたします。各チップベンダーとアライアンスを組んでおり、大手FPGAベンダーだけでなく、昨今の半導体供給不足で注目されている新しいFPGAベンダーの対応も可能です。 基板開発ではデータ通信や画像データ用の高速インターフェースや、DDRメモリなどのメモリインターフェース に対応したインピーダンス の整合、配線長合わせ、および 電源管理など細かいチューニングも高精度で対応いたします。
資料のダウンロードはこちら
富士ソフトはAltera社ASAPプログラムの「Altera Solution Acceleration Partner」、AMD社パートナープログラムの「SELECT CERTIFIEDメンバ」として認定されています。
あらゆる産業機器(装置)開発に加え、世界的な半導体供給不足問題を回避するFPGAのマイグレーション対応、NW課題やCPU課題の解決に導くSmartNICなどHWアクセラレータカードの開発実績もございます。
FPGA開発における論理回路設計からコーディング、検証まで一括して対応できる技術力を有しており、皆さまのご要望にお応えいたします。 加えて、基板開発における部品選定から回路設計、基板設計(A/W設計)や製造までも対応が可能です。 ※図の赤枠がハードウェアの開発領域となります。
一般的な開発プロセスに対してのFPGA/基板開発対応領域
EMSを含めたトータルサポートを行います。 要件定義・システム設計から製造・検査まで一連のものづくり行程が可能です。
基本設計
機能要件を定義し、信号の入出力、信号の接続方式、論理合成に必要な信号の動作概要を論理回路としてまとめます。
詳細設計
論理回路にもとづき、信号の伝達パス、配線構成を明確化し、論理合成に必要な詳細な信号フローや配線情報などの回路設計を行います。
コーディング
論理合成向けのHDL(Verilog/VHDL)記述で、信号の遷移、配線の割り当て、信号制御、論理合成に必要な論理回路の記述を行います。
機能検証
記述した論理回路が正しく動作するかHDLのシミュレーションで、信号の振る舞い、論理合成後の機能、信号遷移、配線による影響を検証します。
タイミング検証
論理合成後のネットリストで、配線遅延を含む信号遷移、論理合成結果のタイミング、信号の安定性を確認します。
動作検証
FPGA実機で、差動伝送路など高速信号の品質や論理合成後の挙動、配線品質を実際に確認します。
総合検証
基板レベルで、差動ペアの信号品質、論理合成による安定性、信号配線の整合性を総合的に検証します。
システム検証
最終システムで、信号の完全性、論理合成結果の全体動作、配線の最適性、信号の確実な動作を確認します。
部品選定、部品調達
大物部品(メイン制御デバイス:FPGA,CPUなど、メモリデバイス:DDRなど、外部インターフェースデバイス:EtherNet,USBなど、電源デバイスなど)の選定を行います。
回路設計
回路の目的・動作仕様(例:データ処理速度、I/O数)、外部インターフェース(USB、Ethernet、DDRメモリなど)、電源・動作電圧範囲などに基づいて、CADツールで回路図を作成します。
配線設計(PCBレイアウト)・A/W設計
部品間の信号線の配線設計を行います。また、電源・GNDプレーン配置やEMIノイズ対策(デカップリングコンデンサ配置等)、高速信号(DDRメモリや外部インターフェース等)ではインピーダンス制御・配線長マッチングなどを行います。
※PCB(Printed Circuit Board)= 基板
基板製造
PCBメーカーにガーバーデータを渡して生板を製造します。
部品実装
実装業者(EMS企業など)で生板に部品を実装(はんだ付け、フロー/リフローなど)します。
電源投入・初期チェック(短絡チェックなど)。FPGAなどのプログラム書き込み・動作確認。必要に応じて再設計・修正します。
掲載している実績は組込み領域で、ソフトウェア・ハードウェア・製造の経験の50年以上、積み重ねてきた富士ソフトの実績(事例)のほんの一部です。当社は自動車制御、医療機器、産業機器、家電(ネットワーク化、IoT化)、放送機器の業界で組込み受託開発を行ってきました。組込みソフトウェア受託開発では、CPU/DSP/プロセッサ、開発言語、組み込みOS、ミドルウェアのカテゴリでお客様のご要望にお応えします。このページに掲載していないことでも、当社までお気軽にお問合せください。
FPGAでどんなことができるのかを何か実現できるのかを用途別にご紹介します。
高速通信・ゲートウェイ機器 複数プロトコルを1ボードで集約
FPGA上にCAN Controller、PCIe-DMA-Controller、Ethernet MACなどの通信IPを実装し、プロトコル変換・データ中継をハードウェアで高速に処理。基板側ではRS-485やCAN、光I/Fなど複数インターフェースを1枚のボードに集約し、高速信号のインピーダンス制御や配線長マッチングを行います。
画像処理・検査装置 カメラ入力から判定までをリアルタイムに
LVDS Video、CameraLink、CoaXPressなど複数のカメラインターフェースをFPGAに接続し、画像のキャプチャ・前処理(フィルタ、2値化、γ補正、FFTなど)をハードウェアで並列処理。DDRメモリとの高速アクセス制御もFPGAが担い、必要な画像データだけを上位CPUやAIプロセッサへ渡します。
産業機器・モータ制御装置 多軸制御とフィールドバスを1チップで
PWM生成やエンコーダ入力処理をFPGAロジックとして実装し、モータ制御のコア部分をハードウェア化。AXI/AHB/APBバスを使ってCPUと連携しつつ、Modbus TCPや各種産業用通信を同一FPGA上で処理することで、装置全体を1ボードで完結できるアーキテクチャを構成します。
ストレージ・データロガー機器 大容量データを抜け漏れなく記録
SATA/SAS/SDカードなどのストレージコントローラをFPGAに実装し、DDRメモリと組み合わせてバッファリングすることで、大容量データをロスなく記録。ストレージ切り替えや冗長構成も、FPGAロジックで柔軟に制御します。
医療機器・ヘルスケア機器 高信頼な信号処理と画像処理
AGCやFIR/IIRフィルタ、FFTなどの信号処理ロジックをFPGAに実装し、生体信号や画像データをリアルタイムに処理。基板設計ではノイズ対策や電源設計を含め、医療機器向けの信頼性を意識したレイアウト/部品選定を行います。
自動車・モビリティ機器 ADASやゲートウェイのリアルタイム処理基盤
自動車・モビリティ機器向けに、FPGAでカメラやレーダーの高速I/Fを集約し前処理を行い、CAN/LIN/Ethernetゲートウェイやメモリ制御、車載グレード基板設計まで一括対応します
AMD Alveo BittWare HiTech Global TUL
FPGA(Field Programmable Gate Array)は、Programmable Logic Device(PLD)の一種で、名前の通り現場で再構成可能なゲートアレイ構造を持つプログラマブルLSI(集積回路)です。並列処理や高速信号処理に適したアーキテクチャを備えており、CPUでは対応が困難な信号処理や装置のカスタム制御を、専用回路として柔軟かつ短期間で実現できるのが特長です。
同じProgrammable Logic Deviceとしては、CPLD(Complex Programmable Logic Device)があります。CPLDは少数ゲートの制御向けで、FPGAは多数ゲートのデータ処理・並列演算向けであり、柔軟性と高性能を兼ね備えたデジタル回路設計のための半導体デバイスです。 FPGAは、よく比較されるASIC(Application Specific Integrated Circuit)やASSP(Application Specific Standard Product)と比較して短期間でコスト効率よく開発を行えるため、幅広い用途で利用されています。
ASIC / SOC 開発特集 富士ソフトでは、インターフェース・メモリ・プロセッサ・検証用IPからプロトタイピングボードまで、ASIC/SoC開発に最適な製品をフルラインナップでご用意しています。
FPGAは「同じ構造が碁盤目状に大量に並ぶ」デバイスです。中心は論理セル(LUT+フリップフロップ)、それらを結ぶ配線網、入出力のI/Oブロック。そこにメモリやDSP、クロック網、高速トランシーバやハードIPが加わります。
FPGAの中核をなすのが、論理ブロック(CLB)です。各CLBには、基本的な論理演算を行うLUT(ルックアップテーブル)、演算結果を一時的に保持するフリップフロップ、簡単な演算処理用の加算器などが内蔵されています。 ユーザーは、これらを組み合わせて加算器・減算器・カウンタ・ステートマシンなど様々な機能ブロックを構築します。
CLB同士をつなぐのが、配線リソースです。FPGA内には、膨大な数の金属配線とスイッチマトリクス(切り替え回路)が配置されており、これらを設定することで、各論理ブロックを好きなように接続できます。この柔軟な配線構成のおかげで、ユーザーは論理回路構成を自由自在に再設計できるようになっています。
FPGAには、内部メモリとしてデータの一時保存やキャッシュとして使用されるメモリブロックが組み込まれています。これにより、高速なデータアクセスが可能になります。 【参考】 FPGAの内部メモリ(Block RAMなど)は容量が限られているため、大量データを扱う場合は外部メモリが必要で、高速かつ大容 量のメモリとして 主に DDRメモリが使われます。DDRメモリには、いくつか種類があり、DDR1、DDR2、DDR3、DDR4 、DDR5 など、世代が 進むごとに高速化・低消費電力化しています。
論理ブロックは、FPGAの中で実際に論理演算や状態保持を行う“部品”で、これらを組み合わせることで、ユーザーが自由に回路を構成できます。 代表的なロジックブロックの中身としては、まず LUT(ルックアップテーブル) があります。LUTは「入力の組み合わせに対して、どんな出力を出すか」をあらかじめ記憶しておく小さなメモリのようなもので、1ビットのSRAMをセレクタから構成し、真理値表をそのままSRAMの記憶値とし、ANDやORといった基本ゲートから、もう少し複雑な論理まで柔軟に実現できます。FPGAの設定(コンフィギュレーション)時に、このLUTの中身を書き換えることで、回路の動作を変更します。
次に、信号の値をクロックごとに保持する フリップフロップ(FF) が用意されています。これは「一拍ごとにデータを覚えておくレジスタ」のような役割で、シーケンシャル回路やステートマシンを作る際の基本部品です。このほか、どの信号を使うか切り替える マルチプレクサ や、加算器を効率よく作るための キャリーチェーン なども、ロジックブロックに組み込まれています。
これらのロジックブロック同士を、FPGA内部の配線リソースでつなぎ合わせることで、ユーザーが設計したデジタル回路が形になります。つまり、FPGAは「LUT+フリップフロップなどの小さなロジックブロックが大量に並び、それらが自由に配線できるようになっている集積回路」とイメージしてもらうと分かりやすいでしょう。
CPU(MPU)は、汎用的な命令を順番に実行するコンピュータの中枢で、OSやアプリケーションを動かす計算エンジンです。内部構造は固定され、処理内容はソフトウェアで変えることが前提です。FPGAのように回路自体を書き換えることはできませんが、開発が容易で汎用性に優れ、PCから組み込み機器まで幅広く利用されます。基本的には逐次処理が得意で、並列度はFPGAほど高くありません。
GPU(Graphics Processing Unit)は、本来は画像描画用に設計された多数の演算ユニットを持つプロセッサで、大量のデータを並列に処理するのが得意です。行列演算やベクトル演算に強く、近年は機械学習や科学技術計算にも利用されます。内部構造は固定で、FPGAのように回路そのものは変えられませんが、汎用言語やCUDAなどで比較的柔軟にプログラミングできます。
ASIC(Application Specific Integrated Circuit)は、特定用途向けに設計された専用ICで、量産前に論理回路を決めて固定するため、後から書き換えることはできません。その代わり、性能や消費電力、チップ面積を用途に最適化しやすく、大量生産時のコストメリットも大きいのが特徴です。FPGAは柔軟性、ASICは専用最適化とコスト効率で使い分けます。
ASSP(Application Specific Standard Product)は、特定の機能や用途に特化して設計された標準品ICで、USBコントローラや通信チップなどが代表例です。ASICと異なり一社専用ではなく、誰でも購入して使える汎用の専用チップです。内部機能は固定のためFPGAのような自由度はありませんが、設計不要で高い信頼性とコストパフォーマンスを得られます。
DSP(Digital Signal Processor)は、音声・画像・センサー信号などのデジタル信号処理に特化したプロセッサです。デジタル信号処理でよく使われる乗算加算を高速に繰り返すよう最適化されており、乗算器と加算器を組み込んだ演算コアを複数搭載しているため、1回~数回の積和演算を1サイクルで実行できます。多くがデータ・バスと命令バスを分離したハーバード・アーキテクチャを採用します。CPUより効率よくフィルタ処理やFFTを実行でき、FPGAよりもソフトウェアでの開発がしやすい点が特徴です。
マイコン(マイクロコントローラ)は、CPUコアとフラッシュメモリ、RAM、タイマや通信IF、A/Dコンバータなどの周辺回路を1チップにまとめた「小さなコンピュータ」です。CPUやGPU、DSPが主に計算処理そのものを担うのに対し、マイコンはセンサー入力からモータ制御まで、機器全体の制御に最適化されています。FPGAやASIC、ASSPのようにハードウェア構造自体を設計するのではなく、決められたハードに対してC言語などでソフトウェアを書いて動かす点が大きな違いです。低消費電力かつ低コストで扱いやすく、家電から産業機器まで幅広い組み込みシステムで利用されています。
FPGAとは?技術者目線の基礎知識 FPGAに関して、基本構造から始まり、CPUやGPU、ASIC、ASSP、CPLD、マイコンなどとの違いやメリット、活用事例などFPGAの基礎を知りたい方向けにまとめました。
ミニコラム
年々、高い効率性が求められるようになっているFPGA設計において、AXIが重要な役割を果たしています。AXIとは、Advanced eXtensible Interfaceの略で、ARMが策定したAMBA(Advanced Microcontroller Bus Architecture)の一部。 バスプロトコル(インターフェースの仕様)で、特に高速・高帯域幅なデータ転送に向いています。
パイプライン化
分離チャネル
高い拡張性
FPGA開発でよく出てくるAXIバスは、主に以下のように使われます。
■FPGA内のIP間接続
■FPGA⇄プロセッサ接続
■DDRメモリコントローラIPとの接続
FPGA設計では、HDLを用いて回路の動作を記述します。代表的なハードウェア記述言語(HDL)には、VHDL、Verilog HDL、SystemVerilogがあります。VHDLは、大規模で複雑なシステムの設計に適しており、航空宇宙、通信、軍事などの分野で広く利用されており、Verilogは、デジタル回路のプロトタイピングやASIC設計に広く使用されており、特にシリコンバレーなどのハイテク企業で人気があります。SystemVerilogは、「Verilogを拡張した次世代Verilog」という立ち位置で、RTL設計の拡張(interface, enum, struct, assertion など)や、検証用の強力な機能(クラスベース、ランダムテスト、カバレッジ等)統合、言語仕様的には「ハードウェア記述+検証言語」の両方をカバーするなどの特徴があります。
HDLでは、組み合わせ回路に加えて、クロックで値を保持するフリップフロップ(レジスタ)からなる順序回路を記述します。
設計する回路の動作を詳細に記述します。特にフリップフロップ境界(レジスタ境界)を意識したパイプライン設計が、最終的な動作周波数と安定性を左右します。
記述したHDLのコードをシミュレーションツールで実行し、動作を検証します。シミュレーションにより、設計段階での誤りを早期に発見し、修正することが可能になります。
論理合成とは検証が完了したHDLコードを、論理合成ツールを使用してFPGAに適した形式に変換することです。論理合成により、抽象的な記述が具体的なゲートレベルの回路に変換されます。
論理合成された回路をFPGA内に配置し、必要な配線を行います。このステップでは、FPGAの物理的な制約を考慮しながら、最適な配置と配線が行われます。
論理合成および配置と配線が完了した回路をFPGAに書き込み、実際のハードウェアで動作を確認します。この段階で、実装された回路が期待通りに動作するかを最終確認します。
FPGAは、柔軟性と再プログラム可能な特性を持ち、さまざまなデジタル回路設計に対応できます。CPU、ASIC、ASSP、CPLD(Complex Programmable Logic Device)、GPU、マイクロコントローラ(マイコン)など、それぞれ異なる特性と用途を持つデバイスと比較されますが、FPGAの強みはその汎用性とカスタマイズの自由度、迅速な開発が可能な点などにあります。多数のフリップフロップを用いたパイプライン化により、高い並列性とスループットを引き出せる点もFPGAの強みです。
またHDL、特にVHDLを使用することで、高度なデジタル回路を効率的に設計し、シミュレーションと検証を通じて高品質な製品を実現できます。FPGAの柔軟性を最大限に活用することで、設計の自由度と市場の変化への適応力が大幅に向上します。
VHDLは1980年代に米国防総省によって開発され、IEEE標準(IEEE 1076)として広く採用されており、以下のような特徴があります。
VHDLはAdaプログラミング言語に似ており、非常に厳密で冗長な構文を持ちます。これにより、コードの可読性と信頼性が高まります。
VHDLは強い型付けを特徴とし、データ型の明確な宣言が必要です。これにより、設計時のエラーを早期に検出できます。
VHDLは、複雑な設計を管理しやすい構造化されたモジュール設計や、抽象度の高い設計記述が可能です。
Verilogは1980年代にGateway Design Automation社によって開発され、1995年にIEEE標準(IEEE 1364)として採用され以下のような特徴があります。
Cプログラミング言語に似た構文を持ち、学習曲線が緩やかで、設計者にとって使いやすいです。
VerilogはVHDLに比べて型付けが柔軟で、特に簡単な回路やプロトタイプの迅速な設計に向いています。
Verilogはイベント駆動型のシミュレーションをサポートしており、タイミング解析やシミュレーションが効率的です。
[FPGA開発工程のちょっとしたこだわり] 仕様書作成 FPGA各開発工程(仕様書作成、論理回路設計、RTLコーディング、シミュレーション、論理合成)における、私のちょっとしたこだわりや、予め気を付けた方がいいよ、という内容をお伝えします。
[FPGA設計のためのちょっとしたこだわり] 組み込みエンジニアなら知っておきたいRTLコーディングの基本 RTLコーディングとは、主にXilinxやAlteraなどのFPGAを動作させるために、ハードウェア記述言語(Hardware Discription Language; HDL)で論理回路設計を行う手法のことです。回路設計における重要なフェーズです。
製造中止になった AMD Alveo カードの推奨代替品ガイド
DCD社が車載用のセキュアかつ包括的なCAN-ALL ソリューションを発表
3Dプリンタ(Creality Ender 3 V2 )でAlveoアクセラレータカードのファンアダプタを作成してみた②
3Dプリンタ(Creality Ender 3 V2 )でAlveoアクセラレータカードのファンアダプタを作成してみた①
【Alveoシリーズ第2回】NoLoad SmartSSDを使ってみた②
【Alveoシリーズ第1回】NoLoad SmartSSDを使ってみた①
“見積もりがほしい”、”こんなことはできるのか?”、”詳しい実績がしりたい”、”この技術は対応できるのか?” そんな時は、質問だけでも結構です。お急ぎの場合も迅速に対応させて頂きますのでお気軽にお問い合わせ下さい。
組み込み受託開発に関して問い合わせる
050-3000-2102 エンベデッドソリューション推進部(平日 9:00〜17:00)
お探しの組み込み製品はキーワードで検索!