CN111832241A - 一种fpga多区域动态参数时序驱动设计方法 - Google Patents
一种fpga多区域动态参数时序驱动设计方法 Download PDFInfo
- Publication number
- CN111832241A CN111832241A CN202010631700.6A CN202010631700A CN111832241A CN 111832241 A CN111832241 A CN 111832241A CN 202010631700 A CN202010631700 A CN 202010631700A CN 111832241 A CN111832241 A CN 111832241A
- Authority
- CN
- China
- Prior art keywords
- time sequence
- programmable gate
- field programmable
- gate array
- timing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000010586 diagram Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004088 simulation Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012772 sequence design Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明实施例提供了一种现场可编程门阵列芯片时序设计方法,该方法包括:将现场可编程门阵列芯片的电路图,划为若干局部区域;测量各局部区域的时序性能,提取时序参数;至少根据各局部区域的范围及其时序参数,建立现场可编程门阵列芯片时序模型;基于芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线。该方法建立的现场可编程门阵列芯片时序模型更加精准,进而减少芯片的设计时序与实际运行的时序的误差。
Description
技术领域
本发明涉及现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)芯片的设计技术领域,尤其涉及一种FPGA多区域动态参数时序驱动设计方法。
背景技术
FPGA,现场可编程逻辑门阵列(Field Programmable Gate Array)是由许多的逻辑单元构成的逻辑器件,在制造后,可以根据所需的应用程序或功能要求对FPGA重新编程。在当前FPGA芯片设计中,FPGA芯片由时钟树供电,而时钟树是一个树状网络,存在着电压降的问题,所以在芯片的不同区域电压有着微小的差异,这就导致芯片的时序模型与实际运行状态并不精确匹配。
因此,需要一种新的FPGA芯片时序驱动设计方法。
发明内容
本发明的实施例提供一种现场可编程逻辑门阵列多区域动态参数时序驱动设计方法,该方法通过将现场可编程门阵列芯片划分区域,根据不同区域的测量时序性能,建立时序模型,使得该时序模型更加符合芯片实际运行时的实际时序状态,进而使基于该时序模型设计的PFGA芯片的时序更加精确。
本发明为解决上述技术问题采用的技术方案为,一种现场可编程门阵列芯片时序设计方法,所述方法包括:
获得现场可编程门阵列芯片电路图;
将现场可编程门阵列芯片电路图,划分为若干局部区域;
测量各局部区域的时序性能,提取各局部区域的时序参数。
至少根据各局部区域的划分范围及其时序参数,建立现场可编程门阵列芯片时序模型。
基于所述现场可编程门阵列芯片时序模型,利用时序驱动引擎进行现场可编程门阵列芯片的布局、布线。
优选地,所述现场可编程门阵列芯片电路图,包括硬件设计语言描述的现场可编程门阵列芯片设计图或原理图,所述硬件设计语言至少包括Verilog语言、VHDL语言。
优选地,所述时序参数包括所述局部区域中路径的延迟时间。
优选地,其中,所述测量各所述局部区域中的时序性能,提取时序参数,包括,基于一种现场可编程门阵列芯片的原型,测量各所述局部区域中的时序性能,并提取时序参数。
优选地,所述测量各所述局部区域中的时序性能,提取时序参数,包括,基于模拟仿真计算,估计各所述局部区域中的时序性能,并提取时序参数。
优选地,基于所述芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线,包括,根据现场可编程门阵列各局部区域的时序参数,和用户模块的运行速度需求,确定现场可编程门阵列芯片用户模块的布局区域。
优选地,基于所述芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线,包括,根据现场可编程门阵列各局部区域的时序参数,和用户模块的功耗需求,确定现场可编程门阵列芯片用户模块的布局区域。
优选地,所述现场可编程门阵列芯片时序设计方法基于电子设计自动化工具。
优选地,所述电子设计自动化工具包括,Fuxi电子设计自动化工具。
本发明实施例提供的一种现场可编程逻辑门阵列多区域动态参数时序驱动设计方法,具有以下的优点:
1)时序模型优于现有模型,时序计算更加精确,与芯片运行的真实情况更为契合。
2)低功耗芯片中,可以根据用户需求,显著提高用户模块的运行速度,并进而提高芯片运行速度。
3)低功耗芯片中,可以根据用户需求,降低用户模块的功耗,并进而节约芯片的耗电量。
附图说明
为了更清楚说明本发明实施例的技术方案,下面将对实施例描述中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种现场可编程门阵列芯片时序设计方法的流程图;
图2为本发明实施例提供的时钟树示意图;
图3为本发明一个实施例提供的现场可编程门阵列多区域时序示意图;
图4为本发明一个实施例提供的现场可编程门阵列完整设计流程图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,现有的现场可编程门阵列芯片设计中,由于供电的时钟树为树状网络,存在电压降的问题,在芯片的不同区域电压有着微小的差异,导致芯片的时序模型与实际运行状态并不精确匹配。
为解决上述问题,发明人在本发明实施例中提出一种现场可编程门阵列芯片时序设计方法,该方法通过将现场可编程门阵列芯片划分区域,根据不同区域的测量时序性能,建立时序模型,使得该时序模型更加符合芯片实际运行时的实际时序状态,进而使基于该时序模型设计的PFGA芯片的时序更加精确。图1示出本发明一个实施例提供的一种现场可编程门阵列芯片时序设计方法的流程图,如图1所示,该调优过程至少包括以下步骤:
步骤11,获得现场可编程门阵列芯片电路图。
该步骤中,现场编程门阵列芯片电路图可以为高级抽象的现场可编程门阵列芯片电路设计图。
在一个实施例中,现场可编程门阵列芯片电路图包括,硬件设计语言描述的现场可编程门阵列芯片设计图或原理图,所述硬件设计语言至少包括Verilog语言、VHDL语言。
步骤12,将现场可编程门阵列芯片电路图,划为若干局部区域。
该步骤中,将现场可编程门阵列芯片电路图划分为局部区域,本质上在为了捕捉时钟树的层次递进而导致的时序差。图2为本发明实施例提供的时钟树示意图,如图2所示,时钟树呈现为树状网络结构。图3为本发明一个实施例提供的现场可编程门阵列多区域时序示意图,对比图2,图3所示实施例中对区域的划分,使得时钟树的层次递进而导致的时序差在局部区域(相对于于芯片全部区域)内变小。
步骤13,测量各局部区域中的时序性能,提取时序参数。
在一个实施例中,所述时序参数包括所述局部区域中路径(Path)的延迟时间。
根据一种实施方式,所述测量各所述局部区域中的时序性能,提取时序参数,包括,基于一种现场可编程门阵列芯片的原型,测量各所述局部区域中的时序性能,并提取时序参数。
根据另一种实施方式,所述测量各所述局部区域中的时序性能,提取时序参数,包括,基于模拟仿真计算,估计各所述局部区域中的时序性能,并提取时序参数。
步骤14,至少根据各局部区域的划分范围及其时序参数,建立现场可编程门阵列芯片时序模型。
建立时序模型的是FPGA设计中的必要步骤,时序模型主要是用于时序分析,其主要解决的问题是保证数据信号和时钟锁存沿之间的建立时间和保持时间的关系,比如,保证从上个寄存器传到下个寄存器的总时间小于等于工作时钟周期,数据可以安全可靠地传输。
现有的时序模型没有考虑上述由于时钟树电压降,而导致芯片的实际运行时序具有区域差异的问题。该步骤中,基于各局部区域的划分范围及其时序参数建立的时序模型,使得相对于现有的时序模型,基于该时序模型计算的时序结果与实际时序运行状态更为契合。
步骤15,基于现场可编程门阵列芯片时序模型,利用时序驱动引擎进行现场可编程门阵列芯片的布局、布线。
布局是指将定义的逻辑单元分配到FPGA内部的物理位置,布线是指利用使用布线资源选择路径完成所有的逻辑单元之间的连接。在实际FPGA设计中,利用时序驱动引擎进行现场可编程门阵列芯片的布局、布线,也可以说是在布局、布线中必须考虑时序约束。
根据一种实施方式,可以根据现场可编程门阵列各局部区域的时序参数,和用户模块的运行速度需求,确定现场可编程门阵列芯片用户模块的布局区域。在一个例子中,在低功耗芯片中,把用户模块布局布线在时序速度快的区域,可以显著提高用户模块的运行速度,由于用户模块是使用频繁的模块,这种布局进而可以提高芯片运行速度。
根据另一种实施方式,可以根据现场可编程门阵列各局部区域的时序参数,和用户模块的功耗需求,确定现场可编程门阵列芯片用户模块的布局区域。在一个例子中,在用户模块要求低功耗设计时,可以把用户模块布局布线在时序速度慢的区域,由于时序慢的区域功耗更小,这种布局可以降低用户模块的功耗,由于用户模块是使用频繁的模块,这样布局进而可以降低整个芯片的运行功耗。
在一个实施例中,该现场可编程门阵列芯片时序设计方法基于电子设计自动化工具。
在又一个实施例中,电子设计自动化工具包括,Fuxi电子设计自动化工具。
在具体的实施例中,图1所示方法还可以嵌入完整的现场可编程门阵列设计流程。图4示出本发明一个实施例提供的现场可编程门阵列完整设计流程图,如图4所示,在使用根据区域划分的延时数据(时序模型),进行布局、布线之后,可以进行后续的FPGA设计步骤,直至完成整个FPGA设计,进行流片,对于后续的FPGA设计步骤,本说明书不再赘述。
从以上实施例可以看出,本发明实施例提供了一种现场可编程门阵列芯片时序设计方法,该方法包括:将现场可编程门阵列芯片的电路图,划为若干局部区域;测量各局部区域的时序性能,提取时序参数;至少根据各芯片区域,以及各芯片区域的时序参数,建模芯片时序模型;基于芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线。使用该方法,具有如下的优点:
1)时序模型更加精准,时序计算更加精确,与芯片运行的真实情况更为契合。
2)在低功耗芯片中,能显著提高芯片运行速度。特别在大芯片,用户模块相对较小时,可以把用户设计布局布线在时序速度快的区域以提高用户设计速度。
3)在用户要求低功耗设计时,能节约用户芯片的耗电量,特别是当前电池供电的手持设备,如pad,手机等。特别在大芯片,用户模块相对较小时,可以把用户模块布局布线在耗电量相对较小的区域,以降低用户模块的功耗。
4)结合2)和3),还可以提高用户模块设计中的灵活性和精准性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种现场可编程门阵列芯片时序设计方法,所述方法包括:
获得现场可编程门阵列芯片电路图;
将现场可编程门阵列芯片电路图,划分为若干局部区域;
测量各局部区域的时序性能,提取各局部区域的时序参数;
至少根据各局部区域的划分范围及其时序参数,建立现场可编程门阵列芯片时序模型;
基于所述现场可编程门阵列芯片时序模型,利用时序驱动引擎进行现场可编程门阵列芯片的布局、布线。
2.根据权利要求1所述的方法,其中,所述现场可编程门阵列芯片电路图,包括硬件设计语言描述的现场可编程门阵列芯片设计图或原理图,所述硬件设计语言至少包括Verilog语言、VHDL语言。
3.根据权利要求1所述的方法,其中,所述时序参数包括所述局部区域中路径的延迟时间。
4.根据权利要求1所述的方法,其中,测量各局部区域的时序性能,提取各局部区域的时序参数,包括,基于一种现场可编程门阵列芯片的原型,测量各所述局部区域中的时序性能,并提取时序参数。
5.根据权利要求1所述的方法,其中,测量各局部区域的时序性能,提取各局部区域的时序参数,包括,基于模拟仿真计算,估计各所述局部区域中的时序性能,并提取时序参数。
6.根据权利要求1所述的方法,其中,基于所述芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线,包括,根据现场可编程门阵列各局部区域的时序参数,和用户模块的运行速度需求,确定现场可编程门阵列芯片用户模块的布局区域。
7.根据权利要求1所述的方法,其中,基于所述芯片时序模型,利用时序引擎进行现场可编程门阵列芯片的布局、布线,包括,根据现场可编程门阵列各局部区域的时序参数,和用户模块的功耗需求,确定现场可编程门阵列芯片用户模块的布局区域。
8.根据权利要求1所述的方法,所述现场可编程门阵列芯片时序设计方法基于电子设计自动化工具。
9.根据权利要求8所述的方法,所述电子设计自动化工具包括,Fux i电子设计自动化工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631700.6A CN111832241A (zh) | 2020-07-03 | 2020-07-03 | 一种fpga多区域动态参数时序驱动设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631700.6A CN111832241A (zh) | 2020-07-03 | 2020-07-03 | 一种fpga多区域动态参数时序驱动设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111832241A true CN111832241A (zh) | 2020-10-27 |
Family
ID=72899670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631700.6A Pending CN111832241A (zh) | 2020-07-03 | 2020-07-03 | 一种fpga多区域动态参数时序驱动设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111832241A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW574661B (en) * | 2001-10-30 | 2004-02-01 | Silicon Perspective Corp | Scalable, partitioning integrated circuit layout system |
CN104268352A (zh) * | 2014-10-09 | 2015-01-07 | 中国电子科技集团公司第五十四研究所 | 一种fpga实现中时钟歪斜的快速修复方法 |
CN104572579A (zh) * | 2013-10-10 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga解析型布局求解器的多选择区域动态划分方法 |
US20150204944A1 (en) * | 2012-09-14 | 2015-07-23 | Kabushiki Kaisha Toshiba | Programmable logic device and verification method therefor |
CN105680848A (zh) * | 2014-11-19 | 2016-06-15 | 京微雅格(北京)科技有限公司 | 基于区域时钟的优化fpga芯片布局的方法 |
-
2020
- 2020-07-03 CN CN202010631700.6A patent/CN111832241A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW574661B (en) * | 2001-10-30 | 2004-02-01 | Silicon Perspective Corp | Scalable, partitioning integrated circuit layout system |
US20150204944A1 (en) * | 2012-09-14 | 2015-07-23 | Kabushiki Kaisha Toshiba | Programmable logic device and verification method therefor |
CN104572579A (zh) * | 2013-10-10 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga解析型布局求解器的多选择区域动态划分方法 |
CN104268352A (zh) * | 2014-10-09 | 2015-01-07 | 中国电子科技集团公司第五十四研究所 | 一种fpga实现中时钟歪斜的快速修复方法 |
CN105680848A (zh) * | 2014-11-19 | 2016-06-15 | 京微雅格(北京)科技有限公司 | 基于区域时钟的优化fpga芯片布局的方法 |
Non-Patent Citations (3)
Title |
---|
万旻;包斌;成桂梅;: "一种现场可编程门阵列门延时精确调整时序的方法", 航天返回与遥感, no. 02, 15 April 2010 (2010-04-15) * |
王志莹;王子斌;: "逻辑锁定和时序约束在高速数据采集中的应用", 信息与电子工程, no. 03, 25 June 2008 (2008-06-25) * |
韩晓霞, 张明, 姚庆栋: "时序快速收敛的区域约束式版图设计", 浙江大学学报(工学版), no. 03, 30 March 2004 (2004-03-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762908B1 (en) | Static timing analysis with design-specific on chip variation de-rating factors | |
US10678979B2 (en) | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration | |
CN112270148A (zh) | 一种门级网表生成方法及相关装置 | |
US6976235B2 (en) | Region-based voltage drop budgets for low-power design | |
US7840918B1 (en) | Method and apparatus for physical implementation of a power optimized circuit design | |
US11748548B2 (en) | Hierarchical clock tree implementation | |
CN117151003B (zh) | 一种基于时钟域划分的fpga布局方法及装置 | |
US9483593B2 (en) | Method for decomposing a hardware model and for accelerating formal verification of the hardware model | |
US8726210B2 (en) | Optimizing timing critical paths by modulating systemic process variation | |
CN111832241A (zh) | 一种fpga多区域动态参数时序驱动设计方法 | |
CN111027274B (zh) | 一种三维芯片布局的方法 | |
KR102089083B1 (ko) | 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 | |
Shahshahani et al. | An automated tool for implementing deep neural networks on fpga | |
US11520959B1 (en) | Pruning of buffering candidates for improved efficiency of evaluation | |
US9892227B1 (en) | Systems, methods and storage media for clock tree power estimation at register transfer level | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
CN115048892A (zh) | Fpga的基于模块连接关系的io模块布局方法 | |
US11403068B2 (en) | Efficient hardware implementation of the exponential function using hyperbolic functions | |
CN111651948B (zh) | 参数化的电路单元延时估算模型、其建模方法和系统 | |
Holst et al. | Gpu-accelerated timing simulation of systolic-array-based ai accelerators | |
CN107679282A (zh) | 电荷泵的仿真方法及仿真装置 | |
US20160217239A1 (en) | Method and system for selecting stimulation signals for power estimation | |
CN113627107A (zh) | 确定电源电压数据的方法、装置、电子设备和介质 | |
CN113935264A (zh) | 低功耗综合方法及其装置 | |
KR102605288B1 (ko) | 집적 회로에 대한 소비 전력을 예측하기 위한 시뮬레이션 방법 및 이를 수행하는 집적 회로 시뮬레이션 시스템 |
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 |