CN112331243B - 同时钟域下寄存器的逻辑解耦方法 - Google Patents
同时钟域下寄存器的逻辑解耦方法 Download PDFInfo
- Publication number
- CN112331243B CN112331243B CN202011348726.6A CN202011348726A CN112331243B CN 112331243 B CN112331243 B CN 112331243B CN 202011348726 A CN202011348726 A CN 202011348726A CN 112331243 B CN112331243 B CN 112331243B
- Authority
- CN
- China
- Prior art keywords
- sub
- registers
- register
- clock
- cluster
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/225—Clock input buffers
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明实施例涉及一种同时钟域下寄存器的逻辑解耦方法,包括:获取同时钟域下的接入时钟树的全部寄存器信息;对每个寄存器赋予一个不同的簇识别标记;当确定后级的第二寄存器与前级的第一寄存器之间存在时序路径时,将后级的第二寄存器的簇识别标记修改为第一寄存器的簇识别标记;遍历全部寄存器后,将具有相同簇识别标记的寄存器分为一簇,不在同一簇的寄存器之间互为逻辑解耦;根据簇识别标记对预布局进行调整,将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内,构建成一个子时钟域;对每个子时钟域插入一个或多个子根缓冲器,以将每个子时钟域独立接入时钟树,并通过插入的一个或多个子根缓冲器驱动子时钟域内的各寄存器。
Description
技术领域
本发明涉及数字电路设计技术领域,尤其涉及同时钟域下寄存器的逻辑解耦方法。
背景技术
在网络通讯领域,ATM交换机、核心路由器、千兆以太网以及各种网关设备中,系统数据速率、时钟速率不断提高,相应处理器的工作频率也越来越高;数据、语音、图像的传输速度已经远远高于500Mbps,数百兆乃至数吉的背板也越来越普遍。数字系统速度的提高意味着信号的升降时间尽可能短,由数字信号频率和边沿速率提高而产生的一系列高速设计问题也变得越来越突出。当信号的互连延迟大于边沿信号翻转时间的20%时,板上的信号导线就会呈现出传输线效应,这样的设计就成为高速设计。高速问题的出现给硬件设计带来了更大的挑战,有许多从逻辑角度看来正确的设计,如果在实际PCB设计中处理不当就会导致整个设计失败,这种情形在日益追求高速的网络通信领域更加明显。因高速问题产生的信号过冲、下冲、反射、振铃、串扰等将严重影响系统的正常时序,系统时序余量的减少迫使人们关注影响数字波形时序和质量的各种现象。由于速度的提高使时序变得苛刻时,无论事先对系统原理理解得多么透彻,任何忽略和简化都可能给系统带来严重的后果。在高速设计中,时序问题的影响更为关键。
目前,业内普遍采用在芯片设计过程中在时序路径上每个寄存器的CP端插入缓冲器(buffer)来保证在同一时钟域下全部寄存器的时钟同步。数字电路中的缓冲器一般有两个作用:一是提高驱动能力,二是确保信号时序正确,比如当一条走线上有保持时间违规(hold violation)(表现为数据到达过快,需要滞后到达),则可插入缓冲器,利用缓冲器的延时来修正这个保持时间违规(hold violation)。这一做法非常有效的解决了时钟同步的要求。
但是随着芯片规模越来越大,在一个时钟域内往往需要插入大量的缓冲器以满足时钟同步的需求,这样导致了大量缓冲器对芯片面积的占用,使得设计结构复杂,也带来了芯片功耗大等问题。
发明内容
本发明的目的是提供一种同时钟域下寄存器的逻辑解耦方法,通过将同时钟域下的寄存器按照逻辑关系进行解耦,划分为多簇,对于每簇使用子根缓冲器(sub-rootbuffer)接入时钟树,并使每簇中的寄存器在子时钟域下进行同步,也就是说通过构建子时钟域,允许逻辑解耦的各子时钟域之间存在时延偏差。这样在能够满足逻辑功能的前提下,既可以减少整个时钟域内的缓冲器(buffer)用量,降低功耗,又可节省芯片面积,使时钟树结构简化。
为此,第一方面,本发明实施例提供了一种同时钟域下寄存器的逻辑解耦方法,包括:
获取同时钟域下的接入时钟树的全部寄存器信息;
对每个寄存器赋予一个不同的簇识别标记;
从每个寄存器的输出向后级查找所连接的寄存器,当确定后级的第二寄存器与前级的第一寄存器之间存在时序路径(Timing path)时,将后级的第二寄存器的簇识别标记修改为第一寄存器的簇识别标记;
遍历全部寄存器后,将具有相同簇识别标记的寄存器分为一簇,不在同一簇的寄存器之间互为逻辑解耦;
根据簇识别标记对预布局进行调整,将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内,构建成一个子时钟域;
对每个子时钟域插入一个或多个子根缓冲器(sub-root buffer),以将每个子时钟域独立接入所述时钟树,并通过插入的一个或多个子根缓冲器驱动所述子时钟域内的各寄存器。
优选的,所述方法还包括:
在所述在子时钟域下对每个子时钟域内的多个寄存器进行时钟同步。
进一步优选的,所述时钟同步的方法具体包括:
对每个子时钟域内的多个寄存器根据时钟同步要求插入一个或多个缓冲器。
优选的,所述将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内具体为:
按照同一簇下的多个寄存器中各个单个寄存器的面积之和与预设系数之比计算每一簇的区域约束面积,并根据计算得到的区域约束面积确定所述一定区域;
将同一簇的多个寄存器的物理位置按照设计规则调整在不大于所述区域约束面积的一定区域内。
进一步优选的,所述预设系数为0.5。
优选的,所述子根缓冲器的物理位置也设置在所连接的子时钟域对应的一定区域内。
本发明实施例提供的同时钟域下寄存器的逻辑解耦方法,通过将同时钟域下的寄存器按照逻辑关系进行解耦,划分为多簇,对于每簇使用子根缓冲器(sub-root buffer)接入时钟树,并使每簇中的寄存器在子时钟域下进行同步,也就是说通过构建子时钟域,允许逻辑解耦的各子时钟域之间存在时延偏差。这样在能够满足逻辑功能的前提下,既可以减少整个时钟域内的缓冲器(buffer)用量,降低功耗,又可节省芯片面积,使时钟树结构简化。
附图说明
图1为本发明实施例提供的同时钟域下寄存器的逻辑解耦方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供了一种同时钟域下寄存器的逻辑解耦方法,用于数字电路后端设计过程中。其主要方法步骤如图1所示,包括:
步骤110,获取同时钟域下的接入时钟树的全部寄存器信息;
具体的,大部分的同步数字系统由级联的时序寄存器组及它们之间的组合电路组成,每个寄存器组包括多个寄存器,不同寄存器组之间的数据可能存在逻辑关系或不存在逻辑关系,每个数据信号都所存在一个双稳态下的寄存器中,当寄存器的时能时钟信号一到达,数据信号就离开寄存器,进入到下一个寄存器。理论上讲,在系统中,时钟树用以产生同步于每一个寄存器的特定时钟信号。同步事件在同一时刻发生在所有寄存器上,同步时钟信号到每一个寄存器的时间都基于一个全局时间基准来定义。
步骤120,对每个寄存器赋予一个不同的簇识别标记;
具体的,可以预先设定簇识别标记的生成规则,然后基于规则来生成簇识别标记。或者随机生成簇识别标记。在初始状态下,对每个寄存器赋予的簇识别标记都是不同的。
步骤130,从每个寄存器的输出向后级查找所连接的寄存器,当确定后级的第二寄存器与前级的第一寄存器之间存在时序路径(Timing path)时,将后级的第二寄存器的簇识别标记修改为第一寄存器的簇识别标记;
具体的,对每个寄存器按照输出向后级查找的过程,即是时序路径的追溯过程。时序路径是指设计中数据信号传播过程中所经过的逻辑路径。每一条时序路径都存在与之对应的一个始发点和一个终止点。通过本步骤的实施,最终可以实现同一个时序路径上的全部寄存器被赋成同样的簇识别标记,即作为其始发点的寄存器的簇识别标记。而对于不存在逻辑关系的两条时序路径,最终获得的簇识别标记是不同的。
步骤140,遍历全部寄存器后,将具有相同簇识别标记的寄存器分为一簇,不在同一簇的寄存器之间互为逻辑解耦;
步骤150,根据簇识别标记对预布局进行调整,将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内,构建成一个子时钟域;
具体的,可按照同一簇下的多个寄存器中各个单个寄存器的面积之和与预设系数之比计算每一簇的区域约束面积,并根据计算得到的区域约束面积确定步骤中所述的一定区域;然后将同一簇的多个寄存器的物理摆放位置按照设计规则调整在不大于区域约束面积的该一定区域内。
在本发明的具体实现中,预设系数优选为0.5。
步骤160,对每个子时钟域插入一个或多个子根缓冲器(sub-root buffer),以将每个子时钟域独立接入时钟树,并通过插入的一个或多个子根缓冲器驱动子时钟域内的各寄存器。
具体的,子根缓冲器(sub-root buffer)也是前面所述的缓冲器(buffer),用于驱动子时钟域内的各寄存器。在这里称为子根缓冲器仅为强调其作用是将每个子时钟域独立接入时钟树。优选的,子根缓冲器的物理位置也设置在所连接的子时钟域对应的一定区域内。
通过构建子时钟域,允许逻辑解耦的各子时钟域之间存在时延偏差,即对各子根缓冲器(sub-root buffer)带来的时延偏差不需要进行纠正。
步骤170,在子时钟域下对每个子时钟域内的多个寄存器进行时钟同步。
子时钟域下时钟同步的方法具体包括:对每个子时钟域内的多个寄存器根据时钟同步要求插入一个或多个缓冲器。
为了更好的理解,以一个具体例子进行说明。
在一个同时钟域下,具有五个寄存器,分别为S1、S2、S3、S4和S5。其中S1、S2、S3相互级联,S4和S5级联。每个寄存器都通过其CP端连接的一个或多个缓冲器连接到时钟树,即五个寄存器的时钟都同步。
通过采用本发明的逻辑解耦方法,首先对S1、S2、S3、S4和S5分别赋予一个不同的簇识别标记,然后根据时序路径的关系,将S2、S3的簇识别标记修改为与S1的相同,将S5的簇识别标记修改为与S4的相同。即将S1、S2、S3分为一簇,S4和S5分为一簇。将S1、S2、S3的物理位置按照设计规则调整在一定区域内,这个区域面积小于等于寄存器S1、S2、S3的面积和的两倍,构建成第一个子时钟域;将S4、S5的物理位置按照设计规则调整在一定区域内,这个区域面积小于等于寄存器S4、S5的面积和的两倍,构建成第二个子时钟域。对这两个子时钟域分别插入子根缓冲器以使其独立接入时钟树,然后再在第一子时钟域下对寄存器S1、S2、S3进行时钟同步,以及在第二子时钟域下对寄存器S4、S5进行时钟同步。
本发明实施例提供的同时钟域下寄存器的逻辑解耦方法,通过将同时钟域下的寄存器按照逻辑关系进行解耦,划分为多簇,对于每簇使用子根缓冲器(sub-root buffer)接入时钟树,并使每簇中的寄存器在子时钟域下进行同步,也就是说通过构建子时钟域,允许逻辑解耦的各子时钟域之间存在时延偏差。为各子时钟域提供驱动的子根缓冲器的数量远远小于要对每个寄存器分别进行驱动和时序调整(如时延)的缓冲器的数量。因此这样在能够满足逻辑功能的前提下,既可以减少整个时钟域内的缓冲器(buffer)用量,降低功耗,又可节省芯片面积,使时钟树结构简化。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种同时钟域下寄存器的逻辑解耦方法,其特征在于,所述逻辑解耦方法包括:
获取同时钟域下的接入时钟树的全部寄存器信息;
对每个寄存器赋予一个不同的簇识别标记;
从每个寄存器的输出向后级查找所连接的寄存器,当确定后级的第二寄存器与前级的第一寄存器之间存在时序路径(Timing path)时,将后级的第二寄存器的簇识别标记修改为第一寄存器的簇识别标记;
遍历全部寄存器后,将具有相同簇识别标记的寄存器分为一簇,不在同一簇的寄存器之间互为逻辑解耦;
根据簇识别标记对预布局进行调整,将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内,构建成一个子时钟域;
对每个子时钟域插入一个或多个子根缓冲器(sub-root buffer),以将每个子时钟域独立接入所述时钟树,并通过插入的一个或多个子根缓冲器驱动所述子时钟域内的各寄存器;
其中,所述将同一簇的多个寄存器的物理位置按照设计规则调整在一定区域内具体为:
按照同一簇下的多个寄存器中各个单个寄存器的面积之和与预设系数之比计算每一簇的区域约束面积,并根据计算得到的区域约束面积确定所述一定区域。
2.根据权利要求1所述的逻辑解耦方法,其特征在于,所述方法还包括:
在所述子时钟域下对每个子时钟域内的多个寄存器进行时钟同步。
3.根据权利要求2所述的逻辑解耦方法,其特征在于,所述时钟同步的方法具体包括:
对每个子时钟域内的多个寄存器根据时钟同步要求插入一个或多个缓冲器。
4.根据权利要求1所述的逻辑解耦方法,其特征在于,所述预设系数为0.5。
5.根据权利要求1所述的逻辑解耦方法,其特征在于,所述子根缓冲器的物理位置也设置在所连接的子时钟域对应的一定区域内。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348726.6A CN112331243B (zh) | 2020-11-26 | 2020-11-26 | 同时钟域下寄存器的逻辑解耦方法 |
PCT/CN2021/125322 WO2022111155A1 (zh) | 2020-11-26 | 2021-10-21 | 同时钟域下寄存器的逻辑解耦方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348726.6A CN112331243B (zh) | 2020-11-26 | 2020-11-26 | 同时钟域下寄存器的逻辑解耦方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112331243A CN112331243A (zh) | 2021-02-05 |
CN112331243B true CN112331243B (zh) | 2021-07-23 |
Family
ID=74308986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011348726.6A Active CN112331243B (zh) | 2020-11-26 | 2020-11-26 | 同时钟域下寄存器的逻辑解耦方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112331243B (zh) |
WO (1) | WO2022111155A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112331243B (zh) * | 2020-11-26 | 2021-07-23 | 安徽省东科半导体有限公司 | 同时钟域下寄存器的逻辑解耦方法 |
CN114818595B (zh) * | 2022-06-24 | 2022-09-13 | 飞腾信息技术有限公司 | 芯片模块接口时钟构建方法、装置、存储介质及电子设备 |
CN115859902B (zh) * | 2022-12-26 | 2023-10-27 | 郑州信大华芯信息科技有限公司 | 一种基于D-tree虚拟时钟结构的时钟树生长方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
CN103793483B (zh) * | 2014-01-16 | 2017-02-15 | 清华大学 | 基于时钟节点结群的时钟树生成方法和系统 |
CN106650111A (zh) * | 2016-12-26 | 2017-05-10 | 北京华大九天软件有限公司 | 一种基于时序依赖关系的时钟综合结果评价方法 |
CN108984806A (zh) * | 2017-05-31 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种时钟树综合方法以及计算机可读存储介质 |
US10296686B1 (en) * | 2015-12-14 | 2019-05-21 | Apple Inc. | Switching-activity-based selection of low-power sequential circuitry |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763513B1 (en) * | 2001-12-18 | 2004-07-13 | Cadence Design Systems, Inc. | Clock tree synthesizer for balancing reconvergent and crossover clock trees |
US20040196081A1 (en) * | 2003-04-01 | 2004-10-07 | Sandeep Srinivasan | Minimization of clock skew and clock phase delay in integrated circuits |
TWI287187B (en) * | 2005-08-17 | 2007-09-21 | Ind Tech Res Inst | Opposite-phase scheme for peak current reduction |
US7926019B1 (en) * | 2008-02-29 | 2011-04-12 | Altera Corporation | Common clock path pessimism analysis for circuit designs using clock tree networks |
US10530367B2 (en) * | 2018-12-28 | 2020-01-07 | Intel Corporation | Clock synchronization in multi-die field programmable gate array devices |
CN111046624B (zh) * | 2019-12-17 | 2024-04-30 | 飞腾信息技术有限公司 | 芯片模块接口时钟结构的构建方法、装置、设备及介质 |
CN112331243B (zh) * | 2020-11-26 | 2021-07-23 | 安徽省东科半导体有限公司 | 同时钟域下寄存器的逻辑解耦方法 |
-
2020
- 2020-11-26 CN CN202011348726.6A patent/CN112331243B/zh active Active
-
2021
- 2021-10-21 WO PCT/CN2021/125322 patent/WO2022111155A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793483B (zh) * | 2014-01-16 | 2017-02-15 | 清华大学 | 基于时钟节点结群的时钟树生成方法和系统 |
US10296686B1 (en) * | 2015-12-14 | 2019-05-21 | Apple Inc. | Switching-activity-based selection of low-power sequential circuitry |
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
CN106650111A (zh) * | 2016-12-26 | 2017-05-10 | 北京华大九天软件有限公司 | 一种基于时序依赖关系的时钟综合结果评价方法 |
CN108984806A (zh) * | 2017-05-31 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种时钟树综合方法以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022111155A1 (zh) | 2022-06-02 |
CN112331243A (zh) | 2021-02-05 |
WO2022111155A9 (zh) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112331243B (zh) | 同时钟域下寄存器的逻辑解耦方法 | |
US7562244B2 (en) | Method for data signal transfer across different clock-domains | |
US6651230B2 (en) | Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design | |
US7477068B2 (en) | System for reducing cross-talk induced source synchronous bus clock jitter | |
US8086989B2 (en) | Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
US7679408B2 (en) | Glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
CN104795091B (zh) | 在fpga中实现zbt读写的时序稳定度的系统及方法 | |
CN110045782B (zh) | 一种数据读写同步电路及数据读写方法 | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
US5758131A (en) | Bus adapter for synchronizing communications between two circuits running at different clock rates | |
US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
US20020166003A1 (en) | Method and apparatus for a failure-free synchronizer | |
CN117811539A (zh) | Fpga时钟无毛刺切换电路 | |
CN111313869B (zh) | 一种千兆以太网收发器的时钟切换电路 | |
US6928574B1 (en) | System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain | |
US20030212972A1 (en) | Unconventional clocked circuit components having multiple timing models | |
US5657457A (en) | Method and apparatus for eliminating bus contention among multiple drivers without performance degradation | |
Mekie et al. | Interface design for rationally clocked GALS systems | |
CN112580278B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
US6882192B2 (en) | High-speed data buffer | |
CN114077295A (zh) | 集成电路复位的方法和集成电路 | |
US6552590B2 (en) | Clocking scheme for ASIC | |
US20030233627A1 (en) | Method of forming tree structure type circuit, and computer product | |
US6023767A (en) | Method for verifying hold time in integrated circuit design | |
JP2001339376A (ja) | 同期回路 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 101-401, building 38, digital Silicon Valley Industrial Park, No. 999, Yinhuang East Road, Maanshan economic and Technological Development Zone, 243000, Anhui Province Patentee after: Dongke semiconductor (Anhui) Co.,Ltd. Address before: Building 38, digital Silicon Valley International Industrial Park, 999 Yinhuang East Road, Dangtu County, Ma'anshan City, Anhui Province 243100 Patentee before: ANHUI DONGKE SEMICONDUCTOR Co.,Ltd. |
|
CP03 | Change of name, title or address |