(以下是我在做IPCORE重构时遇到的问题,学识有限,可能有不对的地方)
最近在做自定义IPCore的重构,硬件平台XUPVIIP,软件环境9.1.02+EAPR+Planahead。
系统要求重构的IPCore有总线接口和BRAM接口,开始时想将IPcore挂在PLB总线上,但是发现PLB接口需要太多的总线宏,担心板子资源不够,就改在挂到OPB上。官方提供了OPB的总线宏socket,看了一下IPcore的地址是和Socket绑定,这个和我们系统要求不符,我们希望地址和自定义IPcore绑定,所以决定自己写opb的总线宏socket。我将opb接口的总线宏和BRAM接口的总线宏做到了一个IPCore中,名opb_bm。做的时候遇到一些状况,记录如下:
1、
2、
这个连载八个月没写了,思路已经接不上了,刚把以前的五篇看了一遍,好像是应该写用户自定义IPCORE了。
EDK作为开发基于FPGA的嵌入式系统的开发环境,可以对嵌入式系统中芯片内的软硬件同时进行设计开发。软件部分的开发设计和其他嵌入式开发环境很相似。硬件部分的逻辑设计功能好像是其它嵌入式开发环境所没有的吧。这部分功能体现在对已有IPCORE的操作和用户自定义IPCORE的设计。对已有IPCORE的操作之前写过了,这儿就不再写了。下面主要介绍用户自定义IPCORE。
设计用户自定义IPCORE的目的是用硬件逻辑完成一些EDK中没有提供的逻辑功能。比如系统需要通过视频处理芯片采集一张拍摄到的图像数据,用软件做速度一定是不够的,EDK中也没有提供类似功能的IPCORE,这样就只能用用户自定义IPCORE的方式解决数据采集的问题。用户自定义IPCORE与外部的接口应该是与EDK中提供的IPCORE相同的,这样才能添加到EDK中。
用户自定义IPCORE比较简单的编写过程是:
1、用EDK的向导(菜单“Hardware”->“Create and import peripheral
wizard”
