赞
踩
Datamover ,它是一个好使的数据搬运工。尤其是往DDR里搬数的时候,它特别好用。只需要告诉它写数的起始地址和要写入的数据量,其他的不需要我们太操心。
这是它的状态字的格式。各个比特代表的信息如下图所示:
从上图可知,当状态信号的值为80(16进制)时,代表datamover数据搬运成功啦。下图表现的就是数据搬运成功。
在给datamover传数之前会告诉datamover发指令,在指令中会带有将要写入的数据量的大小,然后传数,如果实际传数的数据的大小和指令中所告诉的数据量的大小不匹配的话,状态信号就会给出10,表明数据量大小不对。
datamover将收到的数据传给DDR、bram之类的存储器,指令中也会携带有写地址的信息,如果此时指令中给出的地址和后续的存储器的地址匹配不上,也就是说储存器地址不包含指令中的写初始地址,那么datamover就会由于找不到对应的地址而报错,状态信号会显示20.
datamover用到了axi4总线,这里需要注意,主端的valid不能等待从端的ready拉高之后才拉高,否则会丢数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。