AMBA总线
文章平均质量分 82
+徐火火+
这个作者很懒,什么都没留下…
展开
-
关于axi-slave模块的随机性
仅仅从item上来看有这几个随机的点:(1)时钟为高的时间、为低的时间;(2)一开始复位需要的delay时间(3)传输过程中复位需要的时间。(5)delay,分为两种,一种是写,这种delay一个burst只包含一个delay;时钟抖动的类型包含高斯分布、周期性抖动、随机分布、占空比失真抖动等。(6)strobe信号,这个信号的随机只存在于写操作中;(2)burst length,数据包长度;(4)传输类型,wrap,incr;(1)size,数据长度;(3)4kB地址对齐;原创 2022-10-19 11:22:49 · 400 阅读 · 0 评论 -
AMBA总线-结合axi-vip对axi4协议的理解2
wait_for_address_valid任务主要是等aw通道或者ar通道的valid信号;需要注意的是,这里分析需要把sample address任务和write_data_monitor_thread任务中的get_write_data_store任务一起分析。接下来看write_data_monitor_thread,整个任务主要执行的内容就是:(1)等写数据的valid(2)store为null的时候,拿store,也就是前面框架图中的任务(3)等ready信号(4)采集写数据。原创 2022-09-18 21:21:51 · 637 阅读 · 0 评论 -
AMBA总线-结合axi-vip对axi4协议的理解1
response_thread主要包含的内容是把外部的response_stores给到内部的store,内部的store调用store_response将相关的数据和response存储到store内部中,如果最后一个数据,需要调用store的pack_response,也就是最后一笔数据的时候,将store中华所有的response整合一下到item中去。对于pack_response是调用item中的put_response,如果是读操作的化,还会调用item中的put_data任务。原创 2022-09-15 16:14:39 · 1332 阅读 · 1 评论 -
AMBA总线协议-axi
对于id_write_fifo来说,将先进的id推出来(这个id是r_id),去检查buffer中对应地址的有效位是否为高,如果为高,那么就将数据送出去,并且id_write_fifo推出下一id。比如id为'b10,对于buffer的地址为3,在3地址的数据上写1,如果B通道的相应没有回来的时候,那么这个地址3的数据始终为1,只有回来的时候才会对这一位写0.而当地址3的数据为1,同时又来了一个id为'b10的命令,那么会反压master直到之前的那部分响应回来后才会接收这个数据。...原创 2022-08-12 21:35:27 · 2906 阅读 · 2 评论 -
AMBA总线协议-AHB协议的其他要点
在lock传输的最后一次的地址阶段,master就应该拉低hlock信号;hlock信号至少在lock传输的地址阶段的至少前一个周期拉高,以便arbiter能够在地址阶段开始时采样到hlock信号;仲裁器会授予主设备在lock传输周期之后(通过观察hlock信号)的一个额外的周期,保证最后一笔数据的data phase执行完毕才会授予另一个设备;4.default slave没有定义地址空间的slave,地址1kb对齐?和axi的4kb有什么区别?仅仅是范围大小的问题,和地址高位译码无关。...原创 2022-08-12 21:34:28 · 2738 阅读 · 0 评论 -
AMBA总线协议-结合AHB2APB桥设计及验证对AHB和APB协议的理解
此状态下下一拍就会进入setup状态(实际代码中这里写的是:如果pclken为1的话进入setup状态,但是需要注意的是,实际上pclken的逻辑是只要他不是idle状态他就为1,个人觉得加这个逻辑有点冗余。(2)当apb-slave返回的ready信号为1+pslverr为0的时候表示这次传输成功,再此基础上加上pclken+配置参数配置读数据需要寄存一拍时进入wait2状态;idle状态,wait1状态,setup状态,enable状态,wait2状态,error1状态,error2状态。...原创 2022-08-12 21:33:37 · 2790 阅读 · 1 评论 -
AMBA总线协议-结合ahb-master对ahb协议的理解
也就是说,对于写操作,hready拉低的那一拍,数据就可以放在总线上,而对于读操作来水,由于数据是由slave那一侧回来的,因此在这一拍拉低的时候是不能同一时间放在总线上,对于slave来说是在那高hready的那一周期同时将数据放到总线上,因此master要采集该数据的化需要等hready拉高的下一周期才可以将数据采集到。(1)将整个burst的数据传输分为三部分,也就是一个burst传输的第一拍,中间传输过程,burst传输的最后一拍(这种方式是我自己想的,比较笨,仅参考)。...原创 2022-08-03 20:27:35 · 1785 阅读 · 1 评论 -
AMBA总线协议-ahb总线互联结构结合协议的理解
随后将pending的split信号给到ready的split信号,这里或了一个ready的split信号目的在于记录原来处在split状态的但是数据还没准备好的slave的信息,由于一次只会有一个master工作,清除split的时候一次只能清除一个,因此需要将这个信息保留。这里需要注意is_split信号表示slave回应给master一个split的信号,表示于当前slave建立传输的master需要被mask,直到slave准备好数据(也就是将对应的req_mask变为0)。......原创 2022-08-03 19:14:31 · 649 阅读 · 0 评论