今天突然想继续写点东西,想起来年前最后一篇blog后还差一块vivado create custom IP基本上就完成了所有关于vivado开发工具的熟悉,有了这些之后基本上可以完整的通过vivado进行开发,包括传统的自顶向下手写HDL代码开发和现在兴起的异构FPGA IP核模块式开发。
下面具体描述一下关于create custom IP,这里首先参考一篇别人的bloghttp://www.fpgadeveloper.com/2014/08/creating-a-custom-ip-block-in-vivado.html,这篇blog不仅给出了利用vivado create and package IP模板工具进行AXI总线IP核开发的流程,并且有联合硬核(软核)SDK进行调试的流程,比较完整。因此对于封装AXI IP的流程这里我不再赘述,但是想说说关于Xilinx三种AXI总线的东西,首先AXI_LITE用的最多,其实主要功能是寄存器访问(自然是地址访问),vivado下可以自动生成模板,只需要在读写process下修改vhdl代码即可完成自己的设计,但是这里xilinx给出的模板比较臃肿,推荐还是自己写这里的逻辑(并不复杂,只要了解AXI协议即可),比如ADI的AXI_LITE IP核就是自己写的AXI总线接口逻辑;AXI_FULL一般用于大量数据访问(也是地址访问),比如DDR3接口,这里AXI_FULL的逻辑xilinx是没有给模板的需要自己实现,我这次的项目就自