CN109165131B - 一种基于Perl的原型验证平台自动化实现方法 - Google Patents
一种基于Perl的原型验证平台自动化实现方法 Download PDFInfo
- Publication number
- CN109165131B CN109165131B CN201810867465.5A CN201810867465A CN109165131B CN 109165131 B CN109165131 B CN 109165131B CN 201810867465 A CN201810867465 A CN 201810867465A CN 109165131 B CN109165131 B CN 109165131B
- Authority
- CN
- China
- Prior art keywords
- file
- module
- hardware
- comprehensive
- fpga
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于Perl的原型验证平台自动化实现方法,针对已有系统,利用XML文件记录原型验证过程中保留、删除的硬件模块IP信息;将删除的硬件模块顶层文件DUMMY处理;修改ASIC设计中的标准单元库、存储器、时钟单元为FPGA可综合器件,构建FPGA库;将需要的硬件模块文件路径汇总,并添加DUMMY处理后的IP DUMMY文件路径,获得完整系统文件路径列表;生成synplify综合所需工程文件;根据上述工程文件自动生成原型验证所需的最终Bit文件。至此,原型验证平台即可实现。本发明将整个平台生成过程自动化,利用Perl语言脚本控制整个过程及文件的生成与转化,提高了平台生成效率和可靠性。
Description
技术领域
本发明涉及一种原型验证平台实现方法,特别是一种基于Perl的原型验证平台自动化实现方法。
背景技术
目前,原型验证是芯片流片前检验芯片与预期应用环境是否契合的必要验证流程,在ASIC芯片的开发过程中,直接流片的成本很高,通常采用的方法是先将逻辑设计进行综合、布局、布线,在FPGA原型验证平台进行验证,而FPGA具有可编程的特点,可以反复修改逻辑设计,直至达到满意的结果,避免多次流片造成的高成本、高风险。开展原型验证前,需要搭建原型验证平台,将ASIC设计改动尽可能小地移植到原型验证平台中,现有FPGA原型验证平台的搭建过程中,存在以下几方面的难点:
首先,FPGA原型验证无法与ASIC系统保持完全一致,需要将时钟单元、存储单元等修改为FPGA可综合的文件,而这些单元数量巨大,替换过程工作量繁琐易出错。
其次,FPGA原型验证受限于逻辑门数量,无法完整地将大规模ASIC系统移植,所以每一次验证都需要根据待验证的功能,将暂时不需要的硬件模块IP删除,减小逻辑规模。
再次,FPGA原型验证为ASCI设计过程中的验证环节,设计难免反复修改,而验证也需要根据设计进行迭代,整个过程重复次数多,过程繁琐。
发明内容
本发明目的在于提供一种基于Perl的原型验证平台自动化实现方法,解决原型验证平台生成过程中重复迭代次数多、修改易出错等难点。
一种基于Perl的原型验证平台自动化实现方法,其具体步骤为:
第一步构建原型验证平台自动化生成系统
原型验证平台自动化生成系统包括XML硬件信息管理模块、硬件设计DUMMY模块、FPGA库文件生成模块、文件路径列表生成模块、综合工程文件生成模块和综合工具调用模块。XML硬件信息管理模块记录硬件模块使用信息,硬件设计DUMMY模块处理验证中需要删除的硬件模块,FPGA库文件生成模块生成FPGA综合所需的器件库文件,文件路径列表生成模块整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块生成综合工程文件,综合工具调用模块调用synplify和vivado工具生成原型验证平台。
第二步XML硬件信息管理模块记录硬件模块使用信息
XML硬件信息管理模块是用户与Perl语言脚本之间的信息交互系统,根据验证需要,将系统原型验证需要用的硬件模块信息和需要删除的硬件模块信息依次写入XML文件中作为记录,以此传递给后续Perl语言脚本。
第三步硬件设计DUMMY模块处理验证中需要删除的硬件模块
硬件设计DUMMY模块解析XML硬件信息管理模块中的信息,提取需要删除的硬件设计信息,将需要删除的硬件设计顶层文件进行修改,删除硬件设计顶层文件中逻辑,并将输入信号悬空,输出信号绑定为无效值,以此实现在综合过程中,需要删除的硬件模块不产生逻辑门电路。
第四步FPGA库文件生成模块生成FPGA综合所需的器件库文件
FPGA库文件生成模块将数字专用集成电路设计中使用的标准单元库,修改为FPGA可综合器件。由于数字专用集成电路设计中使用的模拟器件为FPGA不可直接综合的文件,需要将这些文件进行替换,构成FPGA原型验证平台生成过程中的器件库文件。
第五步文件路径列表生成模块整理原型验证平台生成时所需文件的路径信息
文件路径列表生成模块根据XML文件管理模块信息,将需要的硬件模块的文件路径列表汇总,并添加DUMMY处理生成的IP文件路径,以此生成最终的原型验证系统文件路径列表。
第六步综合工程文件生成模块生成综合工程文件
综合工程文件生成模块根据生成的系统文件路径列表,生成综合工具synplify综合工程文件,并在文件添加FPGA库文件路径信息和包括FPGA版本、配置、约束在内的信息,产生最终的综合工程文件。
第七步综合工具调用模块调用综合工具synplify和布局布线工具vivado生成原型验证平台
综合工具调用模块调用综合工具synplify根据综合工程文件启动综合,待综合结束后,调用布局布线工具vivado布局、布线生成最终的原型验证平台Bit文件。
至此,实现了原型验证平台的自动化生成。
更优的,第四步中,模拟器件包括存储器和锁相环。
更优的,第四步中,对FPGA不可直接综合的文件依次使用FPGA中相对应的DCP文件和DCM文件进行替换。
一种原型验证平台自动化生成系统,包括XML硬件信息管理模块、硬件设计DUMMY模块、FPGA库文件生成模块、文件路径列表生成模块、综合工程文件生成模块和综合工具调用模块。XML硬件信息管理模块记录硬件模块使用信息,硬件设计DUMMY模块处理验证中需要删除的硬件模块,FPGA库文件生成模块生成FPGA综合所需的器件库文件,文件路径列表生成模块整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块生成综合工程文件,综合工具调用模块调用synplify和vivado工具生成原型验证平台。
本发明采用Perl语言脚本实现大规模重复性的文件修改替换工作,并控制整个平台生成过程,实现原型验证平台的自动化生成,提高了平台生成效率,满足多次迭代需求,同时通过工具修改文件,减少了人为因素,提高了修改过程的正确性与可靠性。
附图说明
图1一种基于Perl的原型验证平台自动化实现方法所述的流程示意图。
1.XML硬件信息管理模块2.硬件设计DUMMY模块3.FPGA库文件生成模块4.文件路径列表生成模块5.综合工程文件生成模块6.综合工具调用模块
具体实施方式
实施例1
一种基于Perl的原型验证平台自动化实现方法,其具体步骤为:
第一步构建原型验证平台自动化生成系统
一种原型验证平台自动化生成系统,包括XML硬件信息管理模块1、硬件设计DUMMY模块2、FPGA库文件生成模块3、文件路径列表生成模块4、综合工程文件生成模块5和综合工具调用模块6。XML硬件信息管理模块1记录硬件模块使用信息,硬件设计DUMMY模块2处理验证中需要删除的硬件模块,FPGA库文件生成模块3生成FPGA综合所需的器件库文件,文件路径列表生成模块4整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块5生成综合工程文件,综合工具调用模块6调用synplify和vivado工具生成原型验证平台。
第二步通过XML文件记录保留的硬件模块信息和需要删除的硬件模块信息
XML文件作为用户与Perl语言脚本之间的信息交互文件,根据验证需要,将系统原型验证需要用的硬件模块信息和需要删除的硬件模块信息依次写入XML文件中作为记录,以此传递给Perl语言脚本。
第三步读取XML文件信息并将需要删除的硬件模块黑盒DUMMY处理
Perl语言脚本解析XML文件中的信息,提取需要删除的硬件模块信息,将相应的硬件模块黑盒DUMMY处理,黑盒DUMMY处理即将硬件模块顶层文件进行修改,删除顶层文件中逻辑,并将输入信号悬空,输出信号绑定为无效值,以此实现在综合过程中,该硬件模块不产生逻辑门电路。
第四步构建FPGA库文件
将ASIC设计中使用的标准单元库,修改为FPGA可综合的逻辑或普通逻辑设计,同时由于ASIC中使用的存储器和锁相环等器件为FPGA不可直接综合的文件,将这些文件依次使用FPGA中相对应的DCP文件和DCM文件进行替换,构成FPGA原型验证平台生成过程中的库文件。
第五步生成系统文件路径列表
根据XML文件信息,将需要的硬件模块的文件路径列表汇总,并添加黑盒DUMMY处理生成的IP文件路径,以此生成最终的原型验证系统文件路径列表。
第六步生成综合工程
Perl语言脚本根据生成的系统文件路径列表,生成synplify综合工程文件,并在文件添加FPGA库文件路径信息和FPGA版本、配置、约束等信息,产生最终的综合工程文件。
第七步调用synplify和vivado工具生成原型验证平台
调用synplify工具根据综合工程文件启动综合,待综合结束后,调用vivado工具布局、布线生成最终的原型验证平台Bit文件。
至此,实现了原型验证平台的自动化生成。
实施例2
一种原型验证平台自动化生成系统,包括XML硬件信息管理模块1、硬件设计DUMMY模块2、FPGA库文件生成模块3、文件路径列表生成模块4、综合工程文件生成模块5和综合工具调用模块6。XML硬件信息管理模块1记录硬件模块使用信息,硬件设计DUMMY模块2处理验证中需要删除的硬件模块,FPGA库文件生成模块3生成FPGA综合所需的器件库文件,文件路径列表生成模块4整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块5生成综合工程文件,综合工具调用模块6调用synplify和vivado工具生成原型验证平台。
Claims (4)
1.一种基于Perl的原型验证平台自动化实现方法,其特征在于具体步骤为:
第一步构建原型验证平台自动化生成系统
原型验证平台自动化生成系统,包括XML硬件信息管理模块(1)、硬件设计DUMMY模块(2)、FPGA库文件生成模块(3)、文件路径列表生成模块(4)、综合工程文件生成模块(5)和综合工具调用模块(6);XML硬件信息管理模块(1)记录硬件模块使用信息,硬件设计DUMMY模块(2)处理验证中需要删除的硬件模块,FPGA库文件生成模块(3)生成FPGA综合所需的器件库文件,文件路径列表生成模块(4)整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块(5)生成综合工程文件,综合工具调用模块(6)调用synplify和vivado工具生成原型验证平台;
第二步 XML硬件信息管理模块(1)记录硬件模块使用信息
XML硬件信息管理模块(1)是用户与Perl语言脚本之间的信息交互系统,根据验证需要,将系统原型验证需要用的硬件模块信息和需要删除的硬件模块信息依次写入XML文件中作为记录,以此传递给后续Perl语言脚本;
第三步 硬件设计DUMMY模块(2)处理验证中需要删除的硬件模块
硬件设计DUMMY模块(2)解析XML硬件信息管理模块(1)中的信息,提取需要删除的硬件设计信息,将需要删除的硬件设计顶层文件进行修改,删除硬件设计顶层文件中逻辑,并将输入信号悬空,输出信号绑定为无效值,以此,在综合过程中,需要删除的硬件模块不产生逻辑门电路;
第四步 FPGA库文件生成模块(3)生成FPGA综合所需的器件库文件
FPGA库文件生成模块(3)将数字专用集成电路设计中使用的标准单元库,修改为FPGA可综合器件;由于数字专用集成电路设计中使用的模拟器件为FPGA不可直接综合的文件,需要将这些文件进行替换,构成FPGA原型验证平台生成过程中的器件库文件;
第五步 文件路径列表生成模块(4)整理原型验证平台生成时所需文件的路径信息
文件路径列表生成模块(4)根据XML文件管理模块信息,将需要的硬件模块的文件路径列表汇总,并添加DUMMY处理生成的IP文件路径,以此生成最终的原型验证系统文件路径列表;
第六步 综合工程文件生成模块(5)生成综合工程文件
综合工程文件生成模块(5)根据生成的系统文件路径列表,生成综合工具synplify综合工程文件,并在文件添加FPGA库文件路径信息和包括FPGA版本、配置、约束在内的信息,产生最终的综合工程文件;
第七步 综合工具调用模块(6)调用综合工具synplify和布局布线工具vivado生成原型验证平台
综合工具调用模块(6)调用综合工具synplify根据综合工程文件启动综合,待综合结束后,调用布局布线工具vivado布局、布线生成最终的原型验证平台Bit文件;
至此,实现了原型验证平台的自动化生成。
2.根据权利要求1所述的基于Perl的原型验证平台自动化实现方法,其特征在于,第四步中,所述模拟器件包括存储器和锁相环。
3.根据权利要求1或2所述的基于Perl的原型验证平台自动化实现方法,其特征在于,第四步中,对FPGA不可直接综合的文件依次使用FPGA中相对应的DCP文件和DCM文件进行替换。
4.一种原型验证平台自动化生成系统,其特征在于,包括XML硬件信息管理模块(1)、硬件设计DUMMY模块(2)、FPGA库文件生成模块(3)、文件路径列表生成模块(4)、综合工程文件生成模块(5)和综合工具调用模块(6);XML硬件信息管理模块(1)记录硬件模块使用信息,硬件设计DUMMY模块(2)处理验证中需要删除的硬件模块,FPGA库文件生成模块(3)生成FPGA综合所需的器件库文件,文件路径列表生成模块(4)整理原型验证平台生成时所需文件的路径信息,综合工程文件生成模块(5)生成综合工程文件,综合工具调用模块(6)调用synplify和vivado工具生成原型验证平台,
其中,XML硬件信息管理模块(1)是用户与Perl语言脚本之间的信息交互系统,根据验证需要,将系统原型验证需要用的硬件模块信息和需要删除的硬件模块信息依次写入XML文件中作为记录,以此传递给后续Perl语言脚本;
硬件设计DUMMY模块(2)解析XML硬件信息管理模块(1)中的信息,提取需要删除的硬件设计信息,将需要删除的硬件设计顶层文件进行修改,删除硬件设计顶层文件中逻辑,并将输入信号悬空,输出信号绑定为无效值,以此,在综合过程中,需要删除的硬件模块不产生逻辑门电路;
FPGA库文件生成模块(3)将数字专用集成电路设计中使用的标准单元库,修改为FPGA可综合器件;由于数字专用集成电路设计中使用的模拟器件为FPGA不可直接综合的文件,需要将这些文件进行替换,构成FPGA原型验证平台生成过程中的器件库文件;
文件路径列表生成模块(4)根据XML文件管理模块信息,将需要的硬件模块的文件路径列表汇总,并添加DUMMY处理生成的IP文件路径,以此生成最终的原型验证系统文件路径列表;
综合工程文件生成模块(5)根据生成的系统文件路径列表,生成综合工具synplify综合工程文件,并在文件添加FPGA库文件路径信息和包括FPGA版本、配置、约束在内的信息,产生最终的综合工程文件;
综合工具调用模块(6)调用综合工具synplify根据综合工程文件启动综合,待综合结束后,调用布局布线工具vivado布局、布线生成最终的原型验证平台Bit文件;
至此,实现了原型验证平台的自动化生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810867465.5A CN109165131B (zh) | 2018-08-02 | 2018-08-02 | 一种基于Perl的原型验证平台自动化实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810867465.5A CN109165131B (zh) | 2018-08-02 | 2018-08-02 | 一种基于Perl的原型验证平台自动化实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165131A CN109165131A (zh) | 2019-01-08 |
CN109165131B true CN109165131B (zh) | 2021-09-10 |
Family
ID=64898598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810867465.5A Active CN109165131B (zh) | 2018-08-02 | 2018-08-02 | 一种基于Perl的原型验证平台自动化实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165131B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471810B (zh) * | 2019-08-21 | 2023-08-22 | 山东浪潮科学研究院有限公司 | 一种记录数字逻辑设计工程工作状态的方法及系统 |
CN111814416B (zh) * | 2020-06-05 | 2023-08-25 | 上海赛昉科技有限公司 | Asic存储器自动转fpga的ip核的方法及可读介质 |
CN112260684B (zh) * | 2020-12-21 | 2021-04-02 | 上海国微思尔芯技术股份有限公司 | 一种用于原型验证系统的时钟对齐系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计系统 |
CN108121657A (zh) * | 2017-11-29 | 2018-06-05 | 北京京航计算通讯研究所 | 基于系统模型的可编程逻辑器件软件仿真验证系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9513956B2 (en) * | 2015-02-10 | 2016-12-06 | International Business Machines Corporation | Compare point detection in multi-threaded computing environments |
-
2018
- 2018-08-02 CN CN201810867465.5A patent/CN109165131B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计系统 |
CN108121657A (zh) * | 2017-11-29 | 2018-06-05 | 北京京航计算通讯研究所 | 基于系统模型的可编程逻辑器件软件仿真验证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109165131A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165131B (zh) | 一种基于Perl的原型验证平台自动化实现方法 | |
WO2016197768A1 (zh) | 芯片验证方法、装置及系统 | |
JP5475996B2 (ja) | モデル化およびシミュレーション方法 | |
US7398445B2 (en) | Method and system for debug and test using replicated logic | |
CN105701294B (zh) | 实现芯片复杂工程修改的方法及系统 | |
CN102567122A (zh) | 多仿真验证平台下的处理器参考模型的通信接口方法 | |
CN112612219A (zh) | 一种基于模型开发中的联合仿真方法 | |
CN104635507A (zh) | 飞机运行实时监控系统的仿真验证系统 | |
CN106681726A (zh) | Python模型转换为Modelica模型的方法 | |
CN114117985B (zh) | 集成运放的智能验证方法、系统、介质及终端设备 | |
CN114818575A (zh) | 一种cis芯片的数模混合仿真方法及系统 | |
CN115344970A (zh) | 基于卫星三维模型的电缆网快速构建系统和方法 | |
CN105740579A (zh) | 一种连接uvm验证平台的搭建方法 | |
Huggi et al. | Design and verification of memory elements using python | |
CN115048312A (zh) | 一种基于协议集的仿真平台和芯片通用验证方法 | |
Jeng et al. | Extension of UML and its conversion to Petri nets for semiconductor manufacturing modeling | |
CN114492268A (zh) | 一种asic原型验证的方法、系统、设备和存储介质 | |
CN109885850B (zh) | 一种局部寄存器的生成方法及生成系统 | |
CN111274750A (zh) | 一种基于可视化建模的fpga仿真验证系统和方法 | |
JPH07121357A (ja) | 並行プログラム系生成方式と装置 | |
Liboni et al. | WIP on a coordination language to automate the generation of co-simulations | |
CN108170035A (zh) | 一种模型化的飞行控制系统 | |
Abbes et al. | IP integration methodology for SoC design | |
Genius et al. | Hierarchical design of cyber-physical systems | |
CN117874393B (zh) | 通过xml文件构建sca模型工程的方法和系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |