一种用于可编程电路的时序模型生成方法及装置的制造方法

文档序号:9417601阅读:528来源:国知局
一种用于可编程电路的时序模型生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及可编程电路的静态时序分析领域,尤其涉及一种用于可编程电路的时序模型生成方法及装置。
【背景技术】
[0002]目前,现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)已经得到了广泛的应用,随着深亚微米技术的发展,数字电路的规模已经发展到了千万门级,FPGA开发工具(EDA工具)通过将用户设计进行综合、映射、布局布线等过程,完成用户设计到电路实现的转换。在整个FPGA开发流程中,综合、映射、布局布线等过程均包含了时序驱动算法来提高用户设计电路的性能;在布局布线后的设计验证过程中,时序分析工具更是起着十分重要的作用。随着FPGA芯片发展,FPGA的电路规模越来越大、速度越来越快,尤其是各种可编程电路单元的加入,如DSP、Block RAM等,使得FPGA的功能越来越丰富,电路越来越复杂。如何保证用户的设计能够经过FPGA开发工具布局布线后,满足用户的设计要求,使得FPGA开发对时序分析工具的要求也越来越高,而时序分析工具的分析精度完全取决于时序模型的建模准确度和精度。
[0003]目前业界通用的建模方法是编写时序库(liberty)来进行时序单元的描述,liberty适合描述门级以及简单的电路,比如与非门、触发器、查找表等单元。采用liberty描述FPGA单元的时序模型的过程中,主要有如下2方面的不足:一是不利于处理功能复杂的单元,比如某些可编程电路在不同的配置下,将具有不同的时序行为,电路的时序弧(timing arc)在不同的配置下是不同的,liberty很难描述这种可配置电路的时序模型;二是无法对电路的延迟进行参数化的描述,也就是根据电路的配置计算延迟值。
[0004]因此,如何提供一种可以用于可编程电路的时序模型生成方法,是本领域技术人员亟待解决的技术问题。

【发明内容】

[0005]本发明提供了一种用于可编程电路的时序模型生成方法及装置,以解决现有编写时序库等建模方法在可编程电路领域所存在的不足。
[0006]本发明提供了一种用于可编程电路的时序模型生成方法,其包括:根据电路属性将可编程电路划分为电路模块,生成包括电路模块及各电路模块之间连接关系的网表文件;电路模块包括:组合电路模块和时序电路模块;对各电路模块的属性进行描述,生成各电路模块的电路描述文件;获取可编程电路的电路配置信息;根据电路配置信息、网表文件及各电路模块的电路描述文件,生成并输出可编程电路的时序模型。
[0007]进一步的,电路描述文件包括:电路模块的数据流信息和时序信息;数据流信息用于描述在不同的参数配置下,电路模块内电路信号的传输传播信息;时序信息包括时序行为信息、时序延迟信息以及时序约束信息。
[0008]进一步的,获取可编程电路的电路配置信息包括:将与可编程电路对应的现场可编程门阵列FPGA开发工具的布局布线结果转换为电路配置信息。
[0009]进一步的,根据电路配置信息、网表文件及各电路模块的电路描述文件生成可编程电路的时序模型包括:读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系;根据电路模块中时序电路模块建立可编程电路的时序模型;根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束。
[0010]进一步的,读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系包括:读入网表文件,读入电路模块数据流信息,根据电路配置对各个电路模块进行处理,确定各个模块的数据流向,采用双向搜索算法对网表进行遍历,确定使用的时序单元模块,根据使用的电路模块以及连接关系,产生新电路网表。
[0011]进一步的,根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束包括:对新电路网表中的时序电路模块进行分析,找出对时序模型有影响的时序信息,向可编程电路的边界扩展,确定时序模型。
[0012]进一步的,根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束包括:根据电路配置信息,计算各个电路模块的电路延迟值,根据新电路网表,对各个电路模块的延迟值进行累加计算,计算出电路模型的时序延迟值,根据各电路模块的约束信息、各电路模块的时序信息和延迟信息,计算出电路模型的约束信息。
[0013]本发明提供了一种用于可编程电路的时序模型生成装置,其包括:划分模块,用于根据电路属性将可编程电路划分为电路模块,生成包括电路模块及各电路模块之间连接关系的网表文件;电路模块包括:组合电路模块和时序电路模块;描述模块,用于对各电路模块的属性进行描述,生成各电路模块的电路描述文件;配置模块,用于获取可编程电路的电路配置信息;输出模块,用于根据电路配置信息、网表文件及各电路模块的电路描述文件,生成并输出可编程电路的时序模型。
[0014]进一步的,电路描述文件包括:电路模块的数据流信息和时序信息;数据流信息用于描述在不同的参数配置下,电路模块内电路信号的传输传播信息;时序信息包括时序行为信息、时序延迟信息以及时序约束信息。
[0015]进一步的,配置模块用于将与可编程电路对应的现场可编程门阵列FPGA开发工具的布局布线结果转换为电路配置信息。
[0016]进一步的,输出模块用于读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系;根据电路模块中时序电路模块建立可编程电路的时序模型;根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束。
[0017]进一步的,输出模块用于读入网表文件,读入电路模块数据流信息,根据电路配置对各个电路模块进行处理,确定各个模块的数据流向,采用双向搜索算法对网表进行遍历,确定使用的时序单元模块,根据使用的电路模块以及连接关系,产生新电路网表。
[0018]进一步的,输出模块用于对新电路网表中的时序电路模块进行分析,找出对时序模型有影响的时序信息,向可编程电路的边界扩展,确定时序模型。
[0019]进一步的,输出模块用于根据电路配置信息,计算各个电路模块的电路延迟值,根据新电路网表,对各个电路模块的延迟值进行累加计算,计算出电路模型的时序延迟值,根据各电路模块的约束信息、各电路模块的时序信息和延迟信息,计算出电路模型的约束信息。
[0020]本发明的有益效果:
[0021]本发明提供了一种用于可编程电路的时序模型产生方法及其装置,能够对可编程电路进行时序建模,可以对电路的延时进行参数化的描述,同时能够提高时序分析延迟值的准确度,解决了现有编写时序库等建模方法在可编程电路领域所存在的不足。
【附图说明】
[0022]图1为本发明第一实施例提供的时序模型产生装置的结构示意图;
[0023]图2为本发明第二实施例提供的时序模型产生方法的流程图;
[0024]图3为本发明第三实施例提供的时序模型产生方法的流程图;
[0025]图4为本发明第三实施例中可编程电路的示意图;
[0026]图5为本发明第三实施例中电路模块划分不意图;
[0027]图6为本发明第三实施例中二选一选择器示意图。
【具体实施方式】
[0028]现通过【具体实施方式】结合附图的方式对本发明做出进一步的诠释说明。
[0029]第一实施例:
[0030]图1为本发明第一实施例提供的时序模型产生装置的结构示意图,由图1可知,在本实施例中,本发明提供的时序模型产生装置I包括:
[0031]划分模块11,用于根据电路属性将可编程电路划分为电路模块,生成包括电路模块及各电路模块之间连接关系的网表文件;
[0032]描述模块12,用于对各电路模块的属性进行描述,生成各电路模块的电路描述文件;
[0033]配置模块13,用于获取可编程电路的电路配置信息;
[0034]输出模块14,用于根据电路配置信息、网表文件及各电路模块的电路描述文件,生成并输出可编程电路的时序模型。
[0035]在一些实施例中,上述实施例中的电路模块包括:组合电路模块和时序电路模块;组合电路模块包括加法器、乘法器、多路选择器的一种或多种;时序电路模块包括触发器。<
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1