Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Zynq MPSoCはメンターのエミュレータで検証された?


XilinxのGitHubをいろいろと眺めていたら、見つけた。

どうやら、Zynq MPSoCはメンターのエミュレータVeloceで検証されたようだ。

ARM Trusted Firmwareplat/xilinx/zynqmp/aarch64/zynqmp_common.cの関数の中を見ると、
	switch (ver) {
	case ZYNQMP_CSU_VERSION_VELOCE:
		label = "VELOCE";
		break;
	case ZYNQMP_CSU_VERSION_EP108:
		label = "EP108";
		break;
	case ZYNQMP_CSU_VERSION_QEMU:
		label = "QEMU";
		break;
	case ZYNQMP_CSU_VERSION_SILICON:
		label = "silicon";
		break;
	}

のように、
 ・EP108   (これは開発ボード)
 ・QEMU    (ソフトウェアエミュレータ)
 ・SILICON  (実チップ)
 ・VELOCE   (たぶん、これはメンターのエミュレータ)

UARTのクロック周波数の関数(zymqmp_get_uart_clk)の戻り値を見てみると、
実チップの1/500。
    uint32_t zynqmp_get_uart_clk(void)
    {
	uint32_t ver = zynqmp_get_silicon_ver();

	switch (ver) {
	case ZYNQMP_CSU_VERSION_VELOCE:
		return 48000;
	case ZYNQMP_CSU_VERSION_EP108:
		return 25000000;
	case ZYNQMP_CSU_VERSION_QEMU:
		return 133000000;
	}

	return 100000000;
    }
}

Zynq UltraScale+ MPSoC 概要によると、Cortex A53の最大周波数は1.5GHzなので、3MHz程度で動いているのですね。

最初のZynqの時は、確か、ケイデンスのシステムだった気がする。