block構成

block 別使用率

使用率の値はコンパイルごとに微妙に変わりますのでおおまかな目安としてください。

flow

name logic cells RAM
M68k Area 3,742 (20%) 66,624 (28%)
Sound Area 4,709 (25%) 5,376 (2%)
V30 Area 266 (1%) 0 (0%)
Video Area 1,681 (9%) 37,476 (16%)
signaltap 658(4%) 13,824 (6%)
その他 599(3%) 0 (0%)
11,655 (62%) 123,300(51%)

irem_m72.map.rpt (前半だけ抜粋)

block 構成概略

M68K area

CPU TG68 を中心としたブロックで下記の機能を持ちます。
  • CPU core (TG68)
  • TG68 Memory Map + interrupt interface
  • RS232C driver
  • internal clock counter (timer)
  • Bootup RAM (初期値付き RAM)

使用率において RAM が多い理由は Bootup RAM の関係で 0x1000 word x16bit の RAM を持つためです。Bootup RAM は割り込みベクタと file system driver がプログラム領域として 3/4 を使い、残り 1/4 をスタックやグローバル変数として利用してます。

Sound Area

CPU tv80n とサウンドデバイスを中心としたブロックで下記の機能を持ちます。
  • CPU core (tv80n)
  • YM2151 core (fmm)
  • Z80 memory map + interrupt interface
  • Sample data controller
  • Sound mixer

logic cell の大半は tv80n と fmm が使用し、2つのモジュールは共に 2200 程度使用しています。

少し話がそれますが、M72 での Z80 は memory map 全て (0x10000 byte) が RAM のため、FPGA 内部 RAM ではまかなえないサイズのため外部の SRAM を利用しています。一般的なアーケード基板(M72 以降の IREM 基板も含む)での Z80 memory map は ROM と RAM になり、 RAM の容量はとても小さく 0x800 byte 程度が普通なのでこの場合は FPGA 内部に持たせられます。

最新の Cyclone シリーズは内部 RAM が多くなっていますので、0x10000 byte が内部 RAM でまかなえないというのは時代遅れになっているかもしれません。

V30 Area

V30 のインタフェースを持ちます。実CPU は FPGA の外にあります。
  • V30 memory map + interrupt interface
  • V30 timing controller

V30 area 自体は小さいですが、 Video の一部と見なしても良いかもしれません。
timing controller は役目は外部にある CPU との setup/hold time の調整が主な役割です。

Video

  • shared VRAM bus controller
    • color RAM + buffer
    • sprite RAM + buffer
    • SDRAM controller + bus scheduler
  • Video renderer
    • timing generator
    • sprite layer renderer
    • scroll layer renderer x2 (bg)
    • 3 layer mixer

logic cell の 2/3 は video renderer となり、その中でも spriter renderer が大きいです(ただし 408 logic cell)。

全体的に RAM が多いのは CPU から見える RAM 以外にも内部処理用としてバッファを何重にも必要とするためです。これらの RAM サイズは小さい物が各ブロックにそれぞれ配置されている状態です。

signaltap

デバッグ用で、なくても機能します。(抜き忘れているだけ)

その他

FPGA 外部の RAM やその他実デバイスのタイミング調整を行います。また 3 つの CPU のバスの切替えもここで行い、実デバイスへ接続します。
  • Sound dac spi interface
  • Memory controller (SDRAM は Video にあるので除く)
    • flash memory
    • DE1 SRAM
    • 外部 SRAM
  • Memory bus multiplexer
  • Playstation input device interface
  • SD card SPI interface
  • LED manager

  • 最終更新:2014-12-29 06:26:11

このWIKIを編集するにはパスワード入力が必要です

認証パスワード