Xilinx FPGA向けCortex-M1を合成してみた

Pocket

arm Cortex-M1(Cortex-M0をFPGA向けに最適化したコアらしい)がXilinx FPGAで無償で利用できるという話をきいたので,試してみました.

リソースは,Easy Access to Cortex-M Processors on FPGA からアクセスできる.

XC7A35向けの合成で,リソース使用量は,

  • Slice LUT 3481 (16.7%)
  • Slice FF 2814 (6.8%)
  • Slice 1171 (14.4%)
  • BlockRAM 24 (48%)
  • DSP 3 (3.3%)

という結果.HCLKという動作クロックっぽいポートには100MHzが供給されていた.

MicroBlazeは,テンプレートで作ったササンプルデザインで,最適化オプションがPERFORMANCEで1405 Slice,最適化オプションがAreaで316 Sliceなので,Cortex-M1のリソース使用量は,その間くらいに当たるよう.

配置配線のフロアマップは下の通り.

ピンクと黄色が提供されているCoretex-M0コア全体で,黄色は,コアのカーネル部分.

ARMのソフトウェア資産がある,とか,ARMで作ってたシステムをFPGAに置き換える,とかいうときに便利なんだろうなあ.