HN 日本語サマリー

← 一覧へ戻る
プログラミング

Fomu: USBポートに収まるFPGAボード

Fomu An FPGA board that fits inside your USB port (crowdsupply.com)

34 pointsby Bluestein5 コメント

要約

Fomuは、USBポートに直接差し込める小型のFPGA(Field-Programmable Gate Array)開発ボードです。RISC-VプロセッサコアをFPGA上で実行でき、Pythonでのプログラミングも可能です。オープンソースのツールチェーンに対応しており、手軽にFPGAやRISC-V開発を始められる点が特徴です。

全文翻訳

Fomu: USBポートに収まるFPGAボード

Sutajio Kosagi
RISC-V
KiCad

USBポートに収まるFPGAボード

[画像: Fomu]

$88,332 raised

of $10,000 goal

883% Funded! Order Below

In stock. Order now, ships within three business days.

$50

View Purchasing Options

Fomuは、FPGAまたはRISC-V開発を始めるための最も簡単な方法です。

Fomuは、USBポート内に収まるプログラマブルFPGAデバイスです。4つのボタン、RGB LED、そして完全にオープンソースのチェーンと互換性があり、RISC-Vコアを実行できるFPGAを備えています。Fomuは、USB Type-Aポートにぴったり収まるカスタムプラスチックエンクロージャーに入っています。

[画像]

Python、RISC-V、FPGA、すべてオープン

FomuにはPythonがあります

128キロバイトのRAMと大量のストレージを備えたFomuは、Pythonをネイティブで実行するのに十分なパワーを持っています。USBポート内に収まるため、インストールは非常に簡単です。FPGAは複雑ですが、最新のPythonツールを使えば、特別なトレーニングなしでFomuを簡単に使用できます。

FomuはRISC-Vを実行します

Pythonインタープリタの下には、FPGAファブリック上で実行されるRISC-Vソフトコアがあります。RISC-Vは、組み込みチップから高性能コンピューティングまで、あらゆるものを席巻すると予想される、新興のプロセッサアーキテクチャです。FomuのRISC-Vソフトコアは、未来のプロセッサアーキテクチャへの素晴らしい入門となります。

FomuはFPGAです

FPGAは再構成可能なシリコンの断片です。デフォルトのFomuファームウェアはRISC-Vソフトコアを実行するUSBブートローダーを公開しますが、好きなものをロードできます。LM32およびOpenRISC用のソフトコアも利用可能です。CPUに命令を追加したり、LED点滅パターンやより良いキャプチャタッチハードウェアブロックなどの新しいブロックを追加したりする練習ができます。

Fomuは完全にオープンです

Fomuでの開発は非常に簡単です。USB経由でコードをロードするだけで完了します。RISC-Vコード、Pythonコード、またはHDLのいずれを記述する場合でも、すべて同じ方法でFomuにアップロードされます。ICE40UP5K FPGAは、完全にオープンなツールチェーンでサポートされており、アカウントを作成したり、NDAに署名したり、数ギガバイトのインストーラーをダウンロードしたりすることなく開発を開始できます。

[画像: Fomu]

特長と仕様

Fomuは標準的なUSB Type-Aスロット内に完全に収まりますが、4つの銅パッドにアクセスできるように小さな部分が突き出ています。ケースを照らすRGB LEDが1つあり、ユーザーが完全に制御できます。メインチップは、約5000 LUT(Look-Up Table)を持つFPGAで、CPUを搭載しても十分な余裕があります。

  • FPGA: Lattice ICE40UP5K
  • 速度: 48 MHz外部オシレータ
  • RAM: ソフトCPU用に128 kB RAM¹
  • ストレージ: 1 MB SPIフラッシュ²
  • 接続性: USB 2.0 FS (12 Mbps)
  • ボタン: 4つ³
  • LED: 1つ (RGB)

¹: FPGAには1024キロビットのメモリが利用可能です。プロセッサレジスタファイルなどのものには、USBバッファなどの一時メモリに加えて、別のメモリブロックが使用されます。CPUは、構成に応じて64キロバイトまたは128キロバイトのメモリを使用できます。
²: これは最小構成量です。最終バージョンでは、さらに利用可能になる可能性があります。
³: Fomuの端近くに4つの銅パッドがあります。まだ容量性タッチソリューションは検証していません。

[画像]

比較

FomuTomuICEBreakerTinyFPGA BX
ソース
PCBはいはいはいはい
ケースはいはいいいえいいえ
ブートローダーはいはいN/Aはい
物理的
入力4つのパッド2つのパッド4つのボタン1つのリセット
出力1つのRGB LED2つのLED5つのLEDなし
GPIOなしなし27 + 741
USBポートに収まるはいはいいいえいいえ
USBインターフェースソフトコア内蔵FTDIソフトコア
仕様
メインチップICE40UP5KEFM32HG309ICE40UP5KICE40LP8K
RAM128 kB8 kB128 kB16 kB
フラッシュ2 MB64 kB16 MB1 MB
LUTs5280N/A52807680
クロック48 MHzクリスタルN/A12 MHz MEMS16 MHz MEMS

Fomuは、USBポートに収まるFPGAに便利にアクセスできるため、素晴らしいです。ピン数の多い開発ボードが必要な場合は、他のICE40開発ボードのいずれかを確認してください!

なぜFPGAなのか?

FPGAは、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array)です。CPUのようなチップを購入すると、ロジックセルはすべて固定されています。CPUはいくらでもコードを実行できますが、何か特別なことをしたい場合はソフトウェアを作成する必要があり、やりたいことによってはそのソフトウェアは非常に遅くなる可能性があります。

例えば、多くの組み込みプロジェクトではWS2812 LED(NeoPixelsなど)を使用しますが、これには特殊なタイミング信号が必要です。CPUはソフトウェアでこの信号を生成できますが、LEDと通信している間は何もバックグラウンドで実行できません。LEDストリングが非常に長い場合、CPUは信号を生成するために多くの時間と電力を浪費します。

FPGAを使用すると、「LEDドライバー」を作成することが可能になり、CPUはハードウェアコンポーネントがタイミングを処理している間に実行を続けることができます。CPUは他の作業を行うか、低電力状態に入る可能性があります。

実際、FPGA内の「CPU」はハードウェア記述言語から作成されるため、変更したり置き換えたりすることができます。必要であれば、まったく新しいCPU命令を作成することもできます。高速な64ビット乗算を行いたいですか?それとも、乱数を簡単に取得する方法が欲しいですか?FomuとそのFPGAを使えば、CPU自体のソースコードを手に入れることができます。

[画像]

FPGA開発

FPGAは非常に特殊なハードウェアであり、最近まで開発ツールは非常に閉鎖的でした。通常、秘密保持契約(NDA)に署名してから、非常に、非常に大きなツールチェーン(通常は5GBを超える)をダウンロードする必要があります。さらに、ツールチェーンはFPGAを販売するのと同じ会社によって開発されたため、合成を効率化するインセンティブがありません。なぜなら、非効率なツールチェーンはより大きなFPGAを購入する必要があることを意味し、それは彼らの収益を増やします。

いくつかのプロジェクトのおかげで、Fomuで使用されているFPGAは完全にオープンソースです。FPGAメーカーであるLatticeは、データシートとリファレンスマニュアルを無料で提供しています。そして、Yosys、IceStorm、nextpnrなどのプロジェクトのおかげで、完全にオープンなツールチェーンが利用可能になりました。

このツールチェーンは自由にダウンロードおよび共有でき、各個々のコンポーネントはオープンソースです。これにより、ベンダーのサイトでアカウントを作成したり、NDAに署名したり、ライセンスサーバーをセットアップしたりする必要がないため、セットアップが大幅に簡素化されます。

Fomuは、回路基板上で高度な4層ブラインド・埋め込みビア技術を使用しており、小ロットでの製造が困難です。Fomuをコミュニティに提供するために、製造が容易な2つのPCBバージョンを開発しました。

Hacker Version

FomuのHacker Versionは、2層PCB上の4/4デザインルールで設計されており、メインFPGAには特殊なフットプリントを使用しています。さらに、非常に特定のSPIフラッシュを使用しています。これらのボードは手作業で組み立てられましたが、WLCSPボールの扱いにくさから、ボードは長期的には信頼性が低く、機械的ストレスに対して特に脆弱である可能性があります。

Hacker Versionのボードは販売しませんが、自分でFomuを構築したいと考えており、非常に小さなコンポーネントのはんだ付けに慣れている場合は、Hacker Versionを試してみてください。

Fomu EVT

[画像]

これはFomuのモダンバージョンの最初のイテレーションです。これは「ストレッチ」ボードであり、SPIプログラミング、クリスタル対MEMSコンポーネントの選択、レギュレータの選択などのさまざまな仮説を検証するために設計されました。ラズベリーパイと組み合わせて、迅速なアプリケーション開発とデバッグを可能にします。

これらのボードの小数が関心のある顧客に提供されますが、フルサイズのFPGAボードを希望するユーザーにはTinyFPGAを参照することをお勧めします。

Fomu EVTは、標準的な2層PCB上の6/6デザインルールを使用して設計されました。どのPCBショップでも製造可能であるはずです。さらに、Fomu EVTには多くの追加コンデンサが含まれていますが、そのほとんどは不要であり、組み立てを簡素化するために削除できます。

FomuとTomu

Fomuは、素晴らしいTomuコミュニティの上に構築されています。誰もがUSBポートにコンピューターが入っていることを気に入っており、今ではそこにFPGAを入れることができます。

Fomuは可能な限りオープンになるように設計しました。そのため、Fomuが箱から出してすぐに求めていることを完全に満たさない場合でも、ニーズに合わせて変更することが可能です。

特別な感謝

これらの人々が協力してくれました。

  • Tim Ansell -- Tomuの初期設計、およびTomuプロジェクトの作成者。
  • Luke Valenty -- 初期の回路図とUSB FPGAブートローダー。多数の利用可能なI/Oピンを持つ開発用の小さなFPGAが必要な場合は、TinyFPGAをチェックしてください。

これらの人々やコミュニティの数え切れないほどの他の人々からの助けなしには、Fomuはまったく不可能でした。これまでに協力してくれたすべての人々に感謝します。

製造計画

Fomuは中国で製造します。

Tomuの設計目標の1つは、部品数を少なく保つことでした。残念ながら、Fomuではそれは不可能でした。このボードはより多くのコンポーネントを持っており、その結果、それらのコンポーネントはより小さくなる必要があります。すべてを収めるために、より洗練されたPCBを使用する必要があります。Tomuとは異なり、Fomuはクリスタル、外部ストレージ、および3つの個別の電圧レギュレータを必要とし、FPGAは一般的に多くのデカップリングコンデンサを必要とします。コンポーネントの増加は設計の複雑さを意味するため、より厳密な設計アプローチを取ります。

反復設計プロセス: EVT、DVT、PVT

Fomuは、エンジニアリング、デザイン、プロダクションバリデーション&テスト(EVT、DVT、PVT)として知られる伝統的な3サイクルアプローチに従っています。

EVTボードは、回路図が正しいことを確認し、一般的にショートしたり過熱したりしません。EVTボードは、ピンが期待どおりに機能することを確認し、コンポーネントを評価して適切な部品選択を行うことができます。

DVTボードは、設計が堅牢であることを保証します。ここでボードを小型化し、実際に必要なスペースに収まることを確認します。DVTボードを使用してケースを設計します。EVTとDVTの間には多くの変更がある場合があります。

[画像: Fomu PCB kicad]

Fomu PCB kicad

最後に、PVTボードは生産に進むものです。理想的には、DVTとPVTは同一ですが、実際には通常いくつかの変更があります。カットアウトのサイズを大きくしたり、パッドをわずかに再配置したりする場合があります(Tomuで行ったように)。PVTボードは「完了」と見なされます。

EVTボードを製造しました。これはストレッチボードで、名刺ほどの大きさです。このボードにより、オシレータの選択方法や電圧レギュレータの配置方法などのコンポーネントを決定できます。さらに、このボードは製造コストが低く、6/6ルールに従っているため、ほぼすべてのPCBショップで製造できます。EVTボードにはラズベリーパイヘッダーが含まれており、Fomuのブートローダーファームウェアの開発が容易になります。

EVTボードから得られた教訓を基に、より小さなDVTボードを作成しました。これにはEVTバージョンのほとんどのコンポーネントが含まれていますが、USBポートのサイズに縮小されています。DVTバージョンでは、より複雑な4層ブラインド・埋め込みビアプロセスを使用する必要があり、これにより内部層間のビア接続が可能になります。また、より小さなICE40 WLCSPコンポーネントに移行しました。これらの機械的な変更にもかかわらず、回路図はあまり変更されていません(例: ラズベリーパイヘッダーなどのコンポーネントは削除されました)。

設計が良好であることを確認するために、少数のDVTボードを製造します。プラスチックベンダーにDVTボードを提供し、Fomuコンポーネントの新しい配置に合わせてTomuケースを再設計するのを支援します。ブートローダー設計が良好であることを確認するために、見つけられる限り多くのUSBポートでDVTボードをテストします。DVT設計に満足したら、生産を開始します。

実際の生産実行はPVT実行と呼ばれます。DVT実行がうまくいけば、PVTはまったく変更されません。

[画像]

Fomuエンクロージャー

Tomuでは、プラスチックケースの資金調達に成功しました。Fomuでもその金型をほとんど再利用します。PCBの形状はわずかに異なり、RGB LEDが追加されたことで、ケースの形状にライトパイプを成形しようとします。そうすれば、プラスチックシェル全体がUSBポート内で光るようになります。

プラスチック金型自体はわずかな変更で済み、変更も比較的安価です。しかし、プラスチック工場は物理的な製品を扱うことを好むため、DVTボードを提供して測定および成形してもらう必要があります。DVTボードを入手したら、金型の鋼材をエッチングし、プラスチックと電子機器を適合させるために必要なテストを実行する作業を開始できます。

Fomu DVT/PVTプリント基板

Fomuプリント基板(PCB)は、従来のPCBよりもはるかに複雑になります。FPGAチップ自体は、Wafer-Level Chip-Scale Package(WLCSP)と呼ばれる非常に小さなパッケージに入っており、下部にボールのアレイがある非常に小さな長方形です。このチップを確実に使用するには、ブラインド・埋め込みビアとして知られる高度な多段階PCB製造プロセスを使用する必要があります。

通常、回路基板を構築する際は、ガラス繊維や銅を含む材料のサンドイッチを作成し、銅をエッチングし、穴を開け、電気メッキし、マスク層とシルクスクリーンを追加します。

ブラインド・埋め込みボードでは、これらすべてを行い、さらに材料をサンドイッチに追加し、ボードを適切に配置し、追加の層をレーザーでドリルします。その後、スルーホールを機械的にドリルし、完成したPCBをカットします。このプロセスは非常に複雑で、小ロットで安価に行うのは困難です。

当社のボリュームに対応できるPCB工場を見つけました。FomuのDVTリビジョンのメインPCBは、これらの超小型デザインルールを使用して最初に製造されるものになります。

[画像: Fomu 3D PCB]

Fomu 3D PCB

プレス掲載


[画像]

[画像: Hackaday]

[画像: Geeky Gadgets]

[画像]

[画像]

[画像: MickMake]

[画像: electronics-lab logo]

シンガポール、Sutajio Kosagi製。

Crowd Supplyにより販売・出荷。

[画像]

Fomu

USBポート用FPGA!Fomu 1個とプラスチックケースが含まれます。

$50 $8 US Shipping / $18 Worldwide

在庫あり

[画像: Fomu EVTボード画像]

Fomu EVT Board

EVTボードのリビジョンは、回路図が正しいことを検証し、ソフトウェア開発を支援するために使用されます。このEVTボードは、USBスタックを開発し、電源やその他のハードウェア部品が正しく配線されていることを確認するために使用します。ラズベリーパイに取り付けてビットストリームをアップロードし、CPUをデバッグするように設計されています。これは期間限定の生産ボードであり、残りの少数が売り切れた後は生産されません。

$67 $8 US Shipping / $18 Worldwide

利用不可

チームについて

[画像]

Sutajio Kosagi

シンガポール · kosagi.com

Sutajio Ko-usagiは、bunnieとxobsによって設計されたオープンハードウェア製品をサポートおよび製造しています。

[画像]

Sean Cross

[画像]

Crowd Supplyのニュースレターを購読して、最新のクリエイターとプロジェクトをご覧ください