微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 求达人指点两个问题,一个AHB的,一个SV的

求达人指点两个问题,一个AHB的,一个SV的

时间:10-02 整理:3721RD 点击:
请教达人两个问题:(1)两个AHB接口的block A和B相连,如果A作为master,那么htrans、hwrite、hsize、hburst等控制信号必须由A产生吧?
如果B为master,那么这些信号就由B产生吧?也就是说在一个总线系统里面,某个时间段只能有一个master存在,其他的就作为slave了?
一般DMA模块也是AHB master,那么DMA怎么从A和B搬数呢,是不是DMA搬数时,A或B就是slave的角色了?
这一点不是很明白,请高人指点了。

(2)sv中由string作为index的关联数组(size大于50),怎么遍历呢?有没有像普通数组使用foreach的方法?


请高人解答!谢谢!

(一) 多个master的系统需要有arbiter
(二) 可以

如果A和B都是AHB master,直接相连,没有纵向系统也没有arbiter,那么A和B的主从角色怎么划分呢?是谁给出hsize、hburst、hwrite、htrans等信号的一侧就是master么?

用AHB lite

关联数组的foreach在vcs上面报出一个warning,说this will be an error in future release, 是不是还有更好的遍历方法呢?

我不太明白你的直连是什么意思,你可以把连接关系画个草图传上来?

做个简单实验,只保留foreach associative array, 看是否有warningncsim跑没有问题:

  1. ass_array[a] = 11
  2. ass_array[b] = 12
  3. ass_array[c] = 13
  4. Simulation complete via $finish(1) at time 0 FS + 0
  5. ./top.sv:16$finish;

复制代码

我也不太明白他的连接方式。不知道他的blockA 和 blockB 还有DMA是如何连接的。
能画个连接关系图吗? 最好有数据的流动方向。

你用的是AMBA 的VIP?

朋友!能否把你的验证环境发我一份。?
邮箱:805475356@qq.com

能否把你的环境打包上传分享下?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top