掌桥专利:专业的专利平台
掌桥专利
首页

针对静态时序分析中CCS模型回代求解的FPGA硬件加速方法

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及针对静态时序分析中电流源(Composite Current Source,CCS)模型回代求解的FPGA硬件加速方法,属于集成电路设计自动化(Electronic DesignAutomation,EDA)和高能效集成电路设计领域。

背景技术

半导体行业正面临两大挑战:a)电路设计的规模越来越庞大;b)电路设计的约束和目标更加复杂。为满足大规模电路设计的约束,在设计的过程中,运算量大幅增加。例如在设计电路的物理布线时,计算互连延迟十分耗时。为此,业界一直在寻求减少现代集成电路设计的时间和工作量的方法。

一般地,设计人员通过时序分析工具察看设计电路的内部逻辑和布线延时,验证电路是否满足设计约束,分析电路时序收敛性。长期以来,非线性延迟模型(Non-LinearDelay Model,NLDM)在时序分析中被广泛使用,用于抽象表征电路单元的延迟和输出转换时间特性。随着超大规模集成电路(Very Large Scale Integration,VLSI)技术进入深亚微米区,电路标准单元行为变得更加非线性,而工艺的进步需要依靠更精准的电路单元模型。传统的非线性延迟模型(NLDM)无法准确建模许多新效应例如高互联阻抗、密勒效应、动态IR-drop、多阈值电压、动态电压和变频等。应运而生的新电流源模型如复合电流源(CCS)模型和有效电流源模型(Effective Current Source Model,ECSM),显著提高了驱动器和接收器建模的准确性。

在CCS模型中,接收器模型是基于输入传输时间和负载电容的二维查找表。但由于密勒效应的存在,接收器模型采用双电容模型,电压在转换阈值电压点之前为电容值为C

CCS模型求解流程如图1所示。首先,通过对CCS模型接收器模型和驱动器模型查表得到电流波形和电容值,使用改进节点法建立矩阵方程:

Ax=b

其中,A矩阵由电路元件、独立电压源和独立电流源连接关系决定;x矩阵包含求解的未知电压及电流值;b矩阵包含独立的电压源和电流源。由于在CCS模型求解过程中矩阵A只在节点电压值经过转换阈值时改变一次,因此通常采用直接求解法对矩阵进行分解后再回代求解。常用的矩阵分解方法是LDU分解。其中L是下三角矩阵,对角线为1;D为对角矩阵;U为上三角矩阵,对角线为1。若用LDU分解求解矩阵,计算分为以下步骤:

LDU x=b (A=LDU)

对电流积分求电压波形,即在特定时间步长进行前后向回代求解x;

Ly=b 前向回代

Ux=y 后向回代

求解出电压波形后,应判断节点电压是否达到转换电压阈值点。电压如果大于阈值点则电容值改变为C

发明内容

本发明是针对静态时序分析中CCS模型回代求解的FPGA硬件加速方法。本发明为解决静态时序分析过程中快速求解CCS模型矩阵前后向回代问题,基于FPGA实现了一种加速计算的硬件架构。使用该架构可以减少CCS模型求解的时间,提高时序分析工具性能。

本发明的针对静态时序分析中CCS模型回代求解的FPGA硬件加速方法,包括如下步骤:

步骤1,发送CCS模型分解矩阵至FPGA开发板;

当时序分析工具进行完成LDU分解后,PC将CCS模型分解后的矩阵传输至FPGA开发板,并存储在FPGA开发板的Off Chip DRAM中;

A=LDU

回代求解:

Lz=b,Dr=z&Ux=r

步骤2,将矩阵数据搬运至BRAM,控制PE工作;

FPGA上的PS端ARM通用处理器打开DMA通道将矩阵数据按列搬运至片上内存BRAM中;

步骤3,构建PE处理单元阵列进行周期性计算,在第j个计算周期,向PE处理单元阵列中输入L矩阵第j行中与z

步骤4,通过FSM控制数据流和调度所需的计算顺序,对于第j个计算周期,FSM控制输出z

步骤5,同理,后向迭代时复用PE处理单元阵列,计算结果将被写回Off Chip DRAM中而后传输至PC供时序分析工具使用,以此往复完成前后向回代求解。

本发明方法对CCS模型矩阵求解采用直接求解法,在一定范围内矩阵不变,只需作一次分解,多次回代以提高计算效率。

进一步的,所述PE处理单元阵列包括多个PE处理单元,PE处理单元包括乘法器、加法器和减法器。在j个计算周期时,PE处理单元按行顺序取出下三角矩阵L的第j行中与z

进一步的,所述所述PE处理单元还包括FIFO_2,引入FIFO_2以实现在FPGA资源不足时解决对任意规模矩阵的求解,当矩阵维度大于PE个数时,将计算得到的z值暂存入FIFO_2,FIFO_2深度取决于矩阵维度和PE个数。

进一步的,第一个计算周期将在a个时钟周期内完成,a的大小取决于乘法器的延迟时间长短。若FPGA资源不足,构建的PE处理单元不能够满足矩阵计算需求,则需等待多轮PE计算才能完成第一步矩阵计算。

该方法采用的矩阵分解方法为LDU分解,矩阵L为单位下三角矩阵,回代求解时不存在前后数据依赖,可实现高效并行。

有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:

该方法对加速CCS模型矩阵计算具有普适性。利用FPGA可重构的特点,简化CCS模型求解中多次前后向回代求解过程,缩短CCS模型时序分析求解时间,提高CCS时序模型求解的性能,给设计人员提供指导。

(1)为减少CCS模型求解过程中前后向回代求解的时间,可将待求解的矩阵数据传输至FPGA,在FPGA中利用多个PE阵列对矩阵回代求解进行计算。相比传统CPU,该方法可以减少这一过程的运行时间。

(2)LDU分解后,L为下三角矩阵,它回代求解时不依赖前后向数据,提高了PE利用率,实现高效并行。同时,该方法中引入FIFO适应了电路中出现的不同维度的矩阵,对CCS模型时序分析求解具有普适性。

(3)本发明提出的解算器也可应用在电网电力仿真等场景中。

利用这种针对静态时序分析中CCS模型求解的FPGA硬件加速方法,进一步优化数据计算中的数据流。采用流水线方式计算、复用其中减法器和除法器等操作,从而提高资源利用率。

附图说明

图1是本发明CCS模型矩阵求解流程图。

图2是本发明三角矩阵求解顺序图。

图3是本发明三角矩阵前后向迭代顺序图。

图4是本发明快速求解CCS模型矩阵的并行结构图

图5是本发明计算PE阵列结构图。

具体实施方式

求解CCS模型中的三角矩阵时,需要依赖前后向数据。在最坏的情况下,例如矩阵是一个全稠密矩阵,任何解分量都需要等待它的前一个分量解出来,等待的过程浪费了电路资源,延长了求解时间。本发明在FPGA上实现一种任意规模矩阵回代的求解加速,在时序分析中CCS模型的求解的问题中,用于求解矩阵方程Ax=b。其中A为对称正定矩阵,利用Cholesky矩阵LDU分解方法则可得到

A=LDU

回代求解:

Lz=b,Dr=z&Ux=r

图2展示了该架构的计算流程。图3则说明了并行求解线性三角方程的流水线计算顺序,该计算按列执行。

步骤1,发送CCS模型分解矩阵至FPGA开发板;

当时序分析工具进行完成LDU分解后,PC将CCS模型分解后的矩阵传输至FPGA开发板。PC和FPGA之间通过PCIE或以太网高速通信协议传输,从PC接收到矩阵数据先存储在FPGA开发板的Off Chip DRAM中;

步骤2,将矩阵数据搬运至BRAM,控制PE工作;

FPGA上的PS端ARM通用处理器打开DMA通道将矩阵数据按列搬运至片上内存BRAM中,同时控制数据传输、分配BRAM数据和配置PE等操作;

步骤3,构建PE处理单元阵列进行周期性计算,

PE处理单元阵列用于计算z

如图5所示,所述PE处理单元包括PE处理单元包括乘法器、加法器、FIFO_2和减法器。在计算时,PE处理单元按行顺序取出下三角矩阵L的第j行中与z

以下以第一计算周期和第二计算周期进行举例说明;

在第一计算周期中,向PE处理单元阵列中输入L矩阵第一行中与z

第二计算周期中,向PE处理单元阵列中输入L矩阵第二行中与z

第一个计算周期将在a个时钟周期内完成,a的大小取决于乘法器的延迟时间长短。若FPGA资源不足,构建的PE处理单元不能够满足矩阵计算需求,则需等待多轮PE计算才能完成第一步矩阵计算。由于计算时不存在对前后向数据的依赖关系,因此可以在计算过程中插入流水线来缩短延时,提高计算效率。

步骤4,同理,后向迭代时复用PE处理单元阵列,计算结果将被写回Off Chip DRAM中而后传输至PC供时序分析工具使用,以此往复完成前后向回代求解。

PE阵列外使用一个单独的除法器来计算r。对不同的计算周期分时复用一个除法器以节省资源,提高利用率。利用LDU矩阵分解方法进行三角回代求解可以消除数据依赖,提高运算并行性,总体框架如图4所示。前向回代和后向回代步骤类似,可以复用该PE阵列。最终计算结果将被写回Off Chip DRAM中,并传输至PC供时序分析工具使用,以此往复完成前后向回代求解。

技术分类

06120114719595