紧接NIC400生成Flow全解析十一GPV接口配置part1讲述GPV配置ASIB/IB/AMIB部分内容。3. ASIB配置寄存器介绍每个ASIB可以配置如下信息配置时钟关系(sync_mode)当2个clock domain之间配置为Programble时可以配置ASIB和下游时钟cross clock domain时两个clock之间的关系。配置是否开启Bypass merge模式(fn_mod2)配置ASIB接口开启或关闭data size upsize/downsize的转化。仅当ASIB接口处存在data位宽的upsizing或downsizing时该配置才生效。以upsizing为例将小位宽的长burst转化为大位宽的短burst以减少总线传输的拍数降低系统动态功耗。upsizing转换仅对可Cacheable的读、写事务执行写数据打包Upsizing 只支持 1:2 / 1:4 / 1:8 位宽放大。Exclusive 事务一旦被互联拆分独占属性直接丢失总线协议硬约束。响应合并时DECERR SLVERR多个错误只报优先级高的为什么只有cacheable的数据才可以合并或者拆分呢?Cacheable合并数据提高效率Non-cacheable禁止合并保证事务语义不被修改配置AHB的E.E.W.R和Allow Burst Brocken开启任意一项或两项都选时是否可以实时终止AHB读写事务转化协议时的merge操作(fn_mod_ahb)rd_incr_override强行将所有 AHB 读事务转换为一系列 AXI 单拍事务。wr_incr_override强行将所有 AHB 写事务转换为一系列 AXI 单拍事务每一拍 AHB写都会通过 AXI 写响应确认。配置是否可以产生long burstfn_mod_lb配置在ASIB接口downsizing时是否需要把长的burst拆为短的burst(与upsize相反downsize把大位宽数据转化为小位宽数据burst长度理应变长)。该配置只有在downsize的ASIB接口才有效。配置开启wr_tidemark情况下WFIFO的水线深度wr_tidemark当开启wr_tidemark选项时AXI写地址和数据通道的address data 都ready才可以发送到switch 进行仲裁。以免地址准备好了数据一直没有准备好导致占用带宽。可以通过GPV配置该bit位进而修改WFIFO的水线深度以灵活控制wr_tidemark feature。读通道和写通道QoS值配置read_qos/write_qos若Qos的配置在GUI界面中配置为Programble类型的则Qos值可以通过GPV进行配置。配置读写通道的Outstanding Issue能力为1fn_mod可以通过GPV强硬将Ost能力限制为1不让端口发送读或写的OutStanding设置。该配置在ASIB上出现upsizing或者downsizing的情况或者通道上存在FIFO的情况下使用。4. IB配置寄存器介绍此处仅介绍与ASIB不同之处。配置IB前级的读写通道的Outstanding Issue能力为1fn_mod_bm_iss该寄存器仅在IB直连switch时存在。该寄存器会将前一级switch仲裁机制的ost发送能力限制为1。当2个clock domain之间配置为Programble时可以配置ASIB和下游时钟cross clock domain时两个clock之间的关系sync_mode配置是否开启Bypass merge模式(fn_mod2)配置是否可以产生long burstfn_mod_lb配置开启wr_tidemark情况下WFIFO的水线深度wr_tidemark配置AHB接口在接收到非对齐地址或者接收到写数据且strobe非全部为1的数据包时是否返回DECERR类型的resp。ahb_cntl由于AXI支持非对齐传输其可以通过WSTRB进行地址选通操作完成非对齐传输。而AHB只能支持对齐传输。因此当AXI的Master采用不对齐传输的形式访问AHB域的Slave时只能强硬把非对齐传输包转换为对齐传输进行。比如AXI Master发送如下不对齐传输AWADDR0x0001AWSIZE32bitsWDATA0x5A5A_5A5AWSTRB0xE或者AWADDR0x0000AWSIZE32bitsWDATA0x5A5A_5A5AWSTRB0xE也就是说该访问不会覆盖0x0000地址。由于AHB不支持非对齐访问的特性上述2种传输转到AHB域的行为是HADDR0x0000HSIZE32bitsHWDATA0x5A5A_5A00 。这样有一个问题从AXI转到AHB后原本未写的0x0000地址被写了一个0x00进去。从而导致数据错误问题。因此可以采取如下措施解决该问题AXI 主机访问 AHB 从机时不可发起写选通信号 WSTRB 存在0bit的写操作。比如WSTRB 为 0110 的单次 32 位事务而应拆分为两次 8 bits事务再发送到AHB总线。个人认为总线理论上可以解决但是为了简化设计而放弃对不对其传输的兼容性或者通过GPV开启ahb_decerr选项对AXI的不对齐传输进行检测并返回decerr。配置读写通道的Outstanding Issue能力为1fn_mod仅当进行data width upsize / downsize情况下或任意通道开启FIFO时该寄存器才有效。配置使能会限制IB的ost发送能力为1。此处与fn_mod_bm_iss不同之处在于一个限制IB前级switch的发送能力一个限制IB自身的发送能力。5. AMIB配置寄存器介绍每个AMIB可以配置如下信息配置IB前级的读写通道的Outstanding Issue能力为1fn_mod_bm_iss当2个clock domain之间配置为Programble时可以配置ASIB和下游时钟cross clock domain时两个clock之间的关系sync_mode配置是否开启Bypass merge模式(fn_mod2)配置是否可以产生long burstfn_mod_lb配置开启wr_tidemark情况下WFIFO的水线深度wr_tidemark配置AHB接口在接收到非对齐地址或者接收到写数据且strobe非全部为1的数据包时是否返回DECERR类型的resp。ahb_cntl配置读写通道的Outstanding Issue能力为1fn_mod配置内容可以参考ASIB和AMIB部分含义。