LoginSignup
3
3

Tang Primer 25K + HUB75E

Last updated at Posted at 2023-12-09

25K LUTのGOWIN FPGAを搭載する格安ボード

Tang Primer 25K(Sipeed)が発売されました.
Tang Mega 138Kに続き,Sipeedは勢いがありまね(138Kはまともに動かないみたいだけど…).
138Kのチップを搭載する別なボードも,近々発売されるようです(138Kはまともに動かないみたいだけど…).

Primer 25Kについては,出たばかりなので まだ予断を許しませんが,今のところ特に不具合の報告もなさそうです.

Sipeedからは,幾つかのサンプルがGitHubに上がっています.
https://github.com/sipeed/TangPrimer-25K-example

  1. UART
  2. HDMI
  3. Litex(RISC-V)
  4. NES
  5. 7セグ
  6. HUB75E
  7. LCD
  8. LED

現時点で,確認できるサンプルは以上です.
今回は,この中のHUB75Eを使うので,上記リポジトリをクローンしておきます.

必要な機能はPmodで追加

周辺機能がてんこ盛りだった「Primer 20K+Dock」と異なり,「Primer 25K+Dock」はシンプルな構成となっており,そのぶん低価格です.
 Primer 25KのDockには3つのPmodポートが付いており,各々のユーザが必要な機能を追加できるようになっています.
 Primer 25Kの発売と同時に幾つかのPmod対応ボードが発売されており,今後SipeedはPmod製品を充実させていくのかもしれません.

64x64マトリクスLED HUB75Eに画像を表示(Show something on HUB75E)

 Exampleのプロジェクトを使い,任意の画像をマトリクスLED(HUB75E)に表示してみます.

ハードウェア(Hardware)

Tang Primer 25K

 当然のことながらFPGAボードが必要です.

HUB75E

 Tang Primer 25Kに,Sipeedで販売されているHUB75Eを接続します.
AliexpressのSipeedストアで販売されているHUB75Eには,Pmod経由で接続できるように,専用基板と配線(通信線,5V電源線)が付属されています(2)
https://www.instagram.com/p/C0EQUEVvur4/?igshid=MjJiNWQxZDI5Yg%3D%3D&img_index=1

5V電源

 HUB75Eには,64×64個のLEDが搭載されています.表示する内容(点灯内容)によりますが,MAXで1.8Aくらい流れるので,それなりの5V電源が必要です.

サンプル

 故障していないことを祈りつつ,まずはリポジトリに含まれているビットストリームを使って動作確認します.
pmod_hub75e/impl/pnr/HUB75E.fs
をTang Primer 25Kに書き込むと,次のようにSipeedのロゴが表示されます.
s.jpg

任意の画像を表示させる

 上記のプロジェクトは,HUB75Eの64×64個のLEDをダイナミック点灯させるものです.
表示する内容は予めメモリに格納されています.メモリとしては,GowinのIPである gowin_prom を利用しています.
 次に任意の画像を表示するため,サンプルのプロジェクトを改変しますが,まずは表示する画像を用意します.

変換

 任意の画像を, gowin_prom が読み込めるように変換します.
ここでは,画像 staba.bmp を使います.
pmod_hub75E/readme.md の中に,変換用のPythonスクリプトが書かれているので,これを適当なファイル名で保存します.
ここでは,translation.py としました.
読み込む画像は,スクリプト内にベタ書きしてあるので,適宜スクリプト内の該当の箇所(読み込むファイル名)を編集しておきます.
そして,このPythonスクリプトを実行します.

$ python3 translation.py > data.hex

画像データが変換された, data.hex というファイルができます.

HUB75Eのサンプル・プロジェクトを開く

 Gowin EDAで, pmod_hub75e/HUB75E.gprj プロジェクトを開きます.

IP Core Generator

 IP Core Generatorを起動します.
ipcg.png

pmod_hub75e/src/gowin_prom/gowin_prom.ipc を開きます.
open.png

prom.png

設定ダイアログが開くので,先ほど生成したファイルを指定します.
prom2.png
それ以外は,触る必要はありません.
src/gowin_prom/gowin_prom.v が自動で生成されます.
次のような形で表示するデータが保持されています.
data.png

合成すると,ビットストリームが生成されます.
(エラーが出る場合,Configuration - Dual-Purpose Pin - Use CPU as regular IO の設定を確認する)

書き込み

HUB75Eに書き込みます.
starbucks.jpg

あれ?特にHDLの話が出てこなかったぞ.
まぁ,何というか画像表示されちゃったし,致し方なし.

参考文献(References)

(1)Sipeed公式WiKi
https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html
(2)Aliexpress, Sipeed, Tang Primer 25K
https://ja.aliexpress.com/item/1005006224593018.html?spm=a2g0o.store_pc_groupList.8148356.1.4df223b3sWV7pj&pdp_npi=4%40dis%21JPY%21%EF%BF%A5%201%2C202%21%EF%BF%A5%201%2C202%21%21%218.23%218.23%21%40211b88ef17021398990884289e8070%2112000036357545337%21sh%21JP%212054787332%21
(3)Tang Primer 25Kの写真
https://fpga.tokyo/20231126/primer25k

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3