EvolVE:基于进化搜索的LLM Verilog生成与优化框架 EvolVE: Evolutionary Search for LLM-based Verilog Generation and Optimization
进化搜索+LLM实现Verilog生成与PPA优化,达98.1%准确率
前置知识
Verilog HDL
Verilog是一种硬件描述语言(HDL),用于设计和描述数字电路。它能够以行为级或寄存器传输级(RTL)描述电路的功能,是芯片设计行业最广泛使用的语言之一。Verilog的核心特点是描述高度并行的硬件系统,其中数千个操作可以同时执行,由时钟信号同步。这种严格的并发范式与传统软件编程的顺序执行模型有本质区别,因此直接用LLM生成Verilog代码面临独特挑战。
本文的核心目标是自动化Verilog代码生成,理解Verilog的基本概念和特点是理解论文技术路线的基础
蒙特卡洛树搜索(MCTS)
MCTS是一种启发式搜索算法,通过构建搜索树来寻找最优决策。它包含四个核心步骤:选择(Selection)、扩展(Expansion)、模拟(Simulation)和回溯(Backpropagation)。在选择阶段,算法使用UCT公式在探索和利用之间权衡,递归地选择子节点直到达到叶子节点。UCT公式为 $UCT(N_{parent}, N_{child}) = \frac{Q(N_{child})}{C(N_{child})} + c \cdot \sqrt{\frac{\max(1, C(N_{parent}))}{1+C(N_{child})}}$,其中 $Q$ 是累积质量值,$C$ 是访问次数,$c$ 控制探索强度。
MCTS是本文两种进化搜索策略之一,理解其工作原理对于理解框架如何探索Verilog设计空间至关重要
PPA优化
PPA代表功耗(Power)、性能(Performance)和面积(Area),是芯片设计的三大核心指标。PPA优化的目标是在满足功能正确性的前提下,最小化这三个指标的综合产品。具体来说,本文使用面积-延迟积(Area-Time, AT)作为主要优化目标:$S_{opt}(V_i) = -A(V_i) \cdot L(V_i) \cdot \eta$,其中 $A$ 是面积,$L$ 是延迟,$\eta$ 是归一化因子。这种方法的优势是面积减少与功耗优化高度相关,可以避免生成FSDB或VCD文件进行功耗评估,从而加速优化过程。
PPA优化是本文的核心贡献之一,理解这些指标及其权衡关系是评估框架性能的关键
结构化测试台生成(STG)
STG是本文提出的一种确定性验证引擎,用于为Verilog设计生成高覆盖率的测试台。它通过三个阶段工作:首先自动分类DUT端口信号为时钟/复位、控制和数据通路三类;然后使用宽度约束的刺激生成策略,对于宽度 $w \leq 8$ 的控制信号生成穷举 $2^w$ 状态空间覆盖,对于更宽的信号使用约束随机采样;最后计算连续的细粒度正确性分数 $P_{stg} \in [0,1]$ 作为通过率,提供超越简单二元结果的反馈。
STG是框架的关键创新,它将昂贵的LLM迭代调试成本转移到免费的EDA仿真工具上,显著加速进化过程
IC-RTL基准测试套件
IC-RTL是本文引入的高复杂度基准测试套件,源自台湾国家集成电路设计竞赛。它包含六个设计问题:局部二值模式(LBP)、脉动阵列(GEMM)、图像卷积(CONV)、作业分配机(JAM)、霍夫曼编码(HC)和距离变换(DT)。这些任务要求实现特定的算法结构和内存优化技术以达到高性能目标,比现有基准测试复杂得多,能够真正挑战模型的硬件优化能力。
IC-RTL填补了学术数据集与工业级复杂性之间的空白,是评估框架PPA优化能力的关键平台
研究动机
当前LLM在Verilog代码生成面临三重瓶颈。首先,LLM本质上是顺序推理的概率模型,训练于大量文本和代码语料库,学习复杂的统计模式来预测序列中的下一个token。然而,Verilog描述的是高度并发的硬件系统,数千个操作同时执行并由时钟同步,这种严格并发的范式对基于顺序逻辑训练的概率模型构成了重大挑战。其次,现有基准测试存在评估精度问题:VerilogEval v2的黄金模型和问题规范存在不一致性,RTLLM v2则缺乏工业设计的复杂性,无法挑战模型在复杂优化技术上的表现。第三,现有优化工作主要局限于RTLLM v2基准测试中的小规模模块,这些模块可以被标准综合工具在没有深度领域知识的情况下轻易优化。微调模型虽然表现出令人印象深刻的能力,但受限于模型容量和高质量开源Verilog数据的稀缺性,现有基准测试规模小(<100个样本)且聚焦于基础模块,忽视了系统级复杂性。
本文的目标是本文的目标是建立一个统一的、模型无关的进化框架,使LLM能够直接从自然语言规范生成和优化高质量、功能正确的Verilog代码。具体而言,框架需要实现三个目标:(1)通过推理时搜索策略显著增强LLM的设计生成能力,即使在高度受限的15个计算节点预算下也能达到94.2%的通过率;(2)在工业级复杂度的IC-RTL基准测试上超越人工设计的参考实现,将PPA产品降低最多66%;(3)开发可分离的自动化高覆盖率验证引擎STG,通过自动分类信号并提供细粒度反馈,将迭代调试的成本从昂贵的LLM推理转移到免费的EDA仿真工具。
与已有工作不同的是,本文的独特切入角度是从学习范式转向搜索范式。作者认识到,由于高质量Verilog数据是专有且有限的,缩放模型参数在没有相应数据增长的情况下会产生递减的回报。因此,他们选择利用进化搜索来利用测试时计算,将硬件描述语言生成视为状态空间探索而非单次生成过程。这种方法允许LLM针对严格的逻辑约束进行迭代自我纠正,有效地模拟人类调试动态。与现有方法相比,本文首次同时分析了多种进化策略在芯片设计任务上的表现,揭示了MCTS在最大化功能正确性方面的优势,以及Idea-Guided Refinement (IGR)在优化方面的优越性。此外,本文首次引入了真正具有工业级复杂度的基准测试套件IC-RTL,填补了学术评估与工业需求之间的空白。
核心方法
EvolVE框架的核心思想是将Verilog开发过程建模为搜索优化问题。生成过程探索一组节点 $N = \{N_1, N_2, \ldots, N_n\}$,第 $i$ 个节点的状态定义为元组 $N_i = (V_i, S_i, F_i)$,其中 $V_i$ 是候选Verilog代码,$S_i \in \mathbb{R}$ 是分数,$F_i$ 是诊断反馈。框架采用两种互补的搜索策略:Idea-Guided Refinement (IGR) 用于全局探索架构空间以逃离局部最优,专注于PPA优化;Monte Carlo Tree Search (MCTS) 用于精确利用以严格解决局部功能和时序约束,专注于Verilog代码生成。这两种策略共享统一的框架:从问题描述开始,框架提示LLM生成初始代码,评估器根据测试台评估代码以产生量化分数和文本反馈,然后在进化阶段根据选择的策略(IGR或MCTS)选择父节点,利用父节点的代码和反馈,LLM产生改进版本,循环继续直到设计通过所有测试用例或达到最大节点限制。
本文的核心创新在于将进化算法与LLM推理相结合,实现了从学习范式到搜索范式的转变。与现有方法的本质区别体现在三个方面:首先,本文首次在芯片设计任务上系统分析了多种进化策略,发现MCTS和IGR各有所长——MCTS在功能正确性最大化方面表现卓越,而IGR在PPA优化方面更优。其次,本文提出的STG机制通过自动分类信号和提供细粒度反馈,将昂贵的LLM迭代调试成本转移到免费的EDA工具上,这与传统方法依赖稀疏的bandit反馈形成鲜明对比。第三,本文构建的IC-RTL基准测试套件源自真实工业竞赛,包含六个高复杂度设计问题,要求实现特定算法结构和内存优化技术,而现有基准测试仅包含可被标准综合工具轻易优化的小规模模块。
方法步骤详情
框架的执行分为四个主要阶段。第一阶段是初始化:对于给定的问题描述,框架提示LLM生成初始Verilog代码,同时可选地使用STG生成测试台。第二阶段是评估:评估器函数 $E$ 执行测试以获得分数和反馈,$(S_i, F_i) = E(V_i, T)$,其中 $T$ 是测试用例集。对于生成功能正确性任务,分数定义为通过率 $S_{gen}(V_i) = p_i / |T|$(如果仿真成功),否则为大负常数 $C_{penalty}$。第三阶段是进化搜索:对于IGR策略,LLM首先生成一组高级架构概念 $I = \{I_1, I_2, \ldots, I_k\}$,每个概念实例化一个独立的细化链,通过差分编辑逐步改进代码;对于MCTS策略,算法递归选择子节点直到达到叶子节点,使用UCT公式平衡探索和利用,然后扩展新节点并回溯更新分数。第四阶段是终止:当设计通过所有测试用例($S_{gen} = 1$)或达到最大节点限制时停止。STG在每个评估步骤中提供高保真、密集的奖励,通过自动信号分类、可扩展的混合刺激生成和细粒度功能梯度三个阶段工作。
技术新颖性
本文的技术新颖性体现在多个维度。首先,EvolVE是首个系统分析多种进化策略在芯片设计任务上表现的框架,建立了MCTS优于功能生成、IGR优于PPA优化的新认知。其次,STG机制采用宽度约束的刺激生成策略,对于控制信号宽度 $w \leq 8$ 生成穷举 $2^w$ 状态空间覆盖,对于更宽信号使用约束随机采样,同时为数据通路总线使用优化随机采样并播种边界情况(如零值、最大值、交替位)。第三,框架使用Aider风格的编码器生成差分编辑而非重新生成完整文件,减少了LLM token消耗。第四,本文构建的IC-RTL基准测试套件包含六个源自台湾国家集成电路设计竞赛的设计问题,涵盖局部二值模式、脉动阵列、图像卷积、作业分配机、霍夫曼编码和距离变换等任务,这些任务要求实现特定算法结构和内存优化技术,填补了学术评估与工业需求之间的空白。第五,本文还引入了Mod-VerilogEval v2来修正现有基准测试的不一致性问题。
实验结果
本文的实验结果全面验证了EvolVE框架的有效性。在功能正确性生成任务上,DeepSeek-R1-FP4-MCTS配置在300个计算节点下达到了VerilogEval v2上98.1%和RTLLM v2上92.0%的峰值通过率,超越了使用Deepseek-V3的REvolution框架(95.5%)。值得注意的是,即使在高度受限的15个节点预算下,DeepSeek-R1-FP4-MCTS也达到了94.2%的通过率,有效匹配了VerilogCoder(GPT-4-Turbo,100个节点)的最佳报告性能。对于商业模型API,标准基线在VerilogEval v2上饱和于80.1%,但应用进化策略后,IGR提升至86.5%,MCTS提升至87.8%。STG的消融研究显示,对于DeepSeek-R1-FP4架构,解析Mod-VerilogEval v2基准测试所需的平均节点数从4.78降至2.49,总输出token消耗减少超过60%(从38,818降至15,440)。在PPA优化任务上,EvolVE框架在IC-RTL基准测试上表现出色,霍夫曼编码任务(Q5_HC)实现了66%的峰值PPA改进,所有问题的几何平均PPA改进为17%。具体而言,脉动阵列任务(Q2_GEMM)实现了12%的延迟减少;作业分配机任务(Q4_JAM)实现了31%的面积减少和26%的功耗减少,复合PPA改进36%;距离变换任务(Q6_DT)实现了13%的PPA改进。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| VerilogEval v2功能生成 | 通过率(%) | 98.1% (DeepSeek-R1-FP4-MCTS, 300节点) | 95.5% (REvolution, Deepseek-V3, 200节点) | +2.6%绝对提升 |
| RTLLM v2功能生成 | 通过率(%) | 92.0% (DeepSeek-R1-FP4-MCTS, 300节点) | 88.0% (REvolution, Deepseek-V3, 200节点) | +4.0%绝对提升 |
| IC-RTL PPA优化(Q5_HC) | PPA产品改进 | 66%减少 | 人工参考实现 | 66%PPA产品降低 |
| IC-RTL PPA优化(几何平均) | PPA产品改进 | 17%减少 | 人工参考实现 | 17%PPA产品降低 |
| Mod-VerilogEval v2收敛效率 | 平均节点数 | 2.49节点 (DeepSeek-R1-FP4-MCTS, STG) | 4.78节点 (无STG) | 47.9%节点减少 |
局限与改进
尽管EvolVE框架取得了显著成果,但仍存在几个重要局限性。首先,STG依赖可执行参考模型(C或Verilog中的黄金设计)来验证信号正确性,而对于新型知识产权(IP)设计,这些参考模型可能不可用。其次,专门针对PPA优化的基准测试仍然稀缺,虽然本文引入了IC-RTL,但更广泛的工业级评估仍需更多基准测试支持。第三,集成完全自动化的综合流程以提供实时PPA反馈需要进一步开发,当前框架使用的是离线评估方式。从技术角度看,框架在300个节点的计算预算下才能达到最佳性能,这需要大量的LLM推理时间和token消耗。此外,虽然STG显著提高了收敛效率,但其信号分类依赖于标准行业命名约定(如clk、rst、valid、ready),对于使用非标准命名的设计可能需要人工干预。最后,本文的实验主要在特定模型配置上进行,对于更广泛的模型架构和规模的泛化能力还需进一步验证。
独立分析的弱点
本文存在几个可改进的弱点。首先,STG对参考模型的依赖限制了框架在新型IP设计上的应用,改进方向是开发基于形式化规约自动生成参考模型的技术,或者利用LLM自身生成近似参考实现。其次,当前框架的PPA评估使用离线综合工具,无法提供实时反馈,这限制了优化迭代的效率,未来可以探索增量综合技术或快速估算模型。第三,IC-RTL基准测试虽然具有工业级复杂度,但仅包含六个设计问题,样本量较小,需要扩展到更多样化的工业设计场景。第四,框架在300个节点下才能达到最佳性能,计算成本较高,可以探索更高效的搜索策略或剪枝技术来减少所需节点数。第五,STG的信号分类依赖标准命名约定,对于非标准设计需要更robust的分类方法,可以考虑结合AST分析和模式识别技术。
未来方向
作者提出了两个关键的未来研究方向。首先,受到ACE等方法的启发,计划集成微架构优化模式的形式化知识库(playbook)来指导PPA驱动的探索,这将使框架能够利用预定义的优化模式而非从零开始搜索。其次,计划利用MCTS的探索特性来更好地优化功耗、性能和面积,而不仅仅是功能正确性。基于本文成果还可以延伸出多个研究方向:(1)将进化搜索框架扩展到更广泛的硬件设计任务,如系统级设计和软硬件协同优化;(2)开发更智能的搜索策略,根据设计空间特征动态调整IGR和MCTS的权重;(3)集成形式化验证技术确保生成代码的正确性保证;(4)探索将框架应用于其他硬件描述语言如VHDL或Chisel;(5)开发增量学习机制,使框架能够从历史优化经验中积累知识。
复现评估
本文在可复现性方面提供了较好的支持。IC-RTL基准测试的源代码已在GitHub上开源(https://github.com/weiber2002/ICRTL),EvolVE代码库、Mod-VerilogEval v2和评估脚本也将在近期发布。实验使用了8个NVIDIA H100 GPU的集群进行自托管模型推理,DeepSeek-R1-FP4利用了混合专家(MoE)架构中的张量和专家并行性,而Siliconmind-7B使用纯数据并行性。超参数标准化为300个节点的评估预算、0.6的LLM温度和 $-10^5$ 的惩罚常数 $C_{penalty}$。对于具体搜索策略,IGR设置为生成60个初始想法并细化5步,MCTS使用3个子节点的扩展率和1.4的探索常数 $c$。评估工具链集成了开源和商业生态系统,包括Icarus Verilog和Yosys用于快速仿真和综合,以及Synopsys套件(VCS、Design Compiler、PrimeTime)用于严格验证。对于希望复现的研究者,需要访问H100 GPU集群或类似计算资源,以及Synopsys商业工具的许可证,这可能对独立研究者构成一定障碍。
论文图表