技術屋卵の足跡

いつか振り返ったときにどれだけ這いずり回ったかを確認したい

CYC1000のピン配置ともろもろ

簡単なレビュー

今回はこのFPGAボードに対するレビューをしたいと思っていたけれど、初めてのFPGAボードだし"動いた!"以上の感想もなければ他と比較できるほどの知識も持っていないので、サイズ感などさしあたり問題ない部分だけレビューしてみる。

この木々のたどり着くような人なら持っているであろうRaspberryPI ZeroWとのサイズ比較はこんな感じ。

f:id:pfpfdev:20200406120059j:plain
RasPi Zero vs CYC1000

ちょうどRasPiよりも一回り小さいくらいで、USB Blaster付きのFPGAボードとしては最小クラスなのかなと。*1

このボードには次のような部品が載っているらしく、予め書き込まれていたプログラムではだいたいの動作が確認できた。

  • 8MB SDRAM 166MHz -> Referenceデザインにはピンが定義されているから使われてそうだけど外からはわからない
  • 3軸ジャイロセンサー -> 傾けるとLEDがそれに応じて光るモードがあった
  • 8個の赤色LED -> 何パターンか光る
  • プッシュボタン -> LEDの点灯パターン切り替え

予め書き込まれていたプログラムではNiosIIを使っているらしいので、CPUも実装できることも保証されていそう。 とりあえず前回書いたような、FPGAボードに求めることはすべてできそうなので問題はなさそう。

いかんせん情報源が少ないので、公式のWikiを読むかリファレンスデザインを読むかしないと行けないけれど、FPGA初心者にはわからん用語もあったり、そもそもQuartus自体も全機能把握できていないのでいろいろと試行錯誤しながら開発しないといけなさそう。

ピン配置

ArduinoやRaspberryPiだとピンの配置がよくわかる画像があるけれど、CYC1000はピンアウトとの対応が乗っているやつとかなくて、不便に思ったのでピンの配置だけ抜粋してみる。

LEDとボタン、GPIOピンは以下の写真参照。

f:id:pfpfdev:20200407192121p:plain
CYC1000 Pinout

SDRAMやUARTもリファレンスデザインでは次のようにマッピングされている。 ココらへんはまだ触ってないのであとから検証した記事を出す予定。

Pin name Mode Address(ex. Bank 1,Pin A1 ->B1_A1)
sdram_addr[11] Output B8_N0
sdram_addr[10] Output B8_N0
sdram_addr[9] Output B8_N0
sdram_addr[8] Output B8_N0
sdram_addr[7] Output B8_N0
sdram_addr[6] Output B8_N0
sdram_addr[5] Output B8_N0
sdram_addr[4] Output B8_N0
sdram_addr[3] Output B8_N0
sdram_addr[2] Output B8_N0
sdram_addr[1] Output B8_N0
sdram_addr[0] Output B8_N0
sdram_ba[1] Output B8_N0
sdram_ba[0] Output B8_N0
sdram_casn Output B8_N0
sdram_cke Output B8_N0
sdram_clk Output B7_N0
sdram_csn Output B8_N0
sdram_dq[15] Bidir B7_N0
sdram_dq[14] Bidir B7_N0
sdram_dq[13] Bidir B7_N0
sdram_dq[12] Bidir B7_N0
sdram_dq[11] Bidir B7_N0
sdram_dq[10] Bidir B7_N0
sdram_dq[9] Bidir B7_N0
sdram_dq[8] Bidir B7_N0
sdram_dq[7] Bidir B7_N0
sdram_dq[6] Bidir B7_N0
sdram_dq[5] Bidir B7_N0
sdram_dq[4] Bidir B7_N0
sdram_dq[3] Bidir B7_N0
sdram_dq[2] Bidir B7_N0
sdram_dq[1] Bidir B7_N0
sdram_dq[0] Bidir B7_N0
sdram_dqm[1] Output B7_N0
sdram_dqm[0] Output B7_N0
sdram_rasn Output B8_N0
sdram_wen Output B8_N0
spi_g_sen_clk Output B1_N0
spi_g_sen_csn Output B1_N0
spi_g_sen_miso Input B1_N0
spi_g_sen_mosi Output B1_N0
uart_rxd Output B3_N0
uart_txd Input B3_N0

ここまでの情報は、以下のソースを基に作ったけど、誤植の責任は負いません。

ネットで情報を得るときは"CYC1000"よりも"TEI0003-02"という型番のほうがおいしい情報にアクセスできる気がする。

参考

wiki.trenz-electronic.de

*1:選定時に見た他のFPGAボードの印象