SlideShow是xilinx网站上提供的针对XUPVIIP用于显示CF中BMP的EDK例子。这个例子中提供一个IP Core plb_tft_cntlr_ref_v1_00_d,用于将缓存于DDR中的BMP显示在CRT或LCD上。这个core和系统的连接如下:
PPC
||
\/
DDR<=PLB=>PLB2OPB=>OPB=>OPB=>OPB2DCR=>DCR=>plb_tft_cntlr_ref
/\ ||
|| \/
<=======================================
plb_tft_cntlr_ref通过DCR控制,然后以PLB master的方式访问DDR。
DCR的地址线是10bit,OPB的地址线是32bit,在OPB2DCR中OPB地址线的20 to 29(OPB地址线是0 to 31)映射到DCR的10bit地址线上。
MHS文件中plb2opb_bridge要如下写:
BEGIN plb2opb_bridge
PARAMETER INSTANCE = plb2opb
PARAMETER HW_VER = 1.01.a
PARAMETER C_DCR_INTFCE = 1 #DCR的地址范围在C_RNG1_BASEADDR
PARAMETER C_NUM_ADDR_RNG = 2 #该核有两个地址范围RNG0 RNG1
PARAMETER C_RNG0_BASEADDR = 0x40000000
PARAMETER C_RNG0_HIGHADDR = 0x7fffffff
PARAMETER C_RNG1_BASEADDR = 0xD0000000
PARAMETER C_RNG1_HIGHADDR = 0xD0000FFF
BUS_INTERFACE SPLB = plb
BUS_INTERFACE MOPB = opb
END
连接到DCR总线上的IP Core地址如下:
BEGIN plb_tft_cntlr_ref
......