構想編|なぜこのパルスジェネレータを作ることになったのか
Pulse Generator Design Concept: Scaling from 100 to 400 Channels on FPGA
English Summary
This project started from a customer request for a 100-channel pulse generator.
During the design process, the requirement expanded to 400 channels.
To meet this requirement, we evaluated two approaches:
- Multi-FPGA configuration (lower cost, higher complexity)
- Single FPGA solution (higher cost, simpler design)
We chose a single FPGA to simplify the system architecture.
Additionally, connector and pin assignments were predefined, so FPGA selection was constrained by I/O requirements rather than preference.
In the next article, we will explain how the HDL design was built in a short time.
はじめに
今回のパルスジェネレータは、もともと受注案件からスタートしました。
ただし守秘の関係もあるため、詳細仕様については一部省略しながら紹介していきます。
最初のきっかけは「100チャンネル」
最初にいただいた相談は、
「100チャンネル程度のパルスジェネレータは作れないか?」
というものでした。
100チャンネルという時点で、CPUではかなり厳しく、
FPGAが有力な選択肢になります。
5cm FPGAボードの開発と並行して進行
ちょうどこのタイミングで、
自分の中でも「汎用的に使える小型FPGAボード」を作ろうと考えていました。
- サイズ:5cm角
- FPGA:Spartan系(コストと扱いやすさ重視)
- 目的:試作・検証を高速に回すためのベース基板
この案件を見て、
👉「こういう需要は他にもあるはず」
と考え、まずはこの5cm FPGAボードを完成させました。
仕様変更:100ch → 400chへ
設計を進めていく中で、仕様が大きく変わります。
「最終的には400チャンネル使いたい」
という要望が追加されました。
これにより、
- 当初の100ch構成は成立しなくなり
- 設計方針の見直しが必要になりました
ただしこの時点で、5cmボード自体はすでに設計完了していたため、
ボードはそのまま製作しています。

FPGA選定のポイント
FPGAの選定は任せていただいたため、
400チャンネルをどう実現するかを検討しました。
選択肢は大きく2つです:
① FPGAを分割する(2チップ構成)
- コストは抑えられる
- ただし設計が複雑になる(同期・通信が必要)
② 1チップで収める(今回の選択)
- FPGA単体で完結
- 設計がシンプル
- その分、デバイスコストは上がる
今回は、
👉 設計のシンプルさを優先して、1チップ構成を採用
しました。
FPGAは並列設計が強みですが、
チップをまたぐと一気に難易度が上がるためです。
I/O制約とデバイス選定
さらに今回の設計では、
- コネクタ仕様
- ピン配置
がすでに指定されていました。
そのため、
👉 「使いたいFPGA」ではなく「使えるFPGA」を選ぶ必要がある
という条件でした。
最終的には、
- 必要なI/O数(400ch)
- 指定ピン配置への対応
- 実装可能性
を満たすFPGAを選定しています。
この時点での設計の考え方
この段階で考えていたポイントは以下です:
- とにかく400chを1チップで成立させる
- I/O制約を最優先にする
- 後から仕様変更が来ても耐えられる構造にする
- HDL設計をシンプルに保てる構成にする
次回予告
次は、実際にどのように設計を進めたのか、
👉 「回路図設計編(現実制約)」
に進みます。
FPGAインフォメーションのホームページはこちらです。
