接口:AXI4 - full + 自定义
vivado:2018.3
基础逻辑(RTL IP):
IP主要是一组hdl代码、方针文件、设计参考、文档的集合,简单来理解的化,block design里可以直接划线链接的块块。所以最精简的步骤,就是定制接口,调配参数,实现逻辑,然后封包。
新建:
Tools->Create and package new ipAXI4有独立的配置项,选择这个
按需配置
这里按需配置所需的AXI接口声明
注意:不要纠结Data width不能选
其他的接口在ip配置里可以搞edit IP
finish
实现与配置:
左侧相关源文件按需即可,注意保持top不变。top里可以按需增加参数、接口以及做实现。参考数字转位宽参数用法(32 = 2^5 -> 5)
function integer clogb2 (input integer bit_depth);
begin
for (clogb2 = 0; bit_depth > 0; clogb2 = clogb2 + 1)
bit_depth = bit_depth >> 1;
end
endfunction
localparam integer C_DBYTES = clogb2(C_M00_AXI_DATA_WIDTH / 8 - 1);选配兼容的芯片方案
这里可以配置参数的合法取值范围,双击编辑
还记得前边说32不能选的问题不,在这里可以编辑DATA_WIDTHList里按需添加即可
这里是接口配置页面了
注意,如果需要其他的标准接口描述,可以这里添加并绑定。新增接口
每个标准借口都有自己的定义名字,这里可以按需选择匹配。re-package ip完成打包
引用&修改:
左侧PROJECT MANAGER面板的IP INTEGRATOR,操作区Add repo增加用户目录
如果需要修改的化,右键Edit in ip packager可以重新打包,行为上是新建了一个临时项目,可以重新编辑和打包保存。block design新增自定义IP
Done
参考