原创 基于OVM1.1的AMBA3.0 AXI SLAVE VIP

2008-9-17 22:26 14098 7 12 分类: FPGA/CPLD
基于OVM 1.1的AMBA3.0 AXI SLAVE VIP。经过大量的读写测试通过。



AXI_SLAVE_VIP包括三个部分,axi_slave_driver.sv , axi_slave_sequencer.sv,
axi_slave_agent.sv .
agent中包括了一个driver和一个sequencer,driver监测AXI_IF的信号,当在读写命令总线上监测到命令后,通过一个
ovm_analysis_port把数据包发送给sequencer,出发sequencer中的addr_ph_collect
事件。用户sequence可以监测这个事件,根据触发类型给出相应激励。



driver在如下情况下上报数据:

1/检测到AW总线上有新的写命令,并且此命令的写数据还没有接收到。送给sequencer一个axi_response包,valid标签为3'b001.

2/监测到W总线上有新的数据,并且此数据对应的写命令还没有接收到。送给sequencer一个axi_response包,valid标签为3'b010.

注意:对同一个写命令来说,1和2不能同时发生。当用户sequence监测到任意一种情况后,必须在同一仿真时刻把对这个写操作的响应控制信息发回给driver,driver根据这些信息来对master响应。

3/driver根据用户给下来的响应信息把些数据接收完毕以后,会把整个写操作的数据包送给sequencer,这个数据包包括了些操作的控制和数据信息。valid标签为3'b111,用户根据这个数据包再给出写响应的数据包。

4/当监测到AR总线上有新的读命令后,送给sequencer一个包含读控制信息的包,sequencer根据这些信息给出返回的读数据和读响应,以及响应的反压信息。



需要注意的是,读操作的interleave和out of
order是上层sequence来控制的。每次driver上报数据包时,会同时把driver里面读命令/写RESPONSE
BUFFER的队列有效个数返回给sequence,用户可以选择把读/写响应间插到这个队列的任意位置,这样就可以实现读数据/写响应的OUT OF
ORDER。interleave可以通过axi_response的
interleave_buffer/new_interleave/interleave_size来控制。



如果您有兴趣使用此VIP,遇到问题可以联系我。如果有人使用的话,后续再把文档仔细写一下。



下一个VIP是 AXI_MASTER_VIP,敬请关注。。。



https://static.assets-stash.eet-china.com/album/old-resources/2008/9/17/5730ab06-32b6-4958-b3dc-1608e28255b2.rar

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1560557 2011-9-7 19:31

顶一下

用户373086 2011-8-19 20:54

呵呵,学习学习

用户286513 2011-4-23 22:07

正在学OVM,还要跟大侠多多学习!!

用户178292 2008-11-2 23:27

期待master 中

ash_riple_768180695 2008-9-18 08:57

太好了,这里也有使用OVM的高人了!向你学习!
相关推荐阅读
用户76594 2009-07-18 22:43
受打击了。。。。
我在想是不是应该换个环境了?不能天天这样郁闷下去呀……...
用户76594 2009-06-27 00:30
在linux下调试NIOSII的软件
本来这篇心得应该在07年写的,由于懒惰,这个事情就一直delay了,最近突然又有了兴致,赶紧把一些东西记下来,以免忘记在windows下调试NIOSII的软件应该说比较方便,NIOSII IDE还是很...
用户76594 2009-06-24 23:33
估计原来串口不能传文件是因为处理器性能太差了~
原来在50M HZ NIOSII下,通过串口用9600BPS以上的速度传文件(lrzsz程序)总是失败,但是可以从板子上往PC成功发文件。把波特率降到9600能够成功。初步怀疑有两种可能:1。串口误码...
用户76594 2009-06-22 23:34
居然成功的用lrzsz传文件了!
 最近用NIOS跑uclinux,由于我的开发板配置很简单,没有网口,所以调试非常麻烦,写一个新程序,要编译到uclinux的image里面,下载才能调试,每次都需要把整个image重新生成,重新下载...
用户76594 2009-06-20 16:17
FREE-ARM7,免费的一个ARM7 IP核代码
很厉害,只有几千行代码,可以完全兼容ARM7的ARM指令集,这个包里面是在这个CORE上仿真uclinux的代码https://static.assets-stash.eet-china.com/al...
用户76594 2009-06-20 16:13
分享一个用于研发型团队管理的软件
最近同时做的项目很多,一些项目管理的繁琐事情很多,很多时候容易忘记,所以写了这样一个小软件,用来记录项目中需要记录的一些信息,分享一下 一、简介这个软件是基于MS OFFICE EXCEL 和ACCE...
EE直播间
更多
我要评论
5
7
关闭 站长推荐上一条 /3 下一条