Vivado开发工具熟悉之Create custom IP

今天突然想继续写点东西,想起来年前最后一篇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是没有给模板的需要自己实现,我这次的项目就自己实现了AXI_FULL总线访问DDR3控制器IP的接口,其实和在FPGA逻辑下些类似,参考的是AMBA® AXI Protocol specification;AXI_STREAM我没用到,他是无地址的数据传输,类似FIFO,感觉用处不大,不如直接逻辑里面来实现。

其次对于自建IP核的封装,这里我推荐的方式是给源代码建立工程,然后在用vivado create and package IP,然后选择Package your current project,这样比用哪个create new简洁方便一些。自建IP的方式可以对代码进行更好的封装,提高了代码的重用效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值