聞いてみました
賢いなあ
いや、僕がアホなだけか
結論から言うと、その認識は正しいです。MSX3の運命はFPGA選定で決まります。
ただし「Tang Mega 138Kを使う」ではなく、正確には次のように定義するべきです。
MSX3 FPGA戦略の骨子
MSX3は、FPGAそのものではなく、FPGAモジュール規格を固定する。
つまり、
MSX3 = 10年間変えない共通FPGAモジュール・プラットフォーム
その上に Gowin / AMD Xilinx / 将来の別FPGA を載せ替え可能にする
という設計にするのが一番よいです。
Tang Mega 138Kはかなり良い出発点です。GW5AST-138は138,240 LUT4、約298 DSP、8本の高速トランシーバ、PCIeハードIP、RISC-V AE350ハードCPU、DDR3構成例を持つので、MSX3の初期実装には十分強いです。SipeedのTang Mega 138K Pro Dockも1GB DDR3、PCIe、HDMI系、SFP などを備えた実験台として有用です。�
GitHub、ほかに 1 件
ただし、そのままTang Mega依存にしてはいけません。
理由は3つあります。
Gowinの開発環境・IP・供給が10年安定する保証はない。
MSX3が教育・産業・ホビーをまたぐなら、AMD Xilinx互換実装が必要になる。
FPGAごとのピン・電源・DDR・SERDES制約を吸収する「MSX3 FPGA Module」が必要になる。
推奨する標準構成
私は、MSX3の標準FPGA構成を3段階に分けるべきだと思います。
クラス
FPGA規模
役割
製品イメージ
MSX3 Base
138K級
標準MSX3、VDP、SoundAll、VM64補助、PCIe
Tang Mega 138K級
MSX3 Dual
276K級
VDP/Sound/CPU分離、MSX3Pro入口
138K × 2
MSX3 Pro FPGA
300K級以上
GPU連携、高度DSP、複数VDP、AI補助
AMD Xilinx Artix/Kintex系
ここで重要なのは、138Kを最小標準にして、276Kを上位互換の10年標準にすることです。
AMD Xilinx側の候補
Gowin 138Kの直接対抗としては、古い7シリーズなら Artix-7 / Kintex-7、新しい方向なら Artix UltraScale / Spartan UltraScale が候補です。
AMD公式資料では、Artix-7は低消費電力・コスト最適化FPGAで、DDR3、DSP、トランシーバ用途を想定しています。7シリーズのArtix/Kintex/Virtexは、低消費電力と性能を重視した28nm世代のFPGA群です。�
AMD、ほかに 1 件
ただし、10年固定プラットフォームとして考えるなら、私はArtix UltraScale を本命のXilinx互換ラインに置きます。Artix UltraScale は最大16Gb/s級トランシーバ、PCIe Gen4対応、高DSP性能、映像・ネットワーク・エッジ用途を想定しているため、MSX3のPCIe/GPU/映像拡張と相性がよいです。�
AMD
資料上の規模感では、Artix UltraScale は AU10P=96K、AU15P=170K、AU20P=238K、AU25P=308K logic cells級です。つまり、Tang Mega 138K対抗は AU15P、Dual 138K対抗は AU25P あたりが近いです。�
Groupe Calcul
Spartan UltraScale も低コスト・高I/O・低消費電力・セキュリティ・PCIe Gen4を特徴とする新しいファミリなので、将来の量産候補として見る価値があります。�
AMD、ほかに 1 件
私の推奨:MSX3 FPGA Module規格
共通ピンコネクタ基板にするのは正解です。ただし、単なるピン互換ではなく、以下のような「モジュール仕様」にするべきです。
MSX3 FPGA Module Type-A
標準はこれです。
項目
内容
FPGA規模
138K LUT級以上
外部メモリ
1GB DDR3/DDR4以上
高速I/O
PCIe x4相当、またはSERDES 4〜8本
映像
HDMI TX/RXまたは内部VDPバス
低速I/O
GPIO, I2C, SPI, UART, MSX slot bridge
音源接続
SoundAll / Visual Stereo / XMOS接続用I2S/TDM
デバッグ
JTAG, UART, USB
電源
12V入力、モジュール上で各FPGA電圧生成
物理形状
70×50mm級またはそれに近いSOM
Tang Mega 138K Proの70×50mm級モジュール構成は、この発想にかなり近いです。�
CNX Software - Embedded Systems News
MSX3 FPGA Module Type-B
これは上位機です。
項目
内容
FPGA規模
276K〜308K級
構成
138K×2、またはAU25P級1個
役割
VDP/Sound/CPU/PCIe分離
用途
MSX3Pro、複数VDP、複数SFG、GPU接続
ここでは「138Kを2個載せる」案が非常に良いです。理由は、大きな1個のFPGAに全部詰めるより、役割分担がMSXらしいからです。
たとえば、
FPGA
担当
FPGA-A
CPU / VM64 / MSX互換 / スロット制御
FPGA-B
VDP / SoundAll / Visual Stereo / PCIe / HDMI
または、
FPGA
担当
FPGA-A
9958/9990/9968系 VDP
FPGA-B
8960 SoundAll / OPM / OPL / SCC / PML / DMA
こう分けると、MSXの「カートリッジで拡張する思想」と一致します。
1chipMSXから学ぶべきこと
1chipMSXの教訓は、FPGAを選んだ瞬間に未来が固定されるということです。
当時は「MSXを1チップに入れた」こと自体に価値がありました。しかし、将来の拡張余地、メモリ帯域、ビデオ、音源、ネットワーク、PCIe、外部GPUまでは見ていなかった。