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器件速度等级:
Altera Documentation and Resources Center

比如DE25-Nano开发板,对应FPGA器件是A5EB013BB23BE4SCS, 速度等级是4,如果是修改Cortex-A76的速度,可支持到1400 MHz(如下表格参考Altera Documentation and Resources Center)

如果想要某个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。

往期阅读
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
答疑解惑 | FPGA开发板的FLASH固化(下载.pof文件)失败怎么办?JTAG降速解忧!
答疑解惑|Uboot阶段访问某个地址导致系统挂死(DE25-Nano开发板)(地址对齐)
答疑解惑|DE25-Nano的HPS端串口和USB Blaster III端口都是同一根物理线连接到PC,两个端口可以同时使用吗?
答疑解惑|为DE25-Nano开发板配置Linux kernel时.config文件没有起作用是什么原因?
答疑解惑|DE25-Nano开发板Image制作过程中编译U-Boot时提示 internal compiler error: Illegal instruction
答疑解惑|如何正确使用DE25-Nano开发板的J3口(external JTAG header)
答疑解惑 | DE25-Nano开发板串口在访问FPGA端外设LED时卡死,无任何反应
答疑解惑 | DE25-Nano开发板Uboot阶段与FPGA外设交互失败
【答疑解惑】如何临时解决带Nios II的FPGA设计在测试时遇到time_limited文件导致elf下载不了的问题