基于UVM的Cache验证平台的设计与研究
发布时间:2021-12-09 06:41
随着大规模集成电路技术的不断发展,集成电路的规模的不断增加,RTL的代码量也大幅增加,对于设计者分工更加细致,一个功能模块被细化成更多特定功能的子模块,交给不同的开发者完成,这也带来了许多潜在的设计缺陷和漏洞,验证的难度显著增大,耗时大幅增加。传统的验证方法已经不能满足当前数字集成电路的验证对于开发周期、开发成本、可靠性的需求,芯片开发者迫切需要采用更为高效、可靠的验证方法。本课题搭建了针对一款RISC-V指令集CPU非阻塞Cache的验证平台。含有Cache结构的数字电路由于状态空间巨大,验证过程难以覆盖全部的功能点,所以带来验证耗时巨大,难以覆盖边界情况的问题。本课题搭建的验证平台采用了重用性更强、功能库更丰富的UVM验证方法学,并且利用了UVM集成的phase、sequence和factory机制,实现了更为灵活、易于维护和扩展的验证环境。首先,本文分析了该待测CPU的指令集的访存特性、总线工作机制、数据一致性标记的机制,划分出待测功能点。然后,利用UVM的sequence机制设计出高效的验证激励,对各个功能点编写针对性的测试激励,并构造合适的端口采集界面。设计完成激励产生器、驱...
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
待测设计的结构示意图
图 2.2 TileLink 总线 5 个通道示意图ileLink 总线共分为 5 个通道(Channel),如图 2.2 所示,并且定义发别为 Master 和 Slave[11]。一组 TileLink 总线的 5 个通道各司其职,发息,每一类消息具有规则明显的优先级,这样仲裁器的设计将会比较总线协议与其他总线协议的显著不同点。如上图所示是一种结nk 总线结构,包含一个 Master 和一个 Slave 两个端口,更复杂一点的eLink 总线连接了多个 Master 和多个 Slave 端口,中间由一个交叉ar 相连接,从而形成更复杂的拓扑结构。TileLink 共分为 5 个通道re、Grant、Finish 、Probe、Release,或者分别记为 A、B、C、D、E道的优先级 A<B<C<D<E,其中 A、C、E 数据流向是从 Master 到 S的数据流向是从 Slave 到 Master。举例说明一个完整的消息发送方式che 通过 Acquire 通道发送数据读取请求,然后 L2 通过 Grant 通道向据回复,L1 Cache 收到后向 L2 Cache 通过 Finish 通道回复一个确认息类型会使用不同的几个通道,并不一定会用到全部的通道。每个通
西安电子科技大学硕士学位论文表明了该消息来自于哪个模块,由于一根总线上可能由好几个模块互相连接,所以必须对每一个模块标一个编号,以供仲裁器将返回信息正确地发送给触发请求的模块。Sink 标明了数据请求应当返回给哪个模块。如果某个端口上一个通道并没有使用,那么可以仅仅保留部分信号线。
【参考文献】:
期刊论文
[1]形式化验证在芯片研发中的应用[J]. 张晓冬,巨鹏锦,濮晨,潘天锲. 中国集成电路. 2017(09)
[2]加密数字货币系统共识机制综述[J]. 夏清,张凤军,左春. 计算机系统应用. 2017(04)
[3]一种基于UVM面向RISCCPU的可重用功能验证平台[J]. 谢峥,王腾,雍珊珊,陈旭,苏吉婷,王新安. 北京大学学报(自然科学版). 2014(02)
[4]一种Cache一致性协议验证中覆盖率驱动的随机验证方法[J]. 李拓,王恩东,胡雷均,秦济龙. 计算机应用与软件. 2011(11)
硕士论文
[1]基于UVM的高效验证平台设计及可重用性研究[D]. 黄欣.上海交通大学 2014
本文编号:3530133
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
待测设计的结构示意图
图 2.2 TileLink 总线 5 个通道示意图ileLink 总线共分为 5 个通道(Channel),如图 2.2 所示,并且定义发别为 Master 和 Slave[11]。一组 TileLink 总线的 5 个通道各司其职,发息,每一类消息具有规则明显的优先级,这样仲裁器的设计将会比较总线协议与其他总线协议的显著不同点。如上图所示是一种结nk 总线结构,包含一个 Master 和一个 Slave 两个端口,更复杂一点的eLink 总线连接了多个 Master 和多个 Slave 端口,中间由一个交叉ar 相连接,从而形成更复杂的拓扑结构。TileLink 共分为 5 个通道re、Grant、Finish 、Probe、Release,或者分别记为 A、B、C、D、E道的优先级 A<B<C<D<E,其中 A、C、E 数据流向是从 Master 到 S的数据流向是从 Slave 到 Master。举例说明一个完整的消息发送方式che 通过 Acquire 通道发送数据读取请求,然后 L2 通过 Grant 通道向据回复,L1 Cache 收到后向 L2 Cache 通过 Finish 通道回复一个确认息类型会使用不同的几个通道,并不一定会用到全部的通道。每个通
西安电子科技大学硕士学位论文表明了该消息来自于哪个模块,由于一根总线上可能由好几个模块互相连接,所以必须对每一个模块标一个编号,以供仲裁器将返回信息正确地发送给触发请求的模块。Sink 标明了数据请求应当返回给哪个模块。如果某个端口上一个通道并没有使用,那么可以仅仅保留部分信号线。
【参考文献】:
期刊论文
[1]形式化验证在芯片研发中的应用[J]. 张晓冬,巨鹏锦,濮晨,潘天锲. 中国集成电路. 2017(09)
[2]加密数字货币系统共识机制综述[J]. 夏清,张凤军,左春. 计算机系统应用. 2017(04)
[3]一种基于UVM面向RISCCPU的可重用功能验证平台[J]. 谢峥,王腾,雍珊珊,陈旭,苏吉婷,王新安. 北京大学学报(自然科学版). 2014(02)
[4]一种Cache一致性协议验证中覆盖率驱动的随机验证方法[J]. 李拓,王恩东,胡雷均,秦济龙. 计算机应用与软件. 2011(11)
硕士论文
[1]基于UVM的高效验证平台设计及可重用性研究[D]. 黄欣.上海交通大学 2014
本文编号:3530133
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3530133.html