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

文档序号:9417601阅读:来源:国知局
br>[0036]在一些实施例中,上述实施例中的电路描述文件包括:电路模块的数据流信息和时序信息;数据流信息用于描述在不同的参数配置下,电路模块内电路信号的传输传播信息;时序信息包括时序行为信息、时序延迟信息以及时序约束信息。
[0037]在一些实施例中,上述实施例中的配置模块13用于将与可编程电路对应的现场可编程门阵列FPGA开发工具的布局布线结果转换为电路配置信息。
[0038]在一些实施例中,上述实施例中的输出模块14用于读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系;根据电路模块中时序电路模块建立可编程电路的时序模型;根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束。
[0039]在一些实施例中,上述实施例中的输出模块14用于读入网表文件,读入电路模块数据流信息,根据电路配置对各个电路模块进行处理,确定各个模块的数据流向,采用双向搜索算法对网表进行遍历,确定使用的时序单元模块,根据使用的电路模块以及连接关系,产生新电路网表。
[0040]在一些实施例中,上述实施例中的输出模块14用于对新电路网表中的时序电路模块进行分析,找出对时序模型有影响的时序信息,向可编程电路的边界扩展,确定时序模型。
[0041]在一些实施例中,上述实施例中的输出模块14用于根据电路配置信息,计算各个电路模块的电路延迟值,根据新电路网表,对各个电路模块的延迟值进行累加计算,计算出电路模型的时序延迟值,根据各电路模块的约束信息、各电路模块的时序信息和延迟信息,计算出电路模型的约束信息。
[0042]在一些实施例中,上述实施例中的输出模块14还用于将时序模型以时序库liberty文件的格式输出。
[0043]第二实施例:
[0044]图2为本发明第二实施例提供的时序模型生成方法的流程图,由图2可知,在本实施例中,本发明提供的时序模型生成方法包括以下步骤:
[0045]S201:根据电路属性将可编程电路划分为电路模块,生成包括电路模块及各电路模块之间连接关系的网表文件;
[0046]S202:对各电路模块的属性进行描述,生成各电路模块的电路描述文件;
[0047]S203:获取可编程电路的电路配置信息;
[0048]S204:根据电路配置信息、网表文件及各电路模块的电路描述文件,生成并输出可编程电路的时序模型。
[0049]在一些实施例中,上述实施例中的电路模块包括:组合电路模块和时序电路模块;组合电路模块包括加法器、乘法器、多路选择器的一种或多种;时序电路模块包括触发器。
[0050]在一些实施例中,上述实施例中的电路描述文件包括:电路模块的数据流信息和时序信息;数据流信息用于描述在不同的参数配置下,电路模块内电路信号的传输传播信息;时序信息包括时序行为信息、时序延迟信息以及时序约束信息。
[0051]在一些实施例中,上述实施例中的获取可编程电路的电路配置信息包括:将与可编程电路对应的现场可编程门阵列FPGA开发工具的布局布线结果转换为电路配置信息。
[0052]在一些实施例中,上述实施例中的根据电路配置信息、网表文件及各电路模块的电路描述文件生成可编程电路的时序模型包括:读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系;根据电路模块中时序电路模块建立可编程电路的时序模型;根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束。
[0053]在一些实施例中,上述实施例中的读入网表文件,根据电路描述文件和电路配置建立可编程电路的各电路模块之间的关系包括:读入网表文件,读入电路模块数据流信息,根据电路配置对各个电路模块进行处理,确定各个模块的数据流向,采用双向搜索算法对网表进行遍历,确定使用的时序单元模块,根据使用的电路模块以及连接关系,产生新电路网表。
[0054]在一些实施例中,上述实施例中的根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束包括:对新电路网表中的时序电路模块进行分析,找出对时序模型有影响的时序信息,向可编程电路的边界扩展,确定时序模型。
[0055]在一些实施例中,上述实施例中的根据各电路模块的时序信息计算可编程电路的时序延迟值和时序约束包括:根据电路配置信息,计算各个电路模块的电路延迟值,根据新电路网表,对各个电路模块的延迟值进行累加计算,计算出电路模型的时序延迟值,根据各电路模块的约束信息、各电路模块的时序信息和延迟信息,计算出电路模型的约束信息。
[0056]在一些实施例中,上述实施例中的方法还包括:将时序模型以时序库liberty文件的格式输出。
[0057]现结合具体应用场景、图3-图6对本发明做进一步的诠释说明。
[0058]第三实施例:
[0059]在本实施例内,以可编程数字信号处理器电路(一种常见的可编程电路)为例,来说明本发明的具体实施过程,数字信号处理器电路以下简称DSP电路,可编程数字信号处理器电路的时序模型简称为DSP时序模型。
[0060]如图4所示,该DSP电路包含二选一数据选择器、可配置乘法器、可配置加法器以及触发器.本例中电路可以进行如下配置:
[0061]加法器可以被配置为两种模式1.加法器/减法器、2.与逻辑计算;该电路模式I和模式2时序数据延迟不同。
[0062]乘法器可配置为不同的位宽,显然不同位宽的乘法器的延迟也是不一样的。
[0063]二选一数据选择器,用于选择数据的流向,用户通过设置,可以选择数据是否经过触发器。如果用户选择使用触发器,那么对于输入数据来说,需要时序分析工具检查输入信号的建立时间和保持时间。如果用户选择不使用触发器,那么该数字信号处理单元的时序行为为组合逻辑,时序分析工具只需要的处理输入和输出之间的延迟。
[0064]如图3所示,本实施例提供的时序模型产生方法包括以下步骤:
[0065]S301 ^DSP电路进行电路模块划分。
[0066]首先,对DSP电路进行模块划分,按照电路性质分为2类:1.组合逻辑电路,包括加法器、乘法器、多路选择器等;2.时序逻辑电路,为触发器等时序电路。电路划分如图5所不O
[0067]S302:生成电路的网表文件。
[0068]可编程电路模块划分完成后,编写电路的网表文件,电路网表文件的作用是确定电路模块的连接关系。
[0069]S303:生成各电路模块的描述文件。
[0070]然后,对各个电路模块分别进行描述,编写电路模块的描述文件,需要描述的是电路模块的数据流信息和时序信息。
[0071]数据流信息用于描述在不同的参数配置下,电路信号的传输信息。举例说明:二选一数据选择器的电路含有一个控制数据选择的配置点,如图6所示,如果配置点C_SEL配置为0,那么数据从A流向C,如果配置点C_SEL配置为1,那么数据从B流向C。
[0072]时序信息包括时序行为信息、时序延迟信息以及时序约束信息。
[0073]时序行为信息描述即根据子电路模块的时序特性描述其时序行为。对于加法器、乘法器等组合逻辑,时序行为表现为端口到端口具有延迟,该时序行为将被描述为端口到端口的延迟值映射表;对于触发器单元等时序逻辑,时序行为描述包括建立时间和保持时间等时序检查项目以及相关的延迟属性,如时钟到触发器输出延迟等。
[0074]时序延迟信息,上述的延迟映射表即为时序延迟信息的记录载体,该表记录了电路模块在不同的配置下端口到端口所具有的延迟值。对于时序模块,除了端口到端口所具有的延迟值还包括建立时间和保持时间的约束值。延迟映射表使得软件能够根据电路的配置在映射表中找到正确的延迟值,延迟值一般通过电路的仿真获得,仿真是基于模块级别进行的,并且可以通过实际电路的测试结果进行修正,有很高的精度。
[0075]时序约束信息为电路模块电路的属性描述,如时钟最小时钟脉冲宽度等属性,用于整个模块的时序模型属性的计算。
[0076]S304:根据布局布线结果产生电路配置信息。
[0077]电路配置信息为一个输入,电路的配置决定了 DSP电路的时序行为以及各个子电路模块的延迟值。电路配置信息是根据电路的属性抽象得来的,和FPGA开发工具产
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1