CN102156789B - Fpga约束文件自动生成系统及方法 - Google Patents
Fpga约束文件自动生成系统及方法 Download PDFInfo
- Publication number
- CN102156789B CN102156789B CN 201110106753 CN201110106753A CN102156789B CN 102156789 B CN102156789 B CN 102156789B CN 201110106753 CN201110106753 CN 201110106753 CN 201110106753 A CN201110106753 A CN 201110106753A CN 102156789 B CN102156789 B CN 102156789B
- Authority
- CN
- China
- Prior art keywords
- fpga
- fpga device
- pin
- schematic diagram
- item
- 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.)
- Active
Links
Images
Abstract
本发明涉及FPGA逻辑设计领域的约束文件生成技术,其针对传统技术中FPGA约束文件设计复杂、工作量大、易出错的问题,提出了一种FPGA约束文件的自动生成方法。其技术方案的要点可概括为:根据原理图拓扑数据解析出FPGA位号和连接FPGA器件且符合命名规范的有效网络名,再结合FPGA器件参数数据库中的参数信息按照预先制定的规则进行运算,确定FPGA器件所有管脚属性,最后,按照既定的FPGA约束文件规范输出FPGA约束文件。此外,本发明还提出了一种FPGA约束文件自动生成系统。本发明适用于FPGA器件的约束文件的自动生成。
Description
技术领域
本发明涉及FPGA(可编程逻辑器件)逻辑设计领域的约束文件生成技术,尤其涉及FPGA约束文件的自动生成系统及方法。
背景技术
FPGA约束文件是用于配置可编程逻辑器件管脚参数的具有特定规范的文本文件。在FPGA逻辑设计中,设计FPGA约束文件是一个必备环节。在设计之前,为了保证原理图中的器件管脚的属性与FPGA逻辑代码中的端口的属性一一对应,需要FPGA约束文件将器件管脚与逻辑端口进行关联,并定义器件管脚的方向、电平类型等属性。
传统技术中,设计FPGA约束文件的方法为:首先,由原理图工程师在原理图中查找FPGA器件,将FPGA器件管脚号以及和管脚连接的信号线的网络名列出来,再将网络名与既定网络名命名规则进行对比,根据对比结果获取管脚属性信息,并将管脚属性信息一一列出来;然后,由逻辑工程师根据管脚属性信息,对照器件资料所列的管脚属性列表,选择对应的FPGA器件管脚约束条目;最后,由逻辑工程师按照一定的规范将上述约束条目写成约束文件来配置FPGA的管脚属性。随着FPGA器件逻辑规模的增大,其管脚数目和属性条目也不断增多,设计约束文件的复杂度和工作量也随之增大。因此,采用上述方法设计FPGA约束文件所需工作量巨大,且存在易漏约束条目、填写错误、约束条目选择错误等缺点。
发明内容
本发明所要解决的技术问题是:提出一种FPGA约束文件自动生成系统及方法,解决传统技术中FPGA约束文件设计复杂、工作量大、易出错的问题。
本发明解决上述技术问题所采用的方案是:FPGA约束文件自动生成系统,包括数据解析运算单元及与之连接的原理图数据检入单元、FPGA器件参数数据库、FPGA约束文件生成单元;所述原理图数据检入单元用于检入原理图拓扑结构、网络名和器件参数;所述FPGA器件参数数据库负责提供FPGA器件的相关参数;所述数据解析运算单元负责解析所述原理图数据检入单元检入的原理图拓扑结构和网络名,并结合解析出来的数据调用FPGA器件参数数据库中的数据按照预定的约束规则进行运算;所述FPGA约束文件生成单元根据数据解析运算单元的运算结果按照输出规范输出FPGA约束文件。
FPGA约束文件自动生成方法,包括以下步骤:
a.通过原理图数据检入单元检入原理图数据;
b.根据检入的原理图数据,解析出原理图中所有器件的位号;
c.根据器件的位号区分出FPGA器件,并获取FPGA器件的型号;
d.将获取到的FPGA器件的型号与FPGA器件参数数据库中已有的器件型号相对比,判断该FPGA器件是否为新型号的FPGA器件,如是,则进入步骤e,如否,则进入步骤f;
e.将该FPGA器件的参数添加至FPGA器件参数数据库;
f.在FPGA器件参数数据库中找到与该FPGA器件相对应的参数,读出管脚属性;
g.解析出与该FPGA器件的管脚关联的信号线的有效网络名;
h.解析出所述有效网络名包含的信息,根据解析出来的信息,按照既定的约束规则选取步骤f中读出的管脚属性作为该FPGA器件管脚属性的约束条目;
i.该FPGA器件的所有管脚属性的约束条目生成后,按照既定的约束文件规范,输出该FPGA器件的所有管脚属性的约束条目,生成约束文件。
进一步,步骤c中,根据器件的位号区分出FPGA器件,并获取FPGA器件的型号的具体方法是:根据器件的位号按照既定的位号命名规则区分FPGA器件与其它器件位号,依据FPGA器件位号以及检入的元器件参数获取FPGA器件型号。
进一步,步骤f中,在FPGA器件参数数据库中找到与该FPGA器件相对应的参数,读出管脚属性的具体方法是:
根据FPGA器件的位号以及检入的元器件参数获取FPGA器件的材料编号,并根据材料编号到FPGA器件参数数据库中找到对应器件,读出管脚属性。
进一步,步骤g中,解析出与该FPGA器件的管脚关联的信号线的有效网络名的具体方法是:
g1.根据检入的原理图数据解析出原理图中与FPGA器件管脚互联的信号线的网络名;
g2.按照既定的网络名命名规则判断所述网络名是否符合规范,如是,则进入步骤h,如否,则进入步骤g3;
g3.判断该信号线上是否有电阻,如是,则按照既定的原理图设计规范,认为电阻为信号线的一部分,即跳过电阻继续解析网络名,直到找到符合规范的有效网络名,如否,表明网络已终结且信号线上没有有效网络名,则输出原理图网络名命名错误告警,并进入步骤i。
进一步,所述原理图数据包括:原理图拓扑结构、网络名、元器件位号、元器件参数。
进一步,所述FPGA器件参数数据库中的存储内容包括:FPGA器件型号、FPGA器件材料编号、管脚编号、管脚电气方向、管脚电平类型。
进一步,所述约束条目包括:管脚电气方向、管脚电平类型、管脚编号。
进一步,所述管脚电气方向包括:输入、输出、双向。
进一步,所述管脚电平类型包括:LVTTL电平、LVMOS电平、SSTL-18电平。
本发明的有益效果是:自动生成FPGA约束文件,从而提高FPGA约束文件的设计效率,保证FPGA约束文件的精确性。
附图说明
图1为本发明中的FPGA约束文件自动生成系统结构框图;
图2为本发明中的FPGA约束文件自动生成方法流程图。
具体实施方式
下面结合附图及实施例对本发明作进一步的描述。
针对传统技术中由设计人员手动生成FPGA约束文件而带来的设计复杂、工作量大、易出错的问题,本发明提出了一种FPGA约束文件自动生成方法,其是根据原理图拓扑数据解析出FPGA位号和连接FPGA器件且符合命名规范的有效网络名,再结合FPGA器件参数数据库中的参数信息按照预先制定的规则进行运算,确定FPGA器件所有管脚属性,最后,按照既定的FPGA约束文件规范输出FPGA约束文件。
此外,本发明还提出了一种FPGA约束文件自动生成系统。如图1所示,该系统包括以下几个部分:
原理图数据检入单元:包含原理图网络互联拓扑数据检入和原理图中的器件位号检入;
FPGA器件参数数据库:负责提供各种FPGA器件的相关参数;
数据解析运算单元:首先区分FPGA器件与其它器件的位号;其次,根据FPGA的器件位号来关联与FPGA器件互联的网络,再按照既定规则解析出与FPGA器件各个管脚连接的有效网络名,并根据命名规则解析出与管脚属性相关信息;最后,以解析出的网络名所包含的管脚属性相关信息与FPGA器件参数数据库进行关联,根据已制定好的规则选取FPGA器件参数数据库中管脚的约束条目;
FPGA约束文件生成单元:根据数据解析单元所运算的结果,进行填写特定规范约束文本,输出FPGA约束文件。
如图2所示,对于FPGA约束文件的自动生成方法,可采用以下步骤完成:
1.检入原理图数据:通过原理图数据检入单元检入原理图数据,其中原理图数据包括原理图拓扑结构、网络名、元器件位号、元器件参数;
2.解析器件型号:根据检入的原理图数据,解析出原理图中所有器件的位号;根据器件的位号按照既定的位号命名规则区分FPGA器件与其它器件位号,依据FPGA器件位号以及检入的元器件参数获取FPGA器件型号;
3.判断该FPGA器件是否为新型号的FPGA器件:将获取到的FPGA器件的型号与FPGA器件参数数据库中已有的器件型号相对比,判断该FPGA器件是否为新型号的FPGA器件,如果为新型号的FPGA器件,则进入步骤4,否则,进入步骤5;
4.向FPGA器件参数数据库中添加该FPGA器件的参数;
5.读出管脚属性,解析出与管脚关联的信号线的有效网络名:根据FPGA器件位号以及检入的FPGA器件信息参数获取FPGA器件的材料编号,并根据材料编号到FPGA器件参数数据库找到对应器件,读出器件管脚属性;根据检入的原理图拓扑结构数据,解析出原理图中与FPGA器件管脚互联的信号线的网络名,按照既定的网络名命名规则核实网络名是否符合规范,如果符合,则进入步骤6,否则,就判断该信号线上是否有电阻,如果没有电阻,则输出告警,并进入步骤7,如果有电阻,则跳过电阻继续解析网络名,直到找到符合规范的有效网络名,并进入步骤6;
6.解析网络名并关联FPGA器件参数数据库,生成管脚约束条目:根据获取的信号线上有效网络名,按照既定的网络名命名规则解析有效网络名包含的信息(信号流向、电平类型);
7.判断所有管脚的约束条目是否均已生成:如果所有管脚的约束条目均已生成,则进入步骤8,否则,循环执行步骤5、6直至生成所有管脚的约束条目;
8.输出FPGA约束文件:输出所有的管脚的约束条目,生成FPGA约束文件。
实施例:
以生成交换机主控板上的FPGA约束文件为例,
首先,通过原理图数据检入单元检入原理图拓扑结构数据:
信号名:N1253354
信号线连接的器件管脚:R232.1、UF21.E2
(注:R232、UF21是器件位号,其后的“.1”、“.E2”是管脚号)
器件材料编号:R232(0012578)UF21(0011123)
信号名:IN_LVTTL_ADDR13
信号线连接的器件管脚:R232.2
然后,根据检入的原理图拓扑结构数据,进入解析过程:
第一步,寻找原理图的FPGA器件:根据器件位号命名规范,位号以“R”开头的器件为电阻,位号以“UF”开头的器件为FPGA器件。
第二步,根据查找到的FPGA器件编号到FPGA器件参数数据库查询是否有该器件,经过查询,在FPGA器件参数数据库已有该编号的器件。从FPGA器件参数数据库得知该器件型号为EP3C40F780C8,管脚总数为780根。找到器件后,再根据器件管脚号查询相应的管脚属性。查询UF21.E2管脚类型为普通I/O,管脚可配电平为LVTTL、LVCMOS。
FU21.E2管脚属性和其器件参数信息整理如下:
器件型号:EP3C40F780C8
管脚总数:780
管脚号:E2
管脚类型:普通I/O
管脚可配电平:LVTTL、LVCMOS
第三步,根据原理图拓扑结构,寻找有效网络名:
首先,根据UF21.E2管脚找到网络名“N1253354”,再解析网络名“N1253354”。根据网络名命名规则,开头字母是“N”且后面为纯数字的网络名为系统自动生成的网络名。该网络名不包含任何信息,属于无效网络名,则需要继续寻找有效网络名。根据“N1253354”网络,找到其连接的R232.1管脚。其中R232是器件位号,位号以“R”开头的器件是电阻。按照既定的原理图设计规范,认为电阻为信号线的一部分。故可以绕开电阻继续寻找有效网络名。于是,再由R232.1找到R232.2管脚,R232.2管脚上连接的网络名为“IN_LVTTLL_DDR13”,该网络名为有效网络名。
第四步,解析第三步中找到的网络名。根据网络名命名规则解析出如下信息:
管脚类型:IN(输入)
电平类型:LVTTL电平
第五步,比较第二步中从数据库读取的管脚属性和第四步解析的管脚属性是否匹配。
第六步,按照约束文件输出规范,输出FPGA约束文件。
Claims (9)
1.FPGA约束文件自动生成系统,其特征在于:包括数据解析运算单元及与之连接的原理图数据检入单元、FPGA器件参数数据库、FPGA约束文件生成单元;所述原理图数据检入单元用于检入原理图网络互联拓扑数据及原理图中的器件位号;所述数据解析运算单元首先区分FPGA器件与其它器件的位号,其次,根据FPGA的器件位号来关联与FPGA器件互联的网络,再按照既定规则解析出与FPGA器件各个管脚连接的有效网络名,并根据命名规则解析出与管脚属性相关信息,最后,以解析出的网络名所包含的管脚属性相关信息与FPGA器件参数数据库进行关联,根据已制定好的规则选取FPGA器件参数数据库中管脚的约束条目;所述FPGA器件参数数据库负责提供FPGA器件的相关参数;所述FPGA约束文件生成单元根据数据解析运算单元的运算结果按照输出规范输出FPGA约束文件。
2.FPGA约束文件自动生成方法,其特征在于:包括以下步骤:
a.通过原理图数据检入单元检入原理图数据;所述原理图数据包括:原理图拓扑结构、网络名、元器件位号、元器件参数;
b.根据检入的原理图数据,解析出原理图中所有器件的位号;
c.根据器件的位号区分出FPGA器件,并获取FPGA器件的型号;
d.将获取到的FPGA器件的型号与FPGA器件参数数据库中已有的器件型号相对比,判断该FPGA器件是否为新型号的FPGA器件,如是,则进入步骤e,如否,则进入步骤f;
e.将该FPGA器件的参数添加至FPGA器件参数数据库;
f.在FPGA器件参数数据库中找到与该FPGA器件相对应的参数,读出管脚属性;
g.解析出与该FPGA器件的管脚关联的信号线的有效网络名;
h.解析出所述有效网络名包含的信息,根据解析出来的信息,按照既定的约束规则选取步骤f中读出的管脚属性作为该FPGA器件管脚属性的约束条目;
i.该FPGA器件的所有管脚属性的约束条目生成后,按照既定的约束文件规范,输出该FPGA器件的所有管脚属性的约束条目,生成约束文件。
3.如权利要求2所述的FPGA约束文件自动生成方法,其特征在于:步骤c中,根据器件的位号区分出FPGA器件,并获取FPGA器件的型号的具体方法是:根据器件的位号按照既定的位号命名规则区分FPGA器件与其它器件位号,依据FPGA器件位号以及检入的元器件参数获取FPGA器件型号。
4.如权利要求2所述的FPGA约束文件自动生成方法,其特征在于:步骤f中,在FPGA器件参数数据库中找到与该FPGA器件相对应的参数,读出管脚属性的具体方法是:
根据FPGA器件的位号以及检入的元器件参数获取FPGA器件的材料编号,并根据材料编号到FPGA器件参数数据库中找到对应器件,读出管脚属性。
5.如权利要求2所述的FPGA约束文件自动生成方法,其特征在于:步骤g中,解析出与该FPGA器件的管脚关联的信号线的有效网络名的具体方法是:
g1.根据检入的原理图数据解析出原理图中与FPGA器件管脚互联的信号线的网络名;
g2.按照既定的网络名命名规则判断所述网络名是否符合规范,如是,则进入步骤h,如否,则进入步骤g3;
g3.判断该信号线上是否有电阻,如是,则按照既定的原理图设计规范,认为电阻为信号线的一部分,即跳过电阻继续解析网络名,直到找到符合规范的有效网络名,如否,表明网络已终结且信号线上没有有效网络名,则输出原理图网络名命名错误告警,并进入步骤i。
6.如权利要求2-5任意一项所述的FPGA约束文件自动生成方法,其特征在于:所述FPGA器件参数数据库中的存储内容包括:FPGA器件型号、FPGA器件材料编号、管脚编号、管脚电气方向、管脚电平类型。
7.如权利要求2-5任意一项所述的FPGA约束文件自动生成方法,其特征在于:所述约束条目包括:管脚电气方向、管脚电平类型、管脚编号。
8.如权利要求7所述的FPGA约束文件自动生成方法,其特征在于:所述管脚电气方向包括:输入、输出、双向。
9.如权利要求7所述的FPGA约束文件自动生成方法,其特征在于:所述管脚电平类型包括:LVTTL电平、LVMOS电平、SSTL-18电平。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110106753 CN102156789B (zh) | 2011-04-27 | 2011-04-27 | Fpga约束文件自动生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110106753 CN102156789B (zh) | 2011-04-27 | 2011-04-27 | Fpga约束文件自动生成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102156789A CN102156789A (zh) | 2011-08-17 |
CN102156789B true CN102156789B (zh) | 2013-01-02 |
Family
ID=44438284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110106753 Active CN102156789B (zh) | 2011-04-27 | 2011-04-27 | Fpga约束文件自动生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102156789B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599499A (zh) * | 2016-12-21 | 2017-04-26 | 中国航空工业集团公司雷华电子技术研究所 | 一种XilinxFPGA约束文件自动生成方法 |
CN109783118B (zh) * | 2017-11-13 | 2022-10-25 | 阿里巴巴集团控股有限公司 | Fpga云主机开发方法和系统 |
CN110032539B (zh) * | 2019-03-20 | 2020-08-25 | 广东高云半导体科技股份有限公司 | 芯片管脚信息处理方法、装置、计算机设备及存储介质 |
CN113434346B (zh) * | 2021-05-26 | 2023-08-04 | 成都天奥信息科技有限公司 | 一种差分信号极性连接的自动检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000210B2 (en) * | 2002-11-05 | 2006-02-14 | Lattice Semiconductor Corporation | Adaptive adjustment of constraints during PLD placement processing |
CN101771408A (zh) * | 2010-01-05 | 2010-07-07 | 中国人民解放军信息工程大学 | 一种fpga硬件构件的生成方法及装置 |
CN101793941A (zh) * | 2009-12-24 | 2010-08-04 | 上海华岭集成电路技术有限责任公司 | Fpga配置文件的生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050183055A1 (en) * | 2004-02-04 | 2005-08-18 | Nortel Networks Limited | Method and apparatus for automating the design of programmable logic devices |
-
2011
- 2011-04-27 CN CN 201110106753 patent/CN102156789B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000210B2 (en) * | 2002-11-05 | 2006-02-14 | Lattice Semiconductor Corporation | Adaptive adjustment of constraints during PLD placement processing |
CN101793941A (zh) * | 2009-12-24 | 2010-08-04 | 上海华岭集成电路技术有限责任公司 | Fpga配置文件的生成方法 |
CN101771408A (zh) * | 2010-01-05 | 2010-07-07 | 中国人民解放军信息工程大学 | 一种fpga硬件构件的生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
Scott T..用设计约束实现FPGA性能的最优化.《电子技术应用》.2009,(第4期),第17-20页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102156789A (zh) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9348960B1 (en) | Method, system, and computer program product for probing or netlisting a multi-fabric electronic design spanning across multiple design fabrics | |
CN1873646B (zh) | 产生结构化专用集成电路及其物理布局的方法 | |
CN102541521B (zh) | 基于结构化查询语言的操作指令自动生成装置及方法 | |
CN111859827B (zh) | 一种芯片ip集成方法、装置及电子设备和存储介质 | |
CN102323964B (zh) | 一种数字电路网表数据的处理方法 | |
US8732630B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
CN102270137B (zh) | 一种获取体系结构描述语言的方法和一种建模工具 | |
CN102156789B (zh) | Fpga约束文件自动生成系统及方法 | |
CN105279269B (zh) | 一种支持表自由关联的sql生成方法和系统 | |
CN109740122A (zh) | 思维导图用例文件的转换方法及装置 | |
US20200019896A1 (en) | Numerical graphical flow diagram conversion and comparison | |
CN106354649A (zh) | 一种分层式网页自动化测试脚本设计方法 | |
CN1534764A (zh) | 集成电路设计整合方法及其应用的组件、交易方法与产品 | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
US10437946B1 (en) | Using implemented core sources for simulation | |
CN103793458B (zh) | 一种将aadl无损转换成xml的方法 | |
US9501592B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
US7904856B2 (en) | Arrangement handling commands as control system behaviors and data system behaviors | |
CN117195818B (zh) | 电源设计命令生成方法、装置、电子设备及存储介质 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN105302547A (zh) | 一种面向Verilog HDL设计的故障注入方法 | |
US8949753B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
CN104615510B (zh) | 基于可编程器件的双模冗余容错方法 | |
CN108829968A (zh) | 基于Python扩展函数的电路图审查方法 | |
CN110874517A (zh) | 一种快速验证fpga互连线连接正确的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |