《4. 基于大语言模型的硬件自动化设计与验证.pdf》由会员分享,可在线阅读,更多相关《4. 基于大语言模型的硬件自动化设计与验证.pdf(13页珍藏版)》请在三个皮匠报告上搜索。
1、基于大语言模型的硬件自动化设计与验证赵地、齐洪钢中国科学院大学一、硬件设计与验证现状二、大语言模型的潜力三、LLMs在代码生成中的应用四、LLMs模型在验证中的应用五、总结大纲一、硬件设计与验证现状3硬件设计复杂度高硬件设计是一项复杂且高成本的工程任务,随着芯片复杂度提升,硬件设计涉及多层级模块协同、严苛时序约束及多物理域交叉,传统电子设计自动化(EDA)工具耗费大量时间,设计周期延长。硬件验证成本高且有错误率数十亿晶体管的芯片设计,验证阶段可能需耗费两倍于设计的时间,导致项目进度延迟和成本超支。面对超大规模集成电路时,难覆盖所有边缘案例,错误风险增加。二、大语言模型的潜力4代码生成大语言模型
2、(LLMs)的出现为自动化硬件描述语言(HDL)代码生成和提供了新思路。例如,ChatGPT能够将自然语言描述转化为Verilog代码,但现有研究未充分验证其可靠性和效率。设计者通过描述模块功能,LLMs自动生成对应的Verilog代码,减少人工编码错误,有望显著提升硬件设计的效率和质量。形式化验证LLMs生成形式化证明辅助工具,结合传统工具提高形式化验证的效率和成功率。LLMs自动生成测试用例和验证脚本,大幅减少人工编写工作量,缩短验证周期。在芯片设计验证中,LLMs辅助生成形式化证明脚本,与现有工具协同,成功证明更多复杂设计的正确性。三、LLMs在代码生成中的应用 框架与模型5ChipGP
3、T:多阶段生成与优化ChipGPT通过多阶段生成Verilog代码,首先生成初稿,再通过优化满足性能、功耗和面积(PPA)约束。其生成的代码较ChatGPT-3.5更简短且面积更小,但可扩展性受限。例如,生成的8位加法器面积减少15%,但仅适用于中小规模设计,对于大规模复杂设计的适应性有待进一步提升。RTLLM是开源基准测试集,包含30个设计问题,结合自规划(self-planning)技术提升生成质量。例如,LLMs先分解任务(如设计计数器),再逐步生成子模块代码,但需人工提供测试用例。通过统一的问题描述和测试用例,为不同LLMs提供公平评估环境,但覆盖的设计类型有限,如缺少高速接口模块。G
4、PT4AIGChip针对AI加速器设计,采用分层生成策略。例如,将ResNet分解为卷积层、池化层等模块,逐个生成并集成,生成的设计在延迟上优于人工方案。采用模块化生成策略,降低单次生成复杂度,但依赖目标工艺库的数据,对不同工艺的适配性需进一步优化。GPT4AIGChip:分层生成策略与AI加速器设计AutoChip集成仿真反馈循环,通过IcarusVerilog检测错误并迭代修正。在HDLBits基准测试中提升24.2%正确率,但对复杂问题(如状态机)效果有限。例如,检测到波形不匹配后,LLMs重新生成代码,但复杂问题仍需人工干预,自动化程度有待提高。AutoChip:仿真反馈循环与错误修正
5、RTLLM:基准测试集与自规划技术三、LLMs在代码生成中的应用 关键挑战6代码正确性问题LLMs生成的代码常存在语法错误或逻辑错误,导致代码无法正常工作或功能偏差。例如,生成的状态机缺少关键状态转移,导致功能失效,需要结合形式验证工具进行自动化检查和修正。领域数据缺乏公开的Verilog数据集规模远小于Python,限制模型训练效果。硬件设计领域的数据稀缺,导致模型对硬件设计规范(如时钟域交叉处理)理解不足。例如,硬件设计中特定类型的漏洞数据稀缺,影响模型泛化能力,需要构建高质量的硬件设计数据集以提升模型性能。PPA优化不足多数研究未考虑生成代码的综合结果(如面积、时序),难以评估实际硬件性
6、能。生成的代码可能在功能上正确,但在实际硬件实现中无法满足性能、功耗和面积的要求。例如,未优化的代码可能导致芯片面积过大或时序不满足要求,需要开发专门的优化算法和工具来提升生成代码的PPA指标。010203四、LLMs在验证中的应用 断言生成LLMs将自然语言描述的硬件设计属性转化为SystemVerilog断言,实现自动断言生成。例如,将“寄存器值不能超过100”转化为对应的SystemVerilog断言代码,准确率达80%以上。自然语言到硬件断言的转换01提供详细上下文信息可显著提高LLMs生成断言的准确性。在复杂芯片设计中,详细描述设计功能和约束后,LLMs生成的正确断言比例从30%提升