跳转到主要内容

Agilex 5如何指定Boot Core及设定Core的运行频率?

Agilex 5 HPS拥有双Cortex-A55核和双Cortex-A76核。Cortex-A55主打能效,最高频率 1.5 GHz,适合作为对功耗敏感、或启动阶段负载较轻的引导核心。Cortex-A76主打性能,最高频率 1.8 GHz,处理能力更强,适合对启动速度或初始任务性能有要求的场景。

那么Agilex 5开发设计时如何根据需求指定Boot Core及设定Core的运行频率?

Agilex 5如何指定Boot Core

Agilex 5 HPS 的四个核心中,Core0/Core1 为 Cortex-A55,Core2/Core3 为 Cortex-A76。

在Quartus Platform Designer中打开HPS IP,进入HPS Clocks,Resets,Power 子窗口,通过Boot Core Selection下拉菜单选择Core0或Core2(仅Core0和Core2可作为Boot Core)。

注意:只有上面已勾选上电的核心才能被选为Boot Core。

Agilex 5如何设定Core的运行频率

Core运行频率的设定最简单的方法是在HPS IP的PLL Clocks界面直接修改频率:

当然,在修改频率之前要先查看当前您的FPGA器件上的Core的速度能支持多少。查看FPGA器件速度等级:
https://docs.altera.com/r/docs/762191/current/agilex-5-fpgas-and-socs-device-overview/part-number-decoder

比如DE25-Nano开发板,对应FPGA器件是A5EB013BB23BE4SCS, 速度等级是4,如果是修改Cortex-A76的速度,可支持到1400 MHz(如下表格参考https://docs.altera.com/r/docs/813918/current/agilex-5-fpgas-and-socs-device-data-sheet/hps-clock-performance)

如果想要某个core运行在某个频率,需要在修改该core频率后同步检查并调整 Main PLL 和 Peripheral PLL 的相关输出,因为它们分别是A76和A55核心的时钟源。

Main PLL:为 Cortex-A76 核心(Core2/Core3)提供时钟。其输出计数器 pll_main_c0 直接驱动 core2_clk 和 core3_clk。

Peripheral PLL:为 Cortex-A55 核心(Core0/Core1)提供时钟。其输出计数器 pll_peri_c0 驱动 core0_clk 和 core1_clk。

比如想要A76 core运行1400MHz,修改core频率为1400MHz后需要继续修改Main PLL Output 的VCO和C0的值分别为2800MHz和1400MHz。

文章来源:友晶科技