关于AMBA的笔记3(哥,断奶了)
- 格式:doc
- 大小:190.50 KB
- 文档页数:6
本文源于 哥,断奶了 在学习中做的笔记,希望分享后大家一起学习讨论。
2013/4/27
GRLIB IP Core User’s Manual
GBLIB IP 核用户手册(AMBA总线部分)
一.AHBCTRL - AMBA AHB控制器,支持即插即用
1.1 overview(概述)
根据AMBA2.0标准AMBA AHB控制器的组合包括AHB仲裁器、总线多路复用器和从解码器。
该控制器支持多达16个AHB的master,16个AHB的slave。Master和slave的最大数量定义在GRLIB.AMBA包,在VHDL常数NAHBSLV的和NAH BMST。它也可以通过设置nahbm nahbs VHDL generics。
1.2 operation(操作)
1.2.1 arbitration(仲裁器)
AHB控制器支持两个仲裁算法:固定优先级和循环配置资源。这个选择是通过VHDL generic rrobin决定的。在固定优先级模式(rrobin= 0),总线请求的优先级等于主总线指数,指数为0的优先级最低。如果没有master请求总线,master0(由VHDL generic defmast的设置)将被授予。
在循环配置模式下,优先旋转1步后,每个AHB传输。如果没有master请总线,最后的所有者将被授予(bus parking)。VHDL generic mprio的可以可以用来指定一个或多个master时,应优先配置core为循环模式。
在递增突发下,AMBA 2.0规范建议master保持总线请求直到最后一次访问结束,不然他会失去总线所有权。 对于固定长度突发,这个AHB master将被授予总线知道整个突发完成,或者在第一次访问之后立即释放总线请求。然而对于这项工作的,VHDLgeneric fixbrst的应该被设置为1。
1.2.2 decoding(解码器)
slave解码器(一代的HSEL)在这个用户手册中是使用即插即拔的方法在这个用户手册中。一个slave设备能占用任意二进制对齐的地址空间在1 - 4096兆字节中。在slave能占用256 byte - 1 Mbyte这个特殊的i/o区域被解码。I
/ O区域的默认地址是0xFFF00000,但可以改变ioaddr and iomask VHDL
gener-ics,未使用的地址的访问将导致AHB错误响应。
I / O区域可以放置一个slave占用的存储区域,但这个区域被访问这个slave将不会被选择。
1.2.3 Plug&play information(即插即用信息)
GRLIB器件包含一个即插即用信息,这个即插即入信息包含在AHB记录他们在总线上的驱动(看 GRLIB user’s manual 得到更多信息)。在这些记录被合并到一个连接AHB控制器单元数组中。
即插即用信息被映射到一个只读的地址区域,被cfgaddr and cfg-mask VHDL
generics定义,结合 ioaddr and iomask VHDL generics。默认情况下,该地区的映射地址0xFFFFF000 - 0XFFFFFFFF。master信息被放置在第一个2字节的块(0xFFFFF000 - 0xFFFFF800),slave信息被放置在第二个2字节的块。每个单元占32字节,也就是说该区域又64个master和64个slave。通过其总线索引这个即插即入的地址为一个目标单元定义。
1.3 AHB split support(支持 AMB split)
当split VHDL generic设置为1时支持AHB SPLIT功能,在这个情况下,所有的slave 必须驱动AHB SPLIT信号。
重要的是要落实slave的split功能,因此请仔细锁定,否则容易导致死锁。一个锁定访问slave,这是目前处理的访问,它返回SPLIT时另外一个master必须先处理。这意味着slave必须是能够返回一个OKAY响应立即锁定的访问,或将其分割,而返回分割必须在完整的master传输完整在它完成了接收的SPLIT的第一接入之前。
1.4 Locked accesses(锁定访问)
GRLIB AHB控制把HLOCK接入一个特定的访问。如果前一次的访问由主收到一个SPLIT/RETRY的的响应,然后仲裁器将忽略的当前HLOCK值。如果这样做而不是总是处理HLOCK作为有效的下一次访问,这可能会导致先前的非锁定访问被视为被锁定在它重试的时。考虑下面的序列:
T0: MSTx write 0 T1:HLOCK 断定下一次访问 master 将被锁定。
T2:MSTx 被锁定为读。
如果(the non-locked)被写0访问在T0接受RETRY or SPLIT的响应(在T1时间),然后进行下次访问可能会被重写0。在这种情况下,仲裁器将忽略的的HLOCK设置和重试的访问不会有HMASTLOCK的设置。
1.5 AHB bus monitor(AHB总线监控)
AHB总线监控被集成到这个核中。它是能enbusmon generic。它具有相同的功能作为AHB和仲裁器在这个监控core。想了解更多信息可以看规则检查本身的AMBAMON文档。
1.6 registers(寄存器)
这个核不实施任何寄存器。
1.7 Configuration options 配置选项
这个是重点内容,所以我用粉色字标志,这块说明了ip核的配制方法和配置选项。
Generic Function
(功能) Allowed range
(作用范围) Default
(默认)
ioaddr The MSB address of the I/O area. Sets the 12
most sig-nificant bits in the 32-bit AHB address
(i.e. 31 downto20)
在I / O区域中,该MSB地址设置了12个最显着位在32位AHB地址中(即31 downto20)。 0 - 16#FFF# 16#FFF#
iomask The I/O area address mask. Sets the size of the
I/O area and the start address together with
ioaddr.
I / O区域地址掩码。设置I / O区域的大小和起始地址与ioaddr一起。 0 - 16#FFF# 16#FFF#
cfgaddr The MSB address of the configuration area. Sets
12 bits in the 32-bit AHB address (i.e. 19 downto
8).
这个MSB地址在配置区域。设置12位在32位AHB地址中(即19 downto 8) 0 - 16#FFF# 16#FF0#
cfgmask The address mask of the configuration area. Sets
the size of the configuration area and the start
address together with cfgaddr. If set to 0, the
configuration will be dis-abled.
地址掩码配置区域。设置配置区域的大小和起始地址与cfgaddr一起。如果设置为0,则配置将被禁止。 0 - 16#FFF# 16#FF0#
rrobin Selects between round-robin (1) or fixed-priority
(0) bus arbitration algorithm.
循环配置(1)固定优先级(0)总线仲裁算法之间选择。 0 - 1 0
split Enable support for AHB SPLIT response。
使能AHB SPLIT响应支持。 0 - 1 0 Generic Function
(功能) Allowed range
(作用范围) Default
(默认)
defmast Default AHB master:默认AHB master 0 - NAHBMST-1 0
ioen AHB I/O area enable. Set to 0 to disable the I/O
area。AHB I / O区启使能,设置为0以禁用I /
O区域。 0 - 1 1
nahbm Number of AHB masters:AHB master数目 1 - NAHBMST NAHBMST
nahbs Number of AHB slaves:AHB master数目 1 - NAHBSLV NAHBSLV
timeout Perform bus timeout checks (NOT implemented)
执行总线超时检查(未实现) 0 - 1 0
fixbrst Enable support for fixed-length bursts.启用支持固定长度突发 0 - 1 0
debug Print configuration (0=none,1=short, 2=all cores)
映射配置(0 =无,1=短,2 =所有核心) 0 - 2 2
fpnpen Enables full decoding of the PnP configuration
records.When disabled the user-defined registers
in the PnP con-figuration records are not mapped
in the configuration area.
在PnP配置记录中使能全部解码,当禁用这个用户寄存器时在这个PnP配置记录中是不能被映射在配置区域。 0 - 1 0
icheck Check bus index.检查总线索引 0 - 1 1
devid Assign unique device identifier readable from
plug and play area.分配唯一设备标识符从即插即用区读取 N/A 0
enbusmon Enable AHB bus monitor使能AHB总线监控 0 - 1 0
assertwarn Enable assertions for AMBA recommendations.
Viola-tions are asserted with severity warning.
启用断言AMBA建议,违反断言严重警告。 0 - 1 0
asserterr Enable assertions for AMBA requirements.
Violations are asserted with severity error.启用断言AMBA要求。违反断言严重性错误 0 - 1 0