CN114462337A - 时序逻辑的综合方法及装置、设备、存储介质 - Google Patents
时序逻辑的综合方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114462337A CN114462337A CN202011241645.6A CN202011241645A CN114462337A CN 114462337 A CN114462337 A CN 114462337A CN 202011241645 A CN202011241645 A CN 202011241645A CN 114462337 A CN114462337 A CN 114462337A
- Authority
- CN
- China
- Prior art keywords
- netlist
- logic
- library
- clock
- description information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 152
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 92
- 238000013507 mapping Methods 0.000 claims abstract description 71
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000013461 design Methods 0.000 claims description 22
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 19
- 230000015572 biosynthetic process Effects 0.000 description 16
- 238000003786 synthesis reaction Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000001308 synthesis method Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请实施例公开了一种时序逻辑的综合方法及装置、设备和存储介质,其中,所述方法包括:将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
Description
技术领域
本申请实施例涉及电子技术,涉及但不限于一种时序逻辑的综合方法及装置、设备、存储介质。
背景技术
在集成电路设计流程中,大多使用RTL(Register Transfer Level,寄存器转换级逻辑电路)的硬件描述语言(例如常见的Verilog HDL硬件描述语言)来描述集成电路。然后利用上述硬件描述语言经过EDA(Electronic Design Automation,电气设计自动化)工具(例如Verilog模拟器)完成功能验证后所产生的硬件描述语言码,在指定的限制参数的条件下进行“最佳化合成动作”,进而产生出符合限制参数的电路描述。其中会涉及到一系列的逻辑综合过程,即将电路的行为级描述,特别是RTL级描述转化成为门级表达的过程。
因此,在优化时序逻辑的过程中,如何将原始电路转化成具有更高时序性能的门级表达,成为本领域技术人员亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供一种时序逻辑的综合方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种时序逻辑的综合方法,所述方法包括:
将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
第二方面,本申请实施例提供一种时序逻辑的综合装置,所述装置包括:
转换单元,用于将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
映射单元,用于根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述时序逻辑的综合方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述时序逻辑的综合方法中的步骤。
本申请实施例提供一种时序逻辑的综合方法及装置、设备、存储介质,通过将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器,如此,能够合理利用锁存器在提高芯片性能方面的优势进行时序逻辑综合,从而使得性能在芯片设计中达到最优化。
附图说明
图1为本申请实施例时序逻辑的综合方法的实现流程示意图一;
图2为本申请实施例时序逻辑的综合方法的实现流程示意图二;
图3为本申请实施例时序逻辑的综合方法的实现流程示意图三;
图4A为本申请实施例逻辑库网表中逻辑器件的管脚描述示意图;
图4B为相关技术中逻辑库网表映射到工艺库网表后的门级器件的连接关系示意图;
图4C为相关技术中时钟脉冲发生器的原理和波形示意图;
图4D为本申请实施例逻辑库网表映射到工艺库网表后的门级器件的连接关系示意图;
图5为本申请实施例时序逻辑的综合装置的组成结构示意图。
具体实施方式
下面结合附图和实施例对本申请的技术方案进一步详细阐述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种时序逻辑的综合方法,该方法应用于电子设备,该方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在所述电子设备的存储介质中。图1为本申请实施例时序逻辑的综合方法的实现流程示意图一,如图1所示,所述方法包括:
步骤S101、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
这里,在集成电路设计中RTL是用于描述同步数字电路操作的抽象级。当使用自动化工具对芯片进行时序逻辑综合时,在RTL级中芯片是由一组寄存器以及寄存器之间的逻辑操作构成。之所以如此,是因为绝大多数的电路可以被看成由寄存器来存储二进制数据、由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。
而逻辑综合是将电路的行为级描述,特别是RTL级描述转化成为门级表达的过程。其中,RTL级和门级简单的区别在于,RTL是用硬件描述语言(Verilog或VHDL)描述设定的功能,门级则是用具体的逻辑单元(依赖厂家的库)来实现设定的功能。即RTL和门级是设计实现上的不同阶段,RTL经过逻辑综合后,就得到门级。
本申请实施例中,芯片可以包括至少一个功能模块,且每个功能模块都有对应的RTL电路。
这里,所述电子设备可以为能够实现时序逻辑综合的设备,例如RTL仿真设备。当然,还可以为其他能够实现时序逻辑综合的设备,本申请实施例对所述设备的具体类型并不做限制。
本申请实施例中,所述描述信息可以为引脚(即管脚)的描述信息,所述引脚就是从器件内部电路引出与外部电路的接线,所有的引脚就构成了这个器件的接口。其中,引脚可划分为脚跟(bottom)、脚趾(toe)、脚侧(side)等部分。
步骤S102、根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
这里,网表描述了芯片电路中各种元件之间的连接关系。在这些元件之中,包括组合逻辑器件、时序逻辑器件和其他器件。组合逻辑器件可以有若干输入变量和输出变量,其中每个输出变量是相应输入变量的逻辑函数,并且每个时刻输出变量的状态仅与当时的输入变量的状态有关,而与当前时刻之前的输入或输出的状态无关。组合逻辑的例子包括各种逻辑门。与之不同地,时序逻辑器件任意时刻的输出不仅取决于该时刻的输入,还与该时刻之前器件的原始状态有关。
本申请实施例中,当所述描述信息为引脚的描述信息时,所述引脚的描述信息,指的是引脚的功能,在一个器件中,不同的引脚对应不同的功能。
在一些实施例中,所述方法还包括:控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
这里,时钟脉冲发生器将接收到的时钟电平信号的宽度变窄,并将宽度变窄后的时钟电平信号输出给所述锁存器,以减小所述锁存器引入毛刺的概率。
在一些实施例中,所述步骤S102、根据所述描述信息,将所述逻辑库网表映射为工艺库网表,可以通过以下步骤实现:
步骤S1021、根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
步骤S1022、通过所述自动化脚本,将所述逻辑库网表中逻辑器件的引脚,映射到带时序信息的工艺库网表的时序逻辑器件中。
本申请实施例中,可以通过编写自动化脚本,将所述逻辑库网表中逻辑器件的引脚,映射到带时序信息的工艺库网表的时序逻辑器件中。
本申请实施例中,通过将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器,如此,能够合理利用锁存器在提高芯片性能方面的优势进行时序逻辑综合,从而使得性能在芯片设计中达到最优化。
基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,所述方法包括:
步骤S111、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;其中,所述描述信息包括同步使能和时钟信号输入;
这里,若所述描述信息为同步使能,则所述描述信息对应引脚的功能简单的来说就是当输入有效时,输出信号可以正常输出,当其无效时,端口呈现高阻态。时钟信号是时序逻辑的基础,用于决定逻辑单元中的状态何时更新,且时钟信号是由时钟发生器产生的,只有两个电平,一是低电平,另一个是高电平。
步骤S112、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
本申请实施例中,所述时钟脉冲发生器可以为无稳态多谐振荡器(方波发生器)或自激多谐振荡器。
这里,将描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口,指的是将描述信息为同步使能的引脚所连接的信号,连接到所述时钟脉冲发生器的时钟使能信号。
步骤S113、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口;其中,所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
这里,将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口,指的是将描述信息为时钟信号输入的引脚所连接的信号(即原时钟信号),连接到所述时钟脉冲发生器的时钟信号输入端口。
在一些实施例中,所述方法还包括:控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
在一些实施例中,所述步骤S112、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口,可以通过以下步骤实现:
步骤S1121、根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
步骤S1122、通过所述自动化脚本,将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口。
基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,图2为本申请实施例时序逻辑的综合方法的实现流程示意图二,如图2所示,所述方法包括:
步骤S201、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;其中,所述描述信息包括同步使能、时钟信号输入、数据输入和数据输出;
步骤S202、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
步骤S203、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口;
步骤S204、将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
这里,所述将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口,指的是将描述信息为数据输入的引脚的输入数据,连接到所述锁存器的数据输入端口。
步骤S205、将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口;其中,所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
在一些实施例中,所述方法还包括:控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
在一些实施例中,所述步骤S203、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口,可以通过以下步骤实现:
步骤S2031、根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
步骤S2032、通过所述自动化脚本,将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口。
基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,图3为本申请实施例时序逻辑的综合方法的实现流程示意图三,如图3所示,所述方法包括:
步骤S301、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;其中,所述描述信息包括同步使能、时钟信号输入、数据输入和数据输出;
步骤S302、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
步骤S303、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口;
步骤S304、将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
步骤S305、将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口;其中,所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器组,所述时钟脉冲发生器的时钟信号输出端口与所述锁存器组中每一锁存器的时钟输入端口连接;所述时钟脉冲发生器的时钟信号输出端口用于为所述每一锁存器提供时钟电平信号;
这里,映射到工艺库网表后的门级器件包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器组,如此,能够充分并合理利用锁存器在提高芯片性能方面的优势进行时序逻辑综合。同时,通过对锁存器组中锁存器数量的权衡,能够精准控制功耗,使得性能与功耗在高性能芯片设计中达到最优化。
步骤S306、控制所述每一锁存器基于所述时钟电平信号,对所述数据输入端口的输入数据进行处理。
在一些实施例中,所述方法还包括:控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
在一些实施例中,所述步骤S304、将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口,可以通过以下步骤实现:
步骤S3041、根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
步骤S3042、通过所述自动化脚本,将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口。
基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,所述方法包括:
步骤S311、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;其中,所述描述信息包括同步使能、时钟信号输入、数据输入和数据输出;
步骤S312、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
步骤S313、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口;
步骤S314、将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
步骤S315、将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口;其中,所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器组,所述时钟脉冲发生器的时钟信号输出端口与所述锁存器组中每一锁存器的时钟输入端口连接;所述时钟脉冲发生器的时钟信号输出端口用于为所述每一锁存器提供时钟电平信号;
步骤S316、控制所述每一锁存器基于所述时钟电平信号,对所述数据输入端口的输入数据进行处理。
步骤S317、根据所述时钟脉冲发生器的功耗和所述锁存器的功耗,确定所述锁存器组中锁存器的数量;或,根据所述功能模块的数据总线的宽度,确定所述锁存器组中锁存器的数量。
本申请实施例中,可以根据所述时钟脉冲发生器的功耗和所述锁存器的功耗,确定所述锁存器组中锁存器的数量。也可以根据所述功能模块的数据总线的宽度,确定所述锁存器组中锁存器的数量。
在一些实施例中,所述方法还包括:控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,所述方法包括:
步骤S321、将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;其中,所述描述信息包括同步使能、时钟信号输入、数据输入和数据输出;
步骤S322、将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
步骤S323、将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口;
步骤S324、将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
步骤S325、将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口;其中,所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器组,所述时钟脉冲发生器的时钟信号输出端口与所述锁存器组中每一锁存器的时钟输入端口连接;所述时钟脉冲发生器的时钟信号输出端口用于为所述每一锁存器提供时钟电平信号;
步骤S326、控制所述每一锁存器基于所述时钟电平信号,对所述数据输入端口的输入数据进行处理。
步骤S327、根据所述时钟脉冲发生器的功耗和所述锁存器的功耗,确定所述锁存器组中锁存器的数量;或,根据所述功能模块的数据总线的宽度,确定所述锁存器组中锁存器的数量;
步骤S328控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
在一些实施例中,所述步骤S325、将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口,可以通过以下步骤实现:
步骤S3251、根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
步骤S3252、通过所述自动化脚本,将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口。
本申请实施例中,通过编写自动化脚本,来实现时钟脉冲发生器加锁存器结构的逻辑综合,从而避免了EDA工具在使用锁存器并进行逻辑优化时所带来的不确定性。
在逻辑综合过程中,一般使用Design Compiler工具(一种逻辑综合工具)将RTL先转化成工具自带的逻辑库网表(例如Gtech库),再将这一网表映射到带时序信息的工艺库网表,在此基础上做逻辑优化。在高性能芯片设计中,如CPU(Central Processing Unit,中央处理器)设计,为达到性能及功耗最优化,有时会将特殊的或重复多次使用的功能模块用脚本方式转换成固定的网表,避免工具自动优化带来的时序性能和功耗的不确定性。但是,在特殊功能模块映射到固定网表的过程中,现有技术不能根据实际模块所处的连接关系,灵活地改变和提高网表质量,对某些复杂的逻辑而言,不能充分控制并发挥工具对逻辑的优化性能。
因此,基于前述的实施例,本申请实施例再提供一种时序逻辑的综合方法,解决了在工具自动优化所有时序逻辑过程中,只能将时序逻辑综合成寄存器,或时钟门加寄存器结构的问题。本申请实施例中的方法,将电路综合成具有更高时序性能的脉冲发生器加锁存器(pulse-latch)结构,如此,能够充分合理的利用脉冲发生器加锁存器的结构以提高芯片性能。
图4A为本申请实施例逻辑库网表中逻辑器件的管脚描述示意图,如图4A所示,在逻辑综合的过程中,会将原始RTL所描述的时序逻辑映射到工具自带库的时序功能描述逻辑器件(SEQGEN)中。其中,映射后的SEQGEN器件40的管脚描述包括:异步清零41(clear)、异步置位42(preset)、数据输入43(next_state)、数据载入44(data_in)、异步使能45(enable)、同步清零46(sync_clear)、同步置位47(sync_preset)、同步使能48(sync_enable)、同步切换49(sync_toggle)、时钟信号50(clk)、数据输出51(Q)和反向数据输出52(QN)。
然后,将SEQGEN器件中每个管脚的连接,映射到带时序信息的工艺库的时序逻辑器件中。图4B为相关技术中逻辑库网表映射到工艺库网表后的门级器件的连接关系示意图,如图4B所示,在使用自动化工具将图4A中的逻辑库网表的SEQGEN器件40,映射到工艺库网表的寄存器组53后的连接关系示例中,原逻辑库网表中SEQGEN器件40的同步使能(sync_enable)管脚48所连接的信号被连接到时钟门54的时钟使能端口541的信号中。SEQGEN器件40的时钟信号(clk)管脚50连接到时钟门54的输入端542,受使能信号控制。所述时钟门54的输出端543连接到寄存器组53的时钟端531上。当然,所述寄存器组中还包括数据输入端和数据输出端。
图4C为相关技术中时钟脉冲发生器的原理和波形示意图,如图4C所示,图4C中的图(a)为时钟脉冲发生器的原理图,原始输入信号为时钟信号为clk,其经过非门55和与门56后的输出信号为时钟信号clk2。图(b)为图(a)中的时钟脉冲发生器对应的波形图,波形57为输入的时钟信号clk的波形图,波形58为时钟信号clk经过非门55后对应的波形图,波形59为输出的时钟信号clk2在理想状态,即无延迟状态下对应的波形图,波形60为输出的时钟信号clk2的实际波形图。可以看出,对于脉冲发生器加锁存器的结构而言,工具无法准确判断其时序特性,即无法通过EDA工具自行综合出带脉冲发生器加锁存器的结构的网表。且在实际应用中,考虑到工具对锁存器时序分析的局限性,一般不将锁存器应用于模块的端口的时序逻辑器件。
图4D为本申请实施例逻辑库网表映射到工艺库网表后的门级器件的连接关系示意图,如图4D所示,本申请实施例考虑到脉冲发生器加锁存器的结构对提高芯片设计性能具有很大的作用,因此基于工具的综合逻辑,通过编写自动化脚本将图4A中的逻辑库(例如Gtech库)网表的SEQGEN器件40的同步使能(sync_enable)管脚48所连接的信号连接到时钟脉冲发生器61的使能信号端611。将SEQGEN器件40的时钟信号(clk)管脚50所连接的信号连接到所述时钟脉冲发生器61的输入端612,将所述时钟脉冲发生器61的输出端613连接到锁存器组62的时钟输入端621。将SEQGEN器件40的数据输入(next_state)管脚43所连接的信号连接到所述锁存器组62的数据输出端622。当然,所述锁存器组62还包括数据输出端623。
另外,本申请实施例会综合考虑到脉冲发生器和锁存器组的功耗,来确定一个脉冲发生器接多少个锁存器,使得总功耗最低。
锁存器是由电平触发的,因此,如果存在一点小脉冲,就会存在数据打乱的情况。本申请实施例中,利用时钟脉冲发生器去控制电平脉冲的宽度,把宽度缩窄,再提供给锁存器使用,这样的话就减少了毛刺发生的概率。另外结合其他相关的动作(例如综合),可以让毛刺的引入减少到最低。
本申请实施例中,通过合理使用脉冲发生器加锁存器的结构对应的时序逻辑以提高芯片的设计性能。通过自动化脚本,精确控制时序逻辑部分的功耗,从而降低整个设计的功耗。对高性能要求的芯片设计的综合性能提升具有很好的推进作用。
本申请实施例中,映射后的脉冲发生器加锁存器的结构既具有时序逻辑数据锁存功能,同时也避免了锁存器容易引入毛刺的缺点。该方法能够充分并合理利用锁存器在提高芯片性能方面的优势,同时避免EDA工具在使用锁存器并进行逻辑优化时所带来的不确定性。同时,能够精准控制功耗,使得性能与功耗在高性能芯片设计中达到最优化。
基于前述的实施例,本申请实施例提供一种时序逻辑的综合装置,该装置包括所包括的各单元、以及各单元所包括的各模块、以及各模块所包括的各部件,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为CPU、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或FPGA(Field Programmable Gate Array,现场可编程门阵列)等。
图5为本申请实施例时序逻辑的综合装置的组成结构示意图,如图5所示,所述装置500包括:
转换单元501,用于将芯片中功能模块对应的RTL电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
映射单元502,用于根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
在一些实施例中,所述描述信息包括同步使能和时钟信号输入;
对应地,所述映射单元502,包括:
第一映射模块,用于将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
第二映射模块,用于将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口。
在一些实施例中,所述描述信息还包括数据输入和数据输出;
对应地,所述映射单元502,还包括:
第三映射模块,用于将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
第四映射模块,用于将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口。
在一些实施例中,所述锁存器为锁存器组;
所述时钟脉冲发生器的时钟信号输出端口与所述锁存器组中每一锁存器的时钟输入端口连接;
所述时钟脉冲发生器的时钟信号输出端口用于为所述每一锁存器提供时钟电平信号;
对应地,所述装置还包括:
第一控制单元,用于控制所述每一锁存器基于所述时钟电平信号,对所述数据输入端口的输入数据进行处理。
在一些实施例中,所述装置还包括:
第一确定单元,用于根据所述时钟脉冲发生器的功耗和所述锁存器的功耗,确定所述锁存器组中锁存器的数量;
第二确定单元,用于根据所述功能模块的数据总线的宽度,确定所述锁存器组中锁存器的数量。
在一些实施例中,所述装置还包括:
第二控制单元,用于控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;
其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
在一些实施例中,所述映射单元502,包括:
确定部件,用于根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
映射部件,用于通过所述自动化脚本,将所述逻辑库网表中逻辑器件的引脚,映射到带时序信息的工艺库网表的时序逻辑器件中。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的时序逻辑的综合方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、ROM(Read Only Memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的时序逻辑的综合方法中的步骤。
对应地,本申请实施例提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述时序逻辑的综合方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种时序逻辑的综合方法,其特征在于,所述方法包括:
将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
2.根据权利要求1所述的方法,其特征在于,所述描述信息包括同步使能和时钟信号输入;
对应地,所述根据所述描述信息,将所述逻辑库网表映射为工艺库网表,包括:
将所述逻辑库网表中描述信息为同步使能的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟使能端口;
将所述逻辑库网表中描述信息为时钟信号输入的引脚,映射为所述工艺库网表中时钟脉冲发生器的时钟信号输入端口。
3.根据权利要求2所述的方法,其特征在于,所述描述信息还包括数据输入和数据输出;
对应地,所述根据所述描述信息,将所述逻辑库网表映射为工艺库网表,还包括:
将所述逻辑库网表中描述信息为数据输入的引脚,映射为所述工艺库网表中锁存器的数据输入端口;
将所述逻辑库网表中描述信息为数据输出的引脚,映射为所述工艺库网表中锁存器的数据输出端口。
4.根据权利要求3所述的方法,其特征在于,所述锁存器为锁存器组;
所述时钟脉冲发生器的时钟信号输出端口与所述锁存器组中每一锁存器的时钟输入端口连接;
所述时钟脉冲发生器的时钟信号输出端口用于为所述每一锁存器提供时钟电平信号;
对应地,所述方法还包括:
控制所述每一锁存器基于所述时钟电平信号,对所述数据输入端口的输入数据进行处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述时钟脉冲发生器的功耗和所述锁存器的功耗,确定所述锁存器组中锁存器的数量;或,
根据所述功能模块的数据总线的宽度,确定所述锁存器组中锁存器的数量。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
控制所述时钟脉冲发生器将接收到的第一时钟电平信号转化为第二时钟电平信号;
其中,所述第二时钟电平信号的脉冲宽度小于所述第一时钟电平信号的脉冲宽度。
7.根据权利要求6所述的方法,其特征在于,所述根据所述描述信息,将所述逻辑库网表映射为工艺库网表,包括:
根据所述描述信息和电气设计自动化工具的综合逻辑,确定自动化脚本;
通过所述自动化脚本,将所述逻辑库网表中逻辑器件的引脚,映射到带时序信息的工艺库网表的时序逻辑器件中。
8.一种时序逻辑的综合装置,其特征在于,所述装置包括:
转换单元,用于将芯片中功能模块对应的寄存器转换级电路转换为逻辑库网表;所述逻辑库网表中包括多个逻辑器件的描述信息;
映射单元,用于根据所述描述信息,将所述逻辑库网表映射为工艺库网表;所述工艺库网表中包括时钟脉冲发生器,以及与所述时钟脉冲发生器连接的锁存器。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一项所述时序逻辑的综合方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7任一项所述时序逻辑的综合方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011241645.6A CN114462337A (zh) | 2020-11-09 | 2020-11-09 | 时序逻辑的综合方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011241645.6A CN114462337A (zh) | 2020-11-09 | 2020-11-09 | 时序逻辑的综合方法及装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114462337A true CN114462337A (zh) | 2022-05-10 |
Family
ID=81404407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011241645.6A Pending CN114462337A (zh) | 2020-11-09 | 2020-11-09 | 时序逻辑的综合方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462337A (zh) |
-
2020
- 2020-11-09 CN CN202011241645.6A patent/CN114462337A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112257369B (zh) | 一种逻辑设计分割方法及系统 | |
JP3331968B2 (ja) | グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体 | |
Nguyen et al. | Model-driven SoC design via executable UML to SystemC | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
CN102687114A (zh) | 具有行为特征的硬件设计的并发仿真 | |
CN106462431B (zh) | 在高级综合中提取系统架构 | |
CN101689216B (zh) | 压缩型电路仿真输出 | |
CN103116069A (zh) | 芯片频率的测试方法、装置及系统 | |
CN111581899A (zh) | 良率参数文件和门级网表的生成方法以及芯片的开发流程 | |
CN113408222A (zh) | 文件生成方法、装置、电子设备及存储介质 | |
CN112733478B (zh) | 用于对设计进行形式验证的装置 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN113868999A (zh) | 芯片优化系统及方法 | |
US8074192B2 (en) | Verification support apparatus, verification support method, and computer product | |
CN112347733A (zh) | 集成电路布局初始化与优化方法、装置、存储介质及设备 | |
CN114462337A (zh) | 时序逻辑的综合方法及装置、设备、存储介质 | |
US10606972B2 (en) | Method, design program, and design apparatus of a high level synthesis process of a circuit | |
CN115688643A (zh) | 仿真逻辑系统设计的方法、设备及存储介质 | |
US8443314B1 (en) | Abstraction level-preserving conversion of flip-flop-inferred hardware description language (HDL) to instantiated HDL | |
CN109885850B (zh) | 一种局部寄存器的生成方法及生成系统 | |
CN106503278B (zh) | 数字电路设计的时序分析方法及其系统 | |
CN114282464A (zh) | 芯片仿真验证中的协同仿真方法及应用 | |
CN113033132A (zh) | 一种确定端口时序约束的方法及相关装置 | |
CN113935264A (zh) | 低功耗综合方法及其装置 | |
Ding et al. | Improving the efficiency of monte carlo power estimation [vlsi] |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |