RTLRepoCoder:通过细调与检索增强实现仓库级RTL代码补全
软件工程
2025-04-15 v1 人工智能
摘要
作为现代硬件设计的重要组成部分,手动编写寄存器传输水平(RTL)代码(如Verilog)往往十分费时。跟随大型语言模型(LLM)的巨大成功,研究者开始探索利用LLM生成RTL代码。然而,现有研究主要聚焦于生成简单的单个模块,无法满足实际应用中的需求。事实上,由于管理长上下文RTL代码和复杂的跨文件依赖的挑战,现有解决方案无法处理实际硬件开发中的大型Verilog仓库。作为首个专门适配大型RTL开发的努力,我们提出了RTLRepoCoder,这是一种开创性解决方案,融合特定细调和检索增强生成(RAG)用于仓库级Verilog代码补全。来自真实世界的开源Verilog仓库以及扩展的上下文大小用于领域特定的细调。优化的RAG系统通过检索相关代码片段来提高输入上下文的信息密度。对RAG进行针对性优化,包括嵌入模型、跨文件上下文分割策略以及块大小。我们的解决方案在公共基准测试中实现了领先性能,显著超越GPT-4和先进的领域特定LLM在编辑相似度和精确匹配率方面。全面的实验表明,我们的方法具有显著的有效性,并为未来工作提供了洞见。
引用
@article{arxiv.2504.08862,
title = {RTLRepoCoder: Repository-Level RTL Code Completion through the Combination of Fine-Tuning and Retrieval Augmentation},
author = {Peiyang Wu and Nan Guo and Junliang Lv and Xiao Xiao and Xiaochun Ye},
journal= {arXiv preprint arXiv:2504.08862},
year = {2025}
}