问题描述
关键字:PowerPC,EDK,OCM,ppc405_v1.00a,ppc405_v2.00b,ppc405_v2.00a
一般问题描述:
对于Virtex-II Pro PowerPC,如何从TIEISOCMDCRADDR和TIEDSOCMDCRADDR端口计算OCM-DCR寄存器的基址?
解决/修复方法
Virtex-II Pro PowerPC架构有两种类型的器件控制寄存器(DCR)接口:
1.处理器块垫圈中的内部器件控制寄存器
2. CoreConnect DCR总线外设中用户定义的器件控制寄存器
对于Virtex-II Pro器件,有两个功能单元包含属于第一类的器件控制寄存器:
A. DSCNTL,DSARC数据端OCM寄存器(DSOCM)
B.指令端OCM(ISOCM)的ISCNTL,ISARC,ISINIT,ISFILL寄存器
PowerPC中定义的DCR架构具有10位字对齐地址,TIEISOCMDCRADDR [0:7]和TIEDSOCMDCRADDR [0:7]定义[0:9] DCR地址上的第一个[0:7]位DCR地址空间。
例如,如果TIEISOCMDCRADDR [0:7] = 8’b 0000 0110(0x06),则DSOCM-DCR的基地址将为10’b 0000 0110 00(0x018)。
因此,ISINIT寄存器的地址= 0x018,ISFILL寄存器= 0x019,ISARC寄存器= 0x01A,ISCNTL = 0x1B
类似地,如果TIEDSOCMDCRADDR [0:7] = 8’b 0000 0111(0x07),则DSOCM-DCR的基地址将为10’b 0000 0111 00(0x01C)。
因此,DSARC寄存器的地址= 0x01C,DSCNTRL寄存器= 0x01D。
没有回复内容