Arm DesignStart ProgramではCortex-M3も開放されており、こちらもRTLシミュレーション環境が用意されていた。
RTLシミュレーションができるようになったので、波形を観測してみよう。 ModelSimでGUIを立ち上げて、バスを観測する。
ModelSim IntelFPGA Starter EditionでGUIを立ち上げるためには、いくつか処置が必要なようだ。 以下を参考にした。
-64
を入れるとまだ不具合があるっぽい?ので32ビット版で立ち上げる。makeを使うと落ちるので、そのままコマンドを叩いてデザインを立ち上げた。
cd Arm_DesignStart/AT421-MN-80001-r0p0-02rel0/m3designstart/logical/testbench/execution_tb vsim -quiet -assertdebug -voptargs="+acc=blnr" tb_fpga_shield -gui
tb_fpga_shield/u_fpga_top/u_fpga_system/u_user_partition/u_iot_top/u_CORTEXM3INTEGRATION
が、Cortex-M3本体のようだ。そこからは、大きく分けて3種類のバスが出ているようだ。
- Cortex-M3 テクニカルリファレンス マニュアル Appendix A. 信号の説明
- ICodeインタフェース: 命名規則は
H*I
となる。HADDRI
など。 - DCodeインタフェース : 命名規則は
H*D
となる。HADDRD
など。 - システムバス インタフェース : 命名規則は
H*S
となる。HADDRS
など。
AHBのバスが出ているので、それをすべて出して観測した。TESTNAME=hello
を実行すると波形が表示される。
一応動作しているように見える。ただしデバッグする方法が無いので良く分からないけれども。。。
ちなみに、Cortex-M3のデザインの中身はこのように暗号化されている。 名前は全てReplaceされており、中身を垣間見ることはできなかった。