一种时序网表管理方法及装置的制造方法_2

文档序号:9929697阅读:来源:国知局
立子时序网表;子时序网表包括设备所有节点、各节点与其他节点的连接关系,节点包括设备的管脚;
[0034]优化模块12,用于获取子时序网表中输入节点及其前向路径的路径时延信息,将前向路径的路径时延信息添加到输入节点的后向路径上,删除子时序网表中输入节点及其前向路径;
[0035]输出模块13,用于根据端口映射关系,利用删除输入节点及其前向路径的子时序网表生成设计文件的最终时序网表。
[0036]在一些实施例中,上述实施例中的路径时延信息包括延时信息及起始节点,优化模块12用于:筛选出子时序网表中所有的输入节点,查找输入节点所有前向路径,获得各前向路径延时信息及起始节点,将各输入节点的前向路径的延时信息添加到其后向路径上,更新触发条件的信号极性,将后向路径的起始节点设置为前向路径的起始节点,信号极性包括上升沿和下降沿。
[0037]在一些实施例中,上述实施例中的优化模块12用于:遍历子时序网表中所有节点,过滤输入输出端口对应的节点、内部时钟端口对应的节点、输出节点。
[0038]在一些实施例中,上述实施例中的优化模块12用于:得到筛选后当前节点的前向路径,如果有多条,则进行遍历,通过前向路径的延时信息得到延时值以及路径上数据的触发条件;遍历当前节点的后向路径,得到后向路径上延时信息的延时值,加上前向路径的延时值后作为后向路径上新的延时值,同时将后向路径上的数据触发条件更新为前向路径的触发条件;将前向路径的起始节点设置为后向路径的起始节点,同时将当前节点的后向路径加入到其前向路径的起始节点的后向路径集合中去;从时序网表中删除当前节点以及其前向路径。
[0039]在一些实施例中,上述实施例中的输出模块13用于:先触发优化模块12对子时序网表进行删除输入节点及其前向路径的操作,然后根据端口映射关系,将删除输入节点及其前向路径的子时序网表连接生成最终时序网表;或者,先根据端口映射关系,将子时序网表连接生成设计文件的时序网表,然后触发优化模块12对连接生成设计文件的时序网表进行删除输入节点及其前向路径的操作,生成最终时序网表。
[0040]第二实施例:
[0041]图2为本发明第二实施例提供的时序网表管理方法的流程图,由图2可知,在本实施例中,本发明提供的时序网表管理方法包括:
[0042]S201:根据设计文件获取时序网表,查找时序网表内各设备的时序模型,为各设备建立子时序网表;子时序网表包括设备所有节点、各节点与其他节点的连接关系,节点包括设备的管脚;
[0043]S202:获取子时序网表中输入节点及其前向路径的路径时延信息,将前向路径的路径时延信息添加到输入节点的后向路径上,删除子时序网表中输入节点及其前向路径;
[0044]S203:根据端口映射关系,利用删除输入节点及其前向路径的子时序网表生成设计文件的最终时序网表。
[0045]在一些实施例中,上述实施例中的路径时延信息包括延时信息及起始节点,获取子时序网表中输入节点及其前向路径的路径时延信息,将前向路径的路径时延信息添加到输入节点的后向路径包括:筛选出子时序网表中所有的输入节点,查找输入节点所有前向路径,获得各前向路径延时信息及起始节点,将各输入节点的前向路径的延时信息添加到其后向路径上,更新触发条件的信号极性,将后向路径的起始节点设置为前向路径的起始节点,信号极性包括上升沿和下降沿。
[0046]在一些实施例中,上述实施例中的筛选出子时序网表中所有的输入节点包括:遍历子时序网表中所有节点,过滤输入输出端口对应的节点、内部时钟端口对应的节点、输出节点。
[0047]在一些实施例中,上述实施例中的查找输入节点所有前向路径,获得各前向路径延时信息及起始节点,将各输入节点的前向路径的延时信息添加到其后向路径上,更新信号极性,将后向路径的起始节点设置为前向路径的起始节点包括:得到筛选后当前节点的前向路径,如果有多条,则进行遍历,通过前向路径的延时信息得到延时值以及路径上数据的触发条件;遍历当前节点的后向路径,得到后向路径上延时信息的延时值,加上前向路径的延时值后作为后向路径上新的延时值,同时将后向路径上的数据触发条件更新为前向路径的触发条件;将前向路径的起始节点设置为后向路径的起始节点,同时将当前节点的后向路径加入到其前向路径的起始节点的后向路径集合中去;从时序网表中删除当前节点以及其前向路径。
[0048]在一些实施例中,上述实施例中的根据端口映射关系,利用删除输入节点及其前向路径的子时序网表生成设计文件的最终时序网表包括:先对子时序网表进行删除输入节点及其前向路径的操作,然后根据端口映射关系,将删除输入节点及其前向路径的子时序网表连接生成最终时序网表;或者,先根据端口映射关系,将子时序网表连接生成设计文件的时序网表,然后对连接生成设计文件的时序网表进行删除输入节点及其前向路径的操作,生成最终时序网表。
[0049]现结合具体应用场景对本发明做进一步的诠释说明。
[0050]第三实施例:
[0051 ]本实例提供一种基于静态时序分析的时序网表优化方法,用于优化时序网表中时序路径的存储结构,减小内存使用,同时在保证分析结果的准确性上,提高EDA软件运行效率。该优化方法在时序分析中有两种用法,一种是在对每个device的时序网表进行优化,然后再将每个子时序网表连接成最终网表;另一种是直接对最终的时序网表进彳丁优化。两种用法最终所消耗的内存资源是一样的,但第二种所消耗的内存峰值会高于第一种,第一种方法代码实现比第二种复杂,具体使用哪种,可以根据情况来选择。
[0052]如图3所示,本发明提供的时序网表管理方案包括以下步骤:
[0053]S301:根据设计文件获取时序网表,为各设备建立子时序网表;
[0054]如图4所示,该图是设计文件的原理图,在设计文件在经过综合、映射、布局布线之后得到时序网表,但此时的时序网表只有设备(^^(^(1]1、1]2、1]3、1]4、??1、??2)的信息,并没有为device建立时序信息,因此在时序分析开始时对device进行遍历,从时序模型库中找到与device相对应的时序模型,对每个device建模。
[0055]为每个device实例化出一个实例instance,同时创建子时序网表,对每个管脚创建节点node,对每个节点与其他节点的连接关系建立路径timing arc,节点的前向路径inarc和后向路径outarc都存放在节点的数据结构当中,节点存放在i nstance的数据结构中。
[0056]节点、前向路径、后向路径说明,以图4中Ul、U2为例:对于Ul和U2来说,它们分别有两个节点,1]1.丨11、1]1.0的和1]2.丨11、1]2.01^。路径112对于1]2.丨11来说是它的前向路径,对于Ul.0ut来说是后向路径,n2的起始节点是Ul.0ut,终止节点是U2.1n。
[0057]S302:遍历所有子时序网表,进行子时序网表优化;
[°°58] 承接上一步骤,为每个device实例化出一个实例instance,遍历子时序网表中的每一个节点,筛选出所有的输入节点inputnode,然后找inarc,遍历每一条inarc,得到inarc上的延时信息同时得到inarc的起始节点srcnode,然后再遍历输入节点inputnode的outarc,将inarc上的延时信息加到outarc上,同时更新信号的极性(上升沿or下降沿),然后将outarc的起始节点设置为inarc的起始节点,完成上述操作后,就可以删除inputnode和inarc,同时将上述改变更新到子时序网表。
[0059]S303:各子时序网表优化完成后,连接成大时序网表;
[0060]每个子时序网表更新完后,根据端口映射,则可以连接成一个大的时序网表,整个优化示意图如图5所示。[0061 ] 此时针对图1中的路径:
[0062]CLK—U4.1n^U4.0ut^FFl.CLK^FFl.Q^Ul.1n^Ul.0ut^U2.1n^U2.0ut—FF2.D;
[0063]优化步骤包括:
[0064](I)因为
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1