打印
[Quartus]

AXI4Lite自定义IP

[复制链接]
2720|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cen00|  楼主 | 2012-11-7 22:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
GoldSunMonkey| | 2012-11-8 00:25 | 只看该作者
嗯?难道你没有那个例子?

使用特权

评论回复
板凳
cen00|  楼主 | 2012-11-8 10:15 | 只看该作者
哪个例子?指教一下!

使用特权

评论回复
地板
cen00|  楼主 | 2012-11-8 13:13 | 只看该作者
DS765中介绍:用户地址空间译码是通过定义在AXI4-Lite IPIF中的两个"地址范围定义(ARD)"数组参数,这些参数映射到VHDL的类属表中或者Verilog的参数中去.这两个类属名是C_ARD_ADDR_RANGE_ARRAY和C_ARD_NUM_CE_ARRAY.
C_ARD_ADDR_RANGE_ARRAY数组内定义来自处理器总地址空间的连续地址块为一个地址空间,用数组中一对元素来指定:第一个元素是块的起始地址(Base Address),第二个元素是块结束地址(High Address),地址是字节地址,元素的数据类型是std_logic_vector(0 to 63).地址对的值遵循三个规则:1.块大小(以字节计)必须2次幂(2, 4, 8, 16, 32, 64, 128, 256等等);2.起始地址必须是以块的倍数为边界;3.结束地址是等于起始地址加块大小减一.例如,连续块大小是2048字节,如果起始地址是0x00000000,那么结束地址就是0x000007FF.
C_ARD_NUM_CE_ARRAY数组内每个元素定义为对一个地址空间内片允许(CE)的数量,值是正整数的2次幂,每个地址空间最少必须指定一个片允许.地址空间被以数据宽度或32位一个片允许来细分并顺序指定.
由以上介绍知道:用户IP如有三个寄存器的地址空间,其连续地址块大小将是3X4等于12字节在C_ARD_ADDR_RANGE_ARRAY数组内,而对应C_ARD_NUM_CE_ARRAY数组内一个元素的值,也即对应地址空间的片允许数量是4(要满足2次幂);CIP精灵建立的AXI4-Lite用户IP最多是32个32位寄存器,片允许数量应是32,32X4,其地址空间范围就是128字节.问题:地址空间范围应该能大于128字节,也就是可以有多于32个寄存器可用,我如何修改我的用户IP能使用比32多的寄存器?

使用特权

评论回复
5
GoldSunMonkey| | 2012-11-8 21:52 | 只看该作者
专门有一个Axi4lite例子,你找一找。

使用特权

评论回复
6
GoldSunMonkey| | 2012-11-9 22:46 | 只看该作者
怎么没有回信?

使用特权

评论回复
7
cen00|  楼主 | 2012-11-12 09:12 | 只看该作者
没有找到例子.

使用特权

评论回复
8
GoldSunMonkey| | 2012-11-12 21:51 | 只看该作者
我现在有点找不着了。
反正是5个例子中的第三个。

使用特权

评论回复
9
GoldSunMonkey| | 2012-11-12 21:52 | 只看该作者

使用特权

评论回复
10
GoldSunMonkey| | 2012-11-12 21:52 | 只看该作者
不知道是PLB还是AXI4的,你自己看一下。

使用特权

评论回复
11
cen00|  楼主 | 2012-11-14 13:06 | 只看该作者
Thank you!

使用特权

评论回复
12
GoldSunMonkey| | 2012-11-14 18:42 | 只看该作者
:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

32

帖子

0

粉丝