摘要
arXiv:2504.15804v1 交叉类型:cross
摘要:大型语言模型(LLMs)在从自然语言描述生成Verilog代码方面展示了强大的性能。然而,确保生成代码的功能正确性仍然是一个重大挑战。本文介绍了一种方法,该方法将验证洞察力整合到Verilog生成LLMs的训练中,使训练与硬件设计的根本目标——功能正确性——保持一致。在使用LLMs进行Verilog代码生成时的主要障碍是缺乏足够的功能验证数据,特别是与设计规范和代码配对的测试平台。为了解决这一问题,我们引入了一种自动测试平台生成管道,该管道分解了过程,并使用Verilog编译器模拟器(VCS)的反馈来减少虚构并确保正确性。然后,我们使用测试平台评估生成的代码并收集它们进行进一步训练,在此过程中引入验证洞察力。我们的方法采用了强化学习(RL),特别是直接偏好优化(DPO),通过基于测试平台结果训练偏好对来调整Verilog代码生成与功能正确性的符合程度。在对VerilogEval-Machine、VerilogEval-Human、RTLLM v1.1、RTLLM v2和VerilogEval v2的评估中,我们的方法在生成功能正确的Verilog代码方面始终优于最先进的基线。我们在https://anonymous.4open.science/r/VeriPrefer-E88B 开源所有训练代码、数据和模型。