面向敏捷硬件设计的符号模拟器设计与实现*
2021-12-24邹鸿基方雨德
邹鸿基,李 暾,罗 丹,方雨德
(国防科技大学计算机学院,湖南 长沙 410073)
1 引言
缩短设计周期,降低设计成本,提高设计生产率,一直是集成电路设计面临的重要挑战。为应对这些挑战,研究人员提出了多种设计方法和设计理念,敏捷硬件设计方法正是近年来出现的一种新设计方法。该方法借鉴敏捷软件设计方法,通过设计方法、设计工具链的革新,使得集成电路设计流程变“轻”,以提高设计生产率。一些成功案例显示了该方法强大的设计效能[1,2]。
在敏捷硬件设计方法中,前端建模主流技术是依托某种高级程序设计语言(如Scala、Python)设计领域特定语言DSL(Domain Specific Language),通过定义支持寄存器传输级RTL(Regist-er Transfer Level)建模的端口、寄存器、连线和逻辑单元类等语言机制,扩展现有语言的硬件描述能力,并在运行程序时自动生成Verilog或其他格式的RTL电路描述,这种DSL又称为硬件构建语言HCL(Hardware Construction Language)。
HCL运行时生成硬件借鉴了编译技术,引入了类似于LLVM(Low Level Virtual Machine)[3]的中间格式。在将HCL描述编译为中间格式后,可在此基础上快速地评估各种后端设计参数对设计的影响,或围绕中间格式研究各种设计验证技术,如等价性检查、模型检验、限界模型检验和测试生成等。上述各种验证技术所需要的共性技术是符号模拟,但目前还未有针对敏捷硬件设计前端建模的符号模拟支持。
针对该问题,本文以PyRTL DSL[4]为目标,设计并实现了一个符号模拟器,以支持后续测试生成、限界模型检验和等价性检查等验证技术的研究。本文主要贡献为:……p>
