论文部分内容阅读
随着大规模集成电路技术的不断发展,集成电路的规模的不断增加,RTL的代码量也大幅增加,对于设计者分工更加细致,一个功能模块被细化成更多特定功能的子模块,交给不同的开发者完成,这也带来了许多潜在的设计缺陷和漏洞,验证的难度显著增大,耗时大幅增加。传统的验证方法已经不能满足当前数字集成电路的验证对于开发周期、开发成本、可靠性的需求,芯片开发者迫切需要采用更为高效、可靠的验证方法。本课题搭建了针对一款RISC-V指令集CPU非阻塞Cache的验证平台。含有Cache结构的数字电路由于状态空间巨大,验证过程难以覆盖全部的功能点,所以带来验证耗时巨大,难以覆盖边界情况的问题。本课题搭建的验证平台采用了重用性更强、功能库更丰富的UVM验证方法学,并且利用了UVM集成的phase、sequence和factory机制,实现了更为灵活、易于维护和扩展的验证环境。首先,本文分析了该待测CPU的指令集的访存特性、总线工作机制、数据一致性标记的机制,划分出待测功能点。然后,利用UVM的sequence机制设计出高效的验证激励,对各个功能点编写针对性的测试激励,并构造合适的端口采集界面。设计完成激励产生器、驱动器、监视器与计分板模块,通过TLM机制将各个组件连接起来,并编写了功能总线模型BFM,将Cache的访存指令和总线界面封装成包含配置信息的任务。最后,将写好的验证组件抽象出参数化的端口,以创立层次化公用库和总线功能模型供今后的类似结构的芯片验证使用。该验证平台可以在较快的时间内达到各项功能验证覆盖率的要求,并且满足可重用性的要求。此外,本课题还提出一种可用于PoW机制含Cache结构的数字芯片验证平台,以替代目前区块链应用中PoW机制常用的SHA256运算。目前加密货币分布式记账节点每年消耗大量能源和算力资源计算无附加产出的SHA256运算,并且这种PoW机制很容易设计出可进行加速的专用集成电路,从而导致算力过度集中,降低了区块链应用的安全性和可靠性。针对这些问题,本文提出了一种将传统的PoW机制中求解SHA256运算过程替换为验证含Cache结构的数字集成电路过程的方法,这种验证过程额外增加了随机激励生成机制、微扰机制和抽查交叉验证机制,本文提出的PoW机制既可以保证区块链应用的安全和高效运行,也可以产生有价值的数字芯片验证结果,解决了区块链应用对电力和算力资源浪费的问题,并且这种机制可以有效对抗ASIC加速,防止算力过度集中。除此之外,针对当前加密货币或者区块链应用因全网算力下降所导致安全性降低的缺陷,本文提出的基于含Cache结构的芯片验证的PoW机制使得分布式记账节点除了可以获取争夺记账权获得的奖励外,还可以将验证结果销售给验证任务的发布者,获取额外的收益,这不仅实现了验证任务的分布式计算的分发过程,也将重塑加密货币行业的生态结构,缓解算力快速下降导致安全性降低的缺陷。