首页> 中国专利> 一种处理门级网表中的同步逻辑结构的方法

一种处理门级网表中的同步逻辑结构的方法

摘要

本发明公开一种处理门级网表中的同步逻辑结构的方法,包括:第一步、利用脚本找出待处理门级网表中所有的两个寄存器级联的结构,汇聚成元素表1;第二步、利用脚本,根据时钟树的结构关系,分析元素表1中的各个元素,找出元素表1中两个寄存器属于同一个时钟域的元素,整理形成元素表2;第三步,基于表2中每个元素的寄存器DEF1,利用脚本,找出网表中所有的潜在异步路径PAP;整理形成表3;第四步、利用脚本,根据时钟树的结构关系,分析元素表3中的各个元素,进一步确保PAP的两个寄存器不在同一个时钟域;整理形成表4;第五步、将表4信息提供给仿真工具配合网表进行仿真。本发明处理时间以秒计,省时高效。

著录项

  • 公开/公告号CN104951609A

    专利类型发明专利

  • 公开/公告日2015-09-30

    原文格式PDF

  • 申请/专利权人 西安华芯半导体有限公司;

    申请/专利号CN201510346122.0

  • 发明设计人 左丰国;

    申请日2015-06-19

  • 分类号G06F17/50(20060101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人徐文权

  • 地址 710075 陕西省西安市高新6路38号腾飞创新中心A座4层

  • 入库时间 2023-12-18 11:23:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-15

    授权

    授权

  • 2016-06-15

    著录事项变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20150619

    著录事项变更

  • 2015-11-04

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20150619

    实质审查的生效

  • 2015-09-30

    公开

    公开

说明书

【技术领域】

本发明涉及一种处理门级网表中的同步逻辑结构的方法。

【背景技术】

请参阅图1所示,为同步逻辑结构:寄存器DEF1和寄存器DEF2位于同一个时钟域clk1,两者级联形成一个同步单元,该同步单元用以接受来自另外一个不同时钟域clk0的寄存器DEF0的输出信号或其产生信号。

几个基本概念:

同步逻辑结构:寄存器DEF0,寄存器DEF1和寄存器DEF2共同组成。 

同步单元:寄存器DEF1和寄存器DEF2组成。

潜在异步路径PAP(potential asynchronous path):寄存器DEF0和同步单元的寄存器DEF1组成。

归一约束(simple constraint):将所有寄存器归为同步的一个时钟域的约束。

功能约束(constraint):用作电路设计的约束。

现有技术中一般通过多次循环迭代动态仿真并分析仿真结果或报告文件的方式来找到并处理门级网表中的同步逻辑结构,使得网表适合动态仿真。

然,现有技术完成目标所需时间较长,在大规模电路中,往往周期以月计,且需消耗大量的人力资源。

【发明内容】

本发明的目的在于提供一种处理门级网表中的同步逻辑结构的方法,以极大的缩短找寻电路中的同步逻辑的时间周期。

为了实现上述目的,本发明采用如下技术方案:

一种处理门级网表中的同步逻辑结构的方法,包括以下步骤:

第一步、利用脚本找出待处理门级网表中所有的两个寄存器级联的结构,即一个寄存器DEF1的输出端直连另一寄存器DEF2的输入端的结构,汇聚成元素表1,每个级联结构为一个表元素;

第二步、利用脚本,根据时钟树的结构关系,分析元素表1中的各个元素,找出元素表1中两个寄存器属于同一个时钟域的元素,整理找出的元素形成元素表2;

第三步,基于表2中每个元素的寄存器DEF1,利用脚本,找出网表中所有的潜在异步路径PAP;整理所有的潜在异步路径PAP形成表3;

第四步、利用脚本,根据时钟树的结构关系,分析元素表3中的各个元素,进一步确保PAP的两个寄存器不在同一个时钟域;整理形成表4;

第五步、将表4信息提供给仿真工具配合网表进行仿真。

本发明进一步的改进在于:整理形成表4式只保留寄存器DEF1的信息。

本发明进一步的改进在于:找寻潜在异步路径的方法具体包括:

利用脚本,对电路采用归一约束,列出所有终点为寄存器DEF1的时序路径,形成原表;对电路采用功能约束,列出所有终点为寄存器DEF1的时序路径,形成子表;从原表中剔除所有存在于子表中的路径,形成异步路径表;异步路径表中的两个寄存器即构成一个潜在异步路径。

本发明进一步的改进在于:其特征在于,所述脚本为TCL和Perl。

相对于现有技术,本发明具有以下有益效果:本发明提出一种处理门级网表中的同步逻辑结构的方法,采用软件脚本处理分析电路结构的方式,自动找到电路中的同步逻辑结构;该方法能极大的缩短找寻电路中的同步逻辑的时间周期,本发明处理时间以秒计,省时高效(现有 技术的方案处理时间往往以月计)。另外,本发明能节省大量人力资源(现有技术的方案需要的大量的人力在本发明处理过程中不再需要)。

【附图说明】

图1为同步逻辑结构的示意图。

【具体实施方式】

本发明一种处理门级网表中的同步逻辑结构的方法,具体包括以下步骤:

第一步、利用TCL和Perl脚本找出待处理门级网表中所有的两个寄存器级联的结构,即一个寄存器DEF1的Q端(输出端)直连另一寄存器DEF2的D端(输入端)的结构,汇聚成元素表1如下,每个级联结构为一个表元素:

表1

[(/her0/her1/her2/…/DFF1_0000),(/her0/her1/her2/…/DFF2_0000)]

[(/her0/her1/her2/…/DFF1_0001),(/her0/her1/her2/…/DFF2_0001)]

[(/her0/her1/her2/…/DFF1_0002),(/her0/her1/her2/…/DFF2_0002)]

[(/her0/her1/her2/…/DFF1_0003),(/her0/her1/her2/…/DFF2_0003)]

[(/her0/her1/her2/…/DFF1_0004),(/her0/her1/her2/…/DFF2_0004)]

[(/her0/her1/her2/…/DFF1_0005),(/her0/her1/her2/…/DFF2_0005)]

第二步、利用TCL和Perl脚本,根据时钟树的结构关系,分析元素表1中的各个元素,找出元素表1中两个寄存器属于同一个时钟域的元素,整理找出的元素形成元素表2:

表2

[(/her0/her1/her2/…/DFF1_0000),(/her0/her1/her2/…/DFF2_0000)]

[(/her0/her1/her2/…/DFF1_0004),(/her0/her1/her2/…/DFF2_0004)]

第三步,基于表2中每个元素的第一个寄存器(寄存器DEF1),利用TCL和Perl脚本, 找出网表中所有的潜在异步路径(PAP):

[(/her0/her1/her2/…/DFF1_0000),(/her0/her1/her2/…/DFF2_0000)]

[(/her0/her1/her2/…/DFF0_0000_a),(/her0/her1/her2/…/DFF1_0000),(/her0/her1/her2/…/DFF2_0000)]

[(/her0/her1/her2/…/DFF0_0000_b),(/her0/her1/her2/…/DFF1_0000),(/her0/her1/her2/…/DFF2_0000)]

[(/her0/her1/her2/…/DFF1_0004),(/her0/her1/her2/…/DFF2_0004)]

[(/her0/her1/her2/…/DFF0_0004_a),(/her0/her1/her2/…/DFF1_0004),(/her0/her1/her2/…/DFF2_0004)]

[(/her0/her1/her2/…/DFF0_0004_b),(/her0/her1/her2/…/DFF1_0004),(/her0/her1/her2/…/DFF2_0004)]

整理所有的潜在异步路径PAP形成表3:

表3

[(/her0/her1/her2/…/DFF0_0000_a),(/her0/her1/her2/…/DFF1_0000)]

[(/her0/her1/her2/…/DFF0_0000_b),(/her0/her1/her2/…/DFF1_0000)]

[(/her0/her1/her2/…/DFF0_0004_a),(/her0/her1/her2/…/DFF1_0004)]

[(/her0/her1/her2/…/DFF0_0004_b),(/her0/her1/her2/…/DFF1_0004)]

其中,找寻潜在异步路径PAP的方法具体包括:

利用TCL和Perl脚本,对电路采用归一约束(simple constraint),列出所有终点(endpoint)为寄存器DEF1的时序路径(只针对寄存器到寄存器类),形成原表;对电路采用功能约束(constraint),列出所有终点(endpoint)为寄存器DEF1的时序路径(只针对寄存器到寄存器类),形成子表;从原表中剔除所有存在于子表中的路径,形成异步路径表;异步路径表中的两个寄存器即构成一个PAP。

第四步、利用TCL和Perl脚本,根据时钟树的结构关系,分析元素表3中的各个元素,进一步确保PAP的两个寄存器不在同一个时钟域:

[(/her0/her1/her2/…/DFF0_0000_a),(/her0/her1/her2/…/DFF1_0000)]

[(/her0/her1/her2/…/DFF0_0000_b),(/her0/her1/her2/…/DFF1_0000)]

[(/her0/her1/her2/…/DFF0_0004_a),(/her0/her1/her2/…/DFF1_0004)]

[(/her0/her1/her2/…/DFF0_0004_b),(/her0/her1/her2/…/DFF1_0004)]

整理形成表4(只保留寄存器DEF1的信息):

表4

(/her0/her1/her2/…/DFF1_0000)

(/her0/her1/her2/…/DFF1_0004)

第五步、将表4信息提供给仿真工具配合网表进行仿真:

(/her0/her1/her2/…/DFF1_0000)

(/her0/her1/her2/…/DFF1_0004)

…。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号