2024年6月19日水曜日

spartan3をCPUから「slave serial mode」でconfigする(1)

近頃GBCばっかりupしているのでたまにはエレキの話題でも.

ArduinoでFPGAをprogramming(ISPとも言うかも)しようとしています.

よろず信号を扱う時には、ArduinoかSTM32のようなCPUで処理したいとは思うのですが、速度等の事情でどうしてもhardwareで自走してもらわなくちゃ成立しない場面がちょくちょくあります.
たとえばパラシリだったりシリパラだったり、それの同期を検出したりするにはFPGAじゃないと務まりません.CPUのperipheralでやれる事は限度があるので、同期検出まではCPUじゃ出来かねる...

そうゆう時はFPGAを使います.FPGA基板を中華通販で探すわけですが、どうも近頃は使いやすい物が無いんです.以下その事情を...

↓2015年頃に$23ぐらいで出回っていたSpartan3E250の基板は好きで何枚か買いました.でもこれは今は見つかりません.Spartan3がディスコンとも聞きますし.
↓あと、Spartan6のこんなてんこ盛り基板もかつて在りまして、¥2700とかでした.spartan6ともなるとgate数が巨大すぎて使いきれないし、基板サイズが巨大で使い勝手は悪かったので2枚ぐらい買ってその後はあまり使ってません.HDMIで使いました.
この投稿を書いているのは2024年なわけですが、コロナ騒動で半導体価格が上がった後遺症でかspartan6基板の価格は¥7000超えてます.¥500足らずのCPUの補器として使うFPGAが¥7000じゃやる気になりません.
↓gate数は小さいですが、cycloneII EP2C5T144 のこれは時価¥3500以上してます.高価すぎる.ALTERAはIDEが苦手だしなぁ.
↓もっと小型でFFが72個のXC9572基板は¥1000ぐらいですけど、gate数が小さすぎます.

というわけで、、、FF数が1000個ぐらいで価格¥1000~2000ぐらいの基板が中華市場に無いんです.なんてこったい・・・

仕方がないので、お好みなFPGAプリント基板を自作するかぁと思い、config ROMのXCF02などを調べると、中華で¥2000などとクレイジーな価格になっています.これも原因はディスコンのせいみたいです.config ROM買えません~

config ROMが市場から消えてしまって皆さんどうしているのかというと、今じゃWINBONDなどのserial FLASHが¥50とかゴミのような価格で売られているので、これを使っているんですね.
.bitをFLASHに焼いておいて、起動時にCPUがFLASH→FPGAへ流し込むというやり方.
さらには、spartan3E以降のFPGAではCPUを介さずに、FPGA自身がserial FLASHからbinaryを読んで自分を焼く仕組みになっているみたいです.なるほど、みんなそれを使うわけだわ.

FLASHの問題はクリアしたとして、FPGAは何を使うか?

↓中華通販で使えそうなのがこれ.XC3S50-4VQ100CはSpartan3の小容量品です.
0.5mm pitch 100pinなのでなんとか手ハンダでやれるレベル.
5ヶ買って¥2800だったので、@¥560は許す.
小容量とはいえFFは1500個載っているので容量的にも十分.
↓FPGA単体のプリント基板は作りました.動作確認は済んでます.ただしこれだとFLASHは載せてないので電源切ったら消えちゃいます.

↓FLASHとCPUの機能はこちらの基板をprogramしてるところ.去年の暮に火入れした投稿ではFLASHへのアクセスを確認しただけだったので、機能を強化してるとこ.

動作確認が済んだら、ATMEGA168+W25Qxxxの基板を作ると思います.

FPGA configバイナリをATMEGA168やATMEGA328の内部FLASHには置けないと思っています.
ISE projectフォルダ内の.bitファイル →56kB
ATMEGA328 FLASH →32kB  容量足りないよねぇ


かしこ

6 件のコメント:

  1. つかこれ、「塩分が電気分解して、変な化合物を生成」したりしないのかな?
    ※「食塩水」を、電気分解すると、「塩酸」と「水酸化ナトリウム」になります。
    (正確には、両者の中間の、変な化合物ですが。)
    まぁ、さすがに、その辺はちゃんと考えてるんだろうんけど。

    返信削除
  2. >容量足りないよ
    「ESP32」シリーズだと、
    ・数M級のROM
    積んでるから、余裕で置けます(笑)
    ※まぁその代わり「モジュールがデカい」「要らん機能(Wifi, BT とか)てんこ盛り」「値段がつり合わない」、とかありますが・・・
    「ESP32」を、メイン機能にする、ならばいけそうですが。

    返信削除
    返信
    1. ESPでかっ まさに航空母艦
      STM32もそれなりにFLASH載っていて 巡洋艦ぐらい

      削除
    2. しまかぜなんかがよいかと
      あ、艦これの話じゃなくて
      でかいだけなら大和がよろしいかと 燃費悪い設定

      削除
    3. ESPは電波ICなだけあって空飛ぶものが載っています

      削除
  3. 006P電池をペロっとなめるとけっこうピリピリするんですよね.山椒とかそっちの味覚に引っ張られそうだわ.

    水酸化ナトリウムも出ますよなぁ.石鹸みたいな味をお楽しみいただけます.

    う~む

    返信削除