PowerPC CCR0  – 核心配置寄存器和复位值的使用-Altera-Intel社区-FPGA CPLD-ChipDebug

PowerPC CCR0 – 核心配置寄存器和复位值的使用

问题描述

我想修改我的PowerPC内存系统功能。我想为我的系统配置核心配置寄存器(CCR0)。

在进行修改时我应该注意什么?CCR0的复位值是多少? “复位和初始化”一章中“复位时弹出的内容”表中的“PowerPC处理器参考指南”中存在差异,该表指出复位时CCR0被分配为0x00700000。但是,“按名称排序的专用寄存器”,“按SPRN排序的专用寄存器”和“寄存器摘要”附录中的“按SPRF排序的特殊用途寄存器”表说明其复位值未定义。哪个值是正确的?

解决/修复方法

Xilinx建议使用0x50700000作为CCR0寄存器的复位值。从EDK 8.1i开始,引导代码将CCR0寄存器的复位值设置为0x50700000(这仅适用于Virtex-4)。

上述复位值设置CCR0如下:

BITNumber名称功能

位0:5保留

位6 LWL加载字为线路设置为0 – 仅加载请求的数据

位7 LWOA Load No Allocate设置为0-Allocate

位8 SWOA Store No Allocate设置为0-Allocate

位9 DPP1 DCU PLB优先级位1在位1上设置为1-DCU PLB优先级1

位10:11 IPP ICU PLB-优先级位0:1设置为03-最高PLB请求优先级

比特12:13保留

Bit 14 U0XE使能U0异常设置为0-禁用

位15 LDBE加载 – 调试启用设置为0 – 加载数据在数据端OCM上不可见

比特16:19保留

可缓存区域的位20 PFC预取设置为0 – 禁用

位21 PFNC预取非可缓存区域设置为0 – 禁用

位22 NCRS非可缓存请求大小设置为0 – 请求大小是四个字

位23 FWOA Fetch Without Allocate设置为0-Allocate

比特24:26保留

位27 CIS缓存信息选择设置为0 – 信息是缓存数据

比特28:30保留

位31 CWS Cache-Way Select设置为0-Cache方式为A.

有关更多信息,请参阅PowerPC处理器参考指南:

http://www.support.xilinx.com/xlnx/xweb/xil_publications_showall.jsp?sGlobalNavPick=&sSecondaryNavPick=&category=-1209828&iLanguageID=1

转至存储器 – 系统管理 – >高速缓存控制 – >核心配置寄存器中的“核心配置(CCR0)寄存器字段定义”表。

通过修改此寄存器,Xilinx未发现任何性能改进,建议对所有系统使用复位值。如果您的系统要为描述符和数据执行高速缓存行事务,请在可高速缓存的内存中包含描述符和数据区域,然后在写入之后或读取之前刷新区域。

有关如何刷新缓存的使用信息,请参阅位于以下位置的EDK安装中的XCache_Flush函数:

%Xilinx_EDK%\的sw \ lib中\ BSP \ standalone_ <CURRENT_VERSION> \ SRC \ PPC405 \ xcache_l.h

%Xilinx_EDK%\的sw \ lib中\ BSP \ standalone_ <CURRENT_VERSION> \ SRC \ PPC405 \ xcache_l.c

该解决方案仅需要应用于其中PPC405的PVR(处理器版本寄存器)具有值0x20011430的硅。 PPC405具有0x20011470的PVR的硅不需要解决(即,CCR0可以保留在原始复位值)。所有生产硅都有PPC405,PVR为0x20011470。

根据此信息,可以修改引导代码以将CCR0复位值更改为0x50700000。

请登录后发表评论

    没有回复内容