基于寄存器重定时的多流水级时序电路再综合操作方法技术

技术编号:21224908 阅读:23 留言:0更新日期:2019-05-29 05:39
本发明专利技术提出了一种基于寄存器重定时的多流水级时序电路再综合操作方法,其步骤为:利用FPGA设计流程将硬件描述语言产生查找表电路;初始化查找表时序电路各流水级的时间裕量;利用查找表电路划分锥集方法从输入端口开始向输出端口方向依次选择查找表锥集电路;对查找表锥集电路进行再综合操作:如果锥集电路未跨越寄存器,应用查找表再综合操作方法处理;如果锥集跨越寄存器,查找表电路进行分类;依据时间裕量对再综合后的电路取舍判断。本发明专利技术利用时序电路流水线设计中的时间裕量,在关键路径时延约束下更大限度的为查找表再综合提供优化方案,优化后的电路占用资源更少,结构更为简单,大量减少后续FPGA装箱、布局、布线阶段的工作量。

Re-synthesis of Multi-level Sequential Circuits Based on Register Retiming

The present invention proposes a method of synthesizing operation of multi-level sequential circuit based on register timing. The steps are: using the design flow of FPGA to generate the lookup table circuit by hardware description language; initializing the time margin of each pipeline level of the lookup table sequential circuit; using the method of dividing the cone set of lookup table circuit to select the lookup table cone set in turn from the input port to the output port. Circuit; Re-synthesis operation of the lookup table cone-set circuit: If the cone-set circuit does not cross the register, the lookup table re-synthesis operation method is applied; if the cone-set crosses the register, the lookup table circuit is classified; and the circuit after re-synthesis is judged according to the time margin. The invention utilizes the time margin in the pipeline design of sequential circuits to provide an optimization scheme for the re-synthesis of lookup tables to a greater extent under the constraint of critical path delay. The optimized circuit occupies less resources, has simpler structure and greatly reduces the workload in the following stages of packing, layout and wiring of the FPGA.

【技术实现步骤摘要】
基于寄存器重定时的多流水级时序电路再综合操作方法
本专利技术涉及查找表时序电路网表再综合的
,尤其涉及一种基于寄存器重定时的多流水级时序电路再综合操作方法。
技术介绍
在FPGA设计流程中,硬件程序员设计的硬件描述语言(HardwareDescriptionLanguage,HDL)经过逻辑综合产生门级网表(与非门电路网表),门级网表经过映射产生查找表(LookUpTable,LUT)电路,查找表电路经过装箱到FPGA的更大单元的逻辑块中,然后经过布局布线最后生成可下载到FPGA的比特流文件,如图1所示。查找表电路网表再综合可以用布尔满足性一致的电路(使用查找表更少)代替原来的电路,从而进行面积优化。文献[LingA,SinghDP,BrownSD.FPGAtechnologymapping:astudyofoptimality[C].ProceedingsofDesignAutomationConference.NewYork:ACM,2005:427-432.]和[CongJ,MinkovichK.ImprovedSAT-basedbooleanmatchingusingimplicantsforLUT-basedFPGAs[C].Proceedingsof15thInternationalSymposiumonFieldProgrammableGateArrays.NewYork:ACM,2007:139-147.]针对组合电路提出了布尔匹配的再综合算法,但是上述方法没有考虑到时序电路的关键路径时延要求,无法应用在时序电路中。因为查找表再综合在面积得到优化的同时可能会使路径时延增加从而不能满足时序电路关键路径时延要求,针对该情况原有方案对路径时延增加的再综合方案进行简单舍弃。而实际应用中,时序电路中各流水级中都有可以利用的时间裕量,可以用来补充查找表再综合增加的路径时延。文献[李鹏,以时间裕量为参数的时序电路再综合算法,《计算机辅助设计与图形学学报》,22卷9期,2010年9月.]针对查找表输出端口只驱动一条路径的简单查找表结构的情况,通过多输入单输出查找表寄存器重定时可以将后续流水级的时间裕量对前流水级进行补充。但是该算法并没有考虑到多输入多输出查找表寄存器重定时的情况。而且多输入多输出查找表会对流水级电路中的时间裕量的使用产生一定的限制,并不是所有流水级存在的时间裕量都可以得到利用。
技术实现思路
针对现有方法对路径时延增加的再综合方案进行简单舍弃的技术问题,本专利技术提出一种基于寄存器重定时的多流水级时序电路再综合操作方法,计算多输入多输出查找表电路的时间裕量,可以有效利用多输入多输出查找表时序电路中的时间裕量从而使再综合后的电路在关键路径时延约束下达到面积最优。为了达到上述目的,本专利技术的技术方案是这样实现的:一种基于寄存器重定时的多流水级时序电路再综合操作方法,其步骤如下:步骤一:利用FPGA设计流程将用户设计的硬件描述语言经过逻辑综合和映射阶段处理产生查找表电路;步骤二:初始化查找表时序电路各流水级的时间裕量:利用多输入多输出查找表时序电路的时间裕量计算方法对查找表时序电路中各流水级和其内部路径的时间裕量进行计算;步骤三:利用查找表电路划分锥集方法从输入端口开始向输出端口方向依次选择查找表锥集电路;步骤四:对查找表锥集电路进行再综合操作:(1)如果锥集电路未跨越寄存器,则将步骤二产生的查找表锥集电路应用查找表再综合操作方法进行处理;(2)如果锥集跨越寄存器,可针对电路查找表特点进行分类处理;步骤五:依据时间裕量对再综合后的电路进行取舍判断:如果当前流水级可用时间裕量为负,舍弃步骤四的再综合方案;如果当前流水级可用时间裕量为正,采用步骤四的再综合方案。单流水级关键路径时延和局部时间裕量的求解方法为:(a)计算寄存器之间各条边的时延;(b)将流水级输入寄存器节点的Tarrival值设置为0;(c)计算其他节点的Tarrival值:其中,i为流水线中的任意一个路径的起点,j为该路径的终点,Tarrival(i)为节点i的信号到达时间,Tarrival(j)为节点j的信号到达时间,fanin(j)代表连接节点j前的任意一个节点,delay(i,j)代表路径(i,j)的时延;(d)将所有流水级输出端口寄存器Trequired值设置为关键路径时延:其中,registerout为任意一个输出端口的寄存器;(e)利用下述公式计算其他节点的Trequired值为:其中,fanout(i)代表节点i向后所驱动的任意节点,Trequired(i)表示节点i的信号最迟到达时间,Trequierd(j)表示节点j的信号最迟到达时间;(f)利用下述公式计算电路中任意连接的时间裕量值:slack(i,j)=Trequierd(j)-Tarrival(i)-delay(i,j);(g)该流水级内部任意一条路径的局部时间裕量为:slack(M,i)=CPD-delay(M,i),其中,i为流水级M内的任一条路径;(h)该流水级的局部时间裕量为:slack(M)=min(slack(M,i)),i∈M。多流水级流水线电路的整个流水线电路的时钟周期必须大于等于其内部流水级中利用单流水级关键路径时延方法求出的最长流水级关键路径时延,相应的各流水级时间裕量的计算依据设置的时钟周期;普通流水线电路各流水级可利用的全局时间裕量为本流水级的局部时间裕量加上该流水级后续所有流水级的局部时间裕量:其中,N为流水级M往后最后流水线电路的最后一个流水级,L为流水级。内部有输出端口的流水级可利用的局部时间裕量为:设流水级中驱动输出端口的查找表输出端口到该流水级输出寄存器之间的路径时延为y,路径时延y和该流水级的局部时间裕量二者之间的最小值为该流水级可利用的局部时间裕量;内部有输出端口的流水级的全局时间裕量求解方法为:如果流水级N的后续流水级为没有多余的输出端口的普通流水级N+1,则可以将后续所有流水级的可利用的局部时间裕量相加和路径长度y对比,最小值为该流水级可利用的时间裕量。所述步骤三中选择查找表锥集电路的方法为:将原始查找表电路网表从输入端口向输出端口方向开始划分成由若干个查找表组成的K输入锥集,K根据电路中查找表的输入端口个数和电路结构进行设置,设查找表输入端口数为J,则K=3*J-2,锥集内的输入端口要小于等于K;如果锥集内的电路为面积最优电路时,即该电路为K输入面积最优,无法通过后续再综合将查找表进行进一步的优化,该K输入锥集无效,需要接着往后继续选择锥集电路。所述步骤四中锥集跨越寄存器时,电路查找表特点进行分类处理的方法为:针对查找表的寄存器重定时:多输入单输出查找表寄存器重定时:寄存器由查找表输入端到输出端重定时,需要所有输入端口都存在寄存器;寄存器由查找表输出端到输入端重定时则不受限制;多输入多输出查找表寄存器重定时:寄存器由查找表输入端到输出端重定时,需要所有输入端口都存在寄存器;寄存器由查找表输出端到输入端重定时,需要输出端口驱动的所有路径上都存在寄存器。所述多输入单输出查找表锥集寄存器重定时再综合方法为:(a1)首先将寄存器前移创造出有效锥集,使锥集电路不含有寄存器;(b1)对锥集电路进行再综合操作;(c1)将寄本文档来自技高网
...

【技术保护点】
1.一种基于寄存器重定时的多流水级时序电路再综合操作方法,其特征在于,其步骤如下:步骤一:利用FPGA设计流程将用户设计的硬件描述语言经过逻辑综合和映射阶段处理产生查找表电路;步骤二:初始化查找表时序电路各流水级的时间裕量:利用多输入多输出查找表时序电路的时间裕量计算方法对查找表时序电路中各流水级和其内部路径的时间裕量进行计算;步骤三:利用查找表电路划分锥集方法从输入端口开始向输出端口方向依次选择查找表锥集电路;步骤四:对查找表锥集电路进行再综合操作:(1)如果锥集电路未跨越寄存器,则将步骤二产生的查找表锥集电路应用查找表再综合操作方法进行处理;(2)如果锥集跨越寄存器,可针对电路查找表特点进行分类处理;步骤五:依据时间裕量对再综合后的电路进行取舍判断:如果当前流水级可用时间裕量为负,舍弃步骤四的再综合方案;如果当前流水级可用时间裕量为正,采用步骤四的再综合方案。

【技术特征摘要】
1.一种基于寄存器重定时的多流水级时序电路再综合操作方法,其特征在于,其步骤如下:步骤一:利用FPGA设计流程将用户设计的硬件描述语言经过逻辑综合和映射阶段处理产生查找表电路;步骤二:初始化查找表时序电路各流水级的时间裕量:利用多输入多输出查找表时序电路的时间裕量计算方法对查找表时序电路中各流水级和其内部路径的时间裕量进行计算;步骤三:利用查找表电路划分锥集方法从输入端口开始向输出端口方向依次选择查找表锥集电路;步骤四:对查找表锥集电路进行再综合操作:(1)如果锥集电路未跨越寄存器,则将步骤二产生的查找表锥集电路应用查找表再综合操作方法进行处理;(2)如果锥集跨越寄存器,可针对电路查找表特点进行分类处理;步骤五:依据时间裕量对再综合后的电路进行取舍判断:如果当前流水级可用时间裕量为负,舍弃步骤四的再综合方案;如果当前流水级可用时间裕量为正,采用步骤四的再综合方案。2.根据权利要求1所述的基于寄存器重定时的多流水级时序电路再综合操作方法,其特征在于,单流水级关键路径时延和局部时间裕量的求解方法为:(a)计算寄存器之间各条边的时延;(b)将流水级输入寄存器节点的Tarrival值设置为0;(c)计算其他节点的Tarrival值:其中,i为流水线中的任意一个路径的起点,j为该路径的终点,Tarrival(i)为节点i的信号到达时间,Tarrival(j)为节点j的信号到达时间,fanin(j)代表连接节点j前的任意一个节点,delay(i,j)代表路径(i,j)的时延;(d)将所有流水级输出端口寄存器Trequired值设置为关键路径时延:其中,registerout为任意一个输出端口的寄存器;(e)利用下述公式计算其他节点的Trequired值为:其中,fanout(i)代表节点i向后所驱动的任意节点,Trequired(i)表示节点i的信号最迟到达时间,Trequierd(j)表示节点j的信号最迟到达时间;(f)利用下述公式计算电路中任意连接的时间裕量值:slack(i,j)=Trequierd(j)-Tarrival(i)-delay(i,j);(g)该流水级内部任意一条路径的局部时间裕量为:slack(M,i)=CPD-delay(M,i),其中,i为流水级M内的任一条路径;(h)该流水级的局部时间裕量为:slack(M)=min(slack(M,i)),i∈M。3.根据权利要求2所述的基于寄存器重定时的多流水级时序电路再综合操作方法,其特征在于,多流水级流水线电路的整个流水线电路的时钟周期必须大于等于其内部流水级中利用单流水级关键路径时延方法求出的最长流水级关键路径时延,相应的各流水级时间裕量的计算依据设置的时钟周期;普通流水线电路各流水级可利用的全局时间裕量为本流水级的局部时间裕量加上该流水级后续所有流水级的局部时间裕量:其中,N为流水级M往后最后流水线电路的最后一个流水级,L为流水级M+1到N之间的流水级。4.根据权利要求3所述的基于寄存器重定时的多流水级时序电路再综合操作方法,其特征在于,内部有输出端口的流水级可利用的局部时间裕量为:设流水级中驱动输出端口的查找表输出端口到该流水级输出寄存器之间的路径时延为y,路径时延y和该流水...

【专利技术属性】
技术研发人员:李鹏李运娣郭小波
申请(专利权)人:河南工程学院
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1