CN106599499A - 一种XilinxFPGA约束文件自动生成方法 - Google Patents
一种XilinxFPGA约束文件自动生成方法 Download PDFInfo
- Publication number
- CN106599499A CN106599499A CN201611193728.6A CN201611193728A CN106599499A CN 106599499 A CN106599499 A CN 106599499A CN 201611193728 A CN201611193728 A CN 201611193728A CN 106599499 A CN106599499 A CN 106599499A
- Authority
- CN
- China
- Prior art keywords
- fpga
- file
- data
- unbound
- generating
- 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
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]
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
本发明提供一种Xilinx FPGA约束文件自动生成方法,包括如下步骤:根据硬件原理图生成网表文件;提取该网表文件中与FPGA相关的所有内容,生成FPGA原理图数据文件;根据FPGA封装文件筛选出FPGA原理图数据文件中有关约束文件生成所需的内容,获得FPGA通用IO及供电数据文件;FPGA通用IO及供电数据文件中包含有约束文件生成所需的数据总线的网络名称、管脚号和供电电压,根据网络名称将数据总线完成分类分组处理;根据数据总线的分类分组结果,生成FPGA约束文件。本发明的Xilinx FPGA约束文件自动生成方法,相比于当前逐个通用FPGA IO管脚编辑的方式,具有节省设计时间和提高准确性的优点。
Description
技术领域
本发明属于Xilinx FPGA应用开发领域,具体涉及一种Xilinx FPGA约束文件自动生成方法。
背景技术
在应用Xilinx FPGA进行数字电路开发的过程中,FPGA的通用IO端口通常需要连接多种芯片,如A/D、D/A、DDR3、DSP等,这些外部芯片与FPGA之间互连多组数据总线和控制线。在进行FPGA逻辑代码设计调试前,需要完成FPGA IO管脚约束文件的编写。
现有技术中通常采用的约束文件编写方法是:先对接入通用IO端口的管脚进行各种数据总线和控制总线的分类,然后参照Cadence软件绘制的原理图对每位数据线和控制线逐一进行管脚对应,并选择所在Bank的电平标准,最后按照Xilinx开发环境要求的格式编写约束文件(.ucf或.xdc文件)。
这种传统的约束文件编写方式对每一个接入FPGA的数据都需要进行整理,需要大量的时间和精力才能完成这项枯燥的工作。例如对一片通用IO脚在500个左右的FPGA,要完成所有接入IO脚的各种总线的分类、管脚映射、约束格式编写、电平标准设置,并最终形成FPGA的约束文件,耗时过长,这种枯燥的工作极大地降低了FPGA开发者的效率。现有技术实现FPGA约束文件编写存在的缺点归纳如下:
(1)严重浪费FPGA开发时间:对每个接入FPGA通用IO脚的数据线和控制线进行约束编写,将涉及大量的IO管脚映射、电平标准选择和约束格式差异等,占用较多工作量。(2)增加约束文件出错概率:由于约束文件的编写需要对照Cadence原理图,并且在FPGA开发软件间不断切换,如此枯燥的工作大大增加了约束文件出错的概率,也降低了FPGA的调试效率。
发明内容
本发明的目的在于提供一种Xilinx FPGA约束文件自动生成方法,克服或减轻现有技术的至少一个上述缺陷。
本发明的目的通过如下技术方案实现:一种Xilinx FPGA约束文件自动生成方法,其特征在于,包括如下步骤:
步骤一:根据硬件原理图生成网表文件;
步骤二:提取该网表文件中与FPGA相关的所有内容,生成FPGA原理图数据文件;
步骤三:根据FPGA封装文件筛选出所述FPGA原理图数据文件中有关所述约束文件生成所需的内容,获得FPGA通用IO及供电数据文件;
步骤四:所述FPGA通用IO及供电数据文件中包含有所述约束文件生成所需的数据总线的网络名称、管脚号和供电电压,根据网络名称将数据总线完成分类分组处理;
步骤五:根据所述数据总线的分类分组结果,生成FPGA约束文件。
本发明所提供的一种Xilinx FPGA约束文件自动生成方法的有益效果在于,相比于当前逐个通用FPGA IO管脚编辑的方式,具有节省设计时间和提高准确性的优点。此方法可以广泛应用于Xilinx FPGA开发领域。除了硬件原理图网表文件需要手动处理外,对占用较多工作量的网表文件筛选、分类和文件生成均由软件自动处理,大大节省了工程师开发的工作量。软件处理后生成Xilinx FPGA开发所需要的.ucf和.xdc两种约束文件,用户可以根据开发环境的不同进行任意选择。
附图说明
图1为本发明Xilinx FPGA约束文件自动生成方法的网表文件示意图;
图2为本发明Xilinx FPGA约束文件自动生成方法的约束文件生成结果示意图。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明的Xilinx FPGA约束文件自动生成方法做进一步详细说明。
Xilinx FPGA约束文件自动生成方法是根据Cadence设计硬件原理图时生成的网表文件,此文件包括了硬件设计的所有信息,从中可以提取FPGA数据总线的网络名称、管脚号、电压标准等所有与约束文件相关的内容。自动生成方法即是根据这些信息,再结合FPGA封装库文件,通过多次筛选完成约束文件的产生。约束文件自动生成方法由以下五部分组成,其中第一步需要手动完成外,其余四步全部由软件自动处理完成。
步骤一:根据硬件原理图生成网表文件。
获取硬件原理图网表文件是实现FPGA约束文件自动生成的前提,这部分内容需要手动完成,但也只占用约一分钟时间。原理图设计开发环境Cadence软件提供了网表文件的生成选项。首先在Cadence菜单栏中选择Tools\Packager Utilities\Netlist Reports,然后在弹出的对话框选择第一项Concise Netlist(dialcnet.dat),即可生成.dat格式的网表数据文件。此.dat网表数据文件中包含了原理图中所有相关的硬件设计信息,可以满足约束文件的所有要素。为便于后续数据处理,将.dat数据文件转存为Excel文件,网表文件的格式如图1所示,图中第1列为数据总线网络名称(第1列中字母为名称,数字为组内编号),第2列为芯片位号(原理图中自带),第3列为IO管脚号,第4列为芯片型号(为了筛选FPGA相关内容)。数据总线包括源端芯片和目的端芯片的网络号、位号、IO管脚号和芯片型号等,约束文件关心的是与FPGA相关的信息,接下来将对网表文件进行简化筛选处理。
以下四步对原理图网表文件的处理全部由软件自动完成,下面将介绍软件算法实现的过程。
步骤二:网表文件初步筛选,提取该网表文件中与FPGA相关的所有内容,生成FPGA原理图数据文件。
由于网表文件中包含了所有FPGA及其接口电路的硬件设计信息,而FPGA约束文件的自动生成只需关心FPGA相关的内容即可。因此首先需要对网表文件进行筛选,根据用户界面选择设置的FPGA型号,与图2中的第4列的芯片型号逐一对比,即可完成所有FPGA相关信息提取。
初步筛选后的网表文件只包含FPGA设计信息,从而将其它所有硬件设计内容剔除,大大减轻了后续字符数据处理压力。但是筛选完成了FPGA相关内容仍包含了许多生成约束文件不需要的内容,因此需要进一步筛选FPGA网表文件。
步骤三:网表文件二次筛选,根据FPGA封装文件筛选出所述FPGA原理图数据文件中有关约束文件生成所需的内容,获得FPGA通用IO及供电数据文件。
由于约束文件生成只针对FPGA的通用IO脚和供电管脚,需要对FPGA网表文件做二次筛选。Xilinx公司提供了每种型号FPGA的封装Excel文件,将初步筛选后的FPGA网表文件(即FPGA原理图数据文件)与官方封装文件对比,即可获取FPGA通用IO及供电数据文件。
步骤四:FPGA通用IO及供电数据文件中包含有所述约束文件生成所需的数据总线的网络名称、管脚号和供电电压,根据网络名称将数据总线完成分类分组处理。
经过两次筛选后的网表文件已经大大简化,只包含有约束文件生成所必需的数据总线的网络名称、管脚号和供电电压有关信息,其中供电电压用于确定约束文件的电平标准。但是要实现约束文件生成还需要对所有数据总线进行分类:差分数据总线、单端数据总线等,而每类数据总线还可能包含多组,在约束文件生成前需要根据总线的网络名称通过字符处理完成分类分组。根据总线所在FPGA Bank的供电电压值,确定每组数据总线对应IO管脚的电平标准。
数据总线分类分组的同时即完成了每条数据线的名称、IO管脚号、电平标准和所属总线的整理,也就完成了约束文件自动生成的所有准备工作。
步骤五:根据所述数据总线的分类分组结果,生成FPGA约束文件。
根据数据总线的分类和分组结果,并按照Xilinx FPGA开发对约束文件格式的要求,即可以自动生成两个约束文件供开发者选择:适用于ISE开发环境的.ucf文件(如图2所示)和适用于Vivado开发环境的.xdc文件,同时需要注意的是在选择原理图网表文件和对应FPGA型号时,如果原理图中有两片及以上相同型号的FPGA,则设置FPGA位号予以区分即可;没有相同的则缺省。自动处理硬件设计网表文件并生成FPGA约束文件,在节省时间和避免出错两方面大大提高了FPGA开发效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (1)
1.一种Xilinx FPGA约束文件自动生成方法,其特征在于,包括如下步骤:
步骤一:根据硬件原理图生成网表文件;
步骤二:提取该网表文件中与FPGA相关的所有内容,生成FPGA原理图数据文件;
步骤三:根据FPGA封装文件筛选出所述FPGA原理图数据文件中有关所述约束文件生成所需的内容,获得FPGA通用IO及供电数据文件;
步骤四:所述FPGA通用IO及供电数据文件中包含有所述约束文件生成所需的数据总线的网络名称、管脚号和供电电压,根据网络名称将数据总线完成分类分组处理;
步骤五:根据所述数据总线的分类分组结果,生成FPGA约束文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611193728.6A CN106599499A (zh) | 2016-12-21 | 2016-12-21 | 一种XilinxFPGA约束文件自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611193728.6A CN106599499A (zh) | 2016-12-21 | 2016-12-21 | 一种XilinxFPGA约束文件自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106599499A true CN106599499A (zh) | 2017-04-26 |
Family
ID=58602232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611193728.6A Pending CN106599499A (zh) | 2016-12-21 | 2016-12-21 | 一种XilinxFPGA约束文件自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599499A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400169A (zh) * | 2020-02-25 | 2020-07-10 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化生成用于测试软硬件的网表文件的方法及系统 |
CN112630632A (zh) * | 2020-12-28 | 2021-04-09 | 中国科学院空天信息创新研究院 | 基于信号自动拉取的在线逻辑分析仪的实施方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156789A (zh) * | 2011-04-27 | 2011-08-17 | 迈普通信技术股份有限公司 | Fpga约束文件自动生成系统及方法 |
US8079009B1 (en) * | 2008-12-08 | 2011-12-13 | Xilinx, Inc. | Managing interrupt requests from IP cores |
CN102768692A (zh) * | 2011-05-06 | 2012-11-07 | 中国科学院微电子研究所 | 应用于fpga测试的导航布局布线方法 |
CN103163450A (zh) * | 2011-12-16 | 2013-06-19 | 中国科学院微电子研究所 | 一种应用于对特定结构fpga进行测试的导航映射方法 |
CN103886162A (zh) * | 2014-04-14 | 2014-06-25 | 烽火通信科技股份有限公司 | 在pcb文件中提取可编程逻辑器件的管脚绑定的方法 |
-
2016
- 2016-12-21 CN CN201611193728.6A patent/CN106599499A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8079009B1 (en) * | 2008-12-08 | 2011-12-13 | Xilinx, Inc. | Managing interrupt requests from IP cores |
CN102156789A (zh) * | 2011-04-27 | 2011-08-17 | 迈普通信技术股份有限公司 | Fpga约束文件自动生成系统及方法 |
CN102768692A (zh) * | 2011-05-06 | 2012-11-07 | 中国科学院微电子研究所 | 应用于fpga测试的导航布局布线方法 |
CN103163450A (zh) * | 2011-12-16 | 2013-06-19 | 中国科学院微电子研究所 | 一种应用于对特定结构fpga进行测试的导航映射方法 |
CN103886162A (zh) * | 2014-04-14 | 2014-06-25 | 烽火通信科技股份有限公司 | 在pcb文件中提取可编程逻辑器件的管脚绑定的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400169A (zh) * | 2020-02-25 | 2020-07-10 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化生成用于测试软硬件的网表文件的方法及系统 |
CN111400169B (zh) * | 2020-02-25 | 2023-04-18 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化生成用于测试软硬件的网表文件的方法及系统 |
CN112630632A (zh) * | 2020-12-28 | 2021-04-09 | 中国科学院空天信息创新研究院 | 基于信号自动拉取的在线逻辑分析仪的实施方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6513143B1 (en) | Method for automaticallly remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches | |
US6321369B1 (en) | Interface for compiling project variations in electronic design environments | |
US7062427B2 (en) | Batch editor for netlists described in a hardware description language | |
CN102609252B (zh) | 基于测量仪器的逻辑菜单资源智能配置方法 | |
CN107203473A (zh) | 自动扩展接口测试用例的自动化测试系统与方法 | |
US20070157140A1 (en) | Method and computer program product for trimming the analysis of physical layout versus schematic design comparison | |
CN113010154B (zh) | 基于动态加载的二级数据管理界面可视化开发配置方法 | |
CN109492337B (zh) | 一种可编程逻辑器件的信息流追踪模型生成方法 | |
US5761079A (en) | Engineering change management system employing a smart editor | |
CN104731588B (zh) | 页面布局文件生成方法和页面布局文件生成装置 | |
WO2024087909A1 (zh) | 一种基于属性联动规则的页面数据处理方法和介质 | |
CN106294606A (zh) | 一种基于通用读写框架的cae文件转换方法及装置 | |
CN114090611A (zh) | 一种端子接线表生成电缆清册的方法、装置及电子设备 | |
CN110489297A (zh) | 一种基于图形界面的fpga调试信号设置方法 | |
CN107688682A (zh) | 一种使用时序路径提取电路拓扑的方法 | |
CN106599499A (zh) | 一种XilinxFPGA约束文件自动生成方法 | |
US7904856B2 (en) | Arrangement handling commands as control system behaviors and data system behaviors | |
CN110442929B (zh) | 一种基于perl实现芯片系统顶层自动例化的方法 | |
US6272665B1 (en) | Method and tool for automatically generating engineering change order | |
CN102156789B (zh) | Fpga约束文件自动生成系统及方法 | |
CN105302547A (zh) | 一种面向Verilog HDL设计的故障注入方法 | |
US6810508B1 (en) | Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches | |
US9383972B2 (en) | Methods and arrangements for processing and presentation of information | |
US8782587B2 (en) | Systems and methods for generating a higher level description of a circuit design based on connectivity strengths | |
CN114356430A (zh) | 一种基于airflow调度系统的DAG依赖配置工具 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |