CN103678745A - 一种用于fpga的跨平台多层次集成设计系统 - Google Patents

一种用于fpga的跨平台多层次集成设计系统 Download PDF

Info

Publication number
CN103678745A
CN103678745A CN201210346995.8A CN201210346995A CN103678745A CN 103678745 A CN103678745 A CN 103678745A CN 201210346995 A CN201210346995 A CN 201210346995A CN 103678745 A CN103678745 A CN 103678745A
Authority
CN
China
Prior art keywords
fpga
module
design
chip
level
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.)
Granted
Application number
CN201210346995.8A
Other languages
English (en)
Other versions
CN103678745B (zh
Inventor
张峰
于芳
李艳
韩小炜
李明
张倩莉
陈亮
吴利华
张国全
刘贵宅
郭旭峰
杨波
赵岩
王剑
李建忠
刘忠立
陈陵都
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Micro Star Technology Co ltd
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201210346995.8A priority Critical patent/CN103678745B/zh
Publication of CN103678745A publication Critical patent/CN103678745A/zh
Application granted granted Critical
Publication of CN103678745B publication Critical patent/CN103678745B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种用于FPGA的跨平台多层次集成设计系统,该系统包括用户图形界面模块、FPGA芯片生成模块、FPGA设计模块、FPGA系统应用模块和FPGA验证模块,其中用户图形界面模块用于将FPGA芯片生成模块、FPGA设计模块、FPGA系统应用模块和FPGA验证模块封装在一起,通过Tab页切换实现FPGA芯片生成模块、FPGA设计模块、FPGA系统应用模块和FPGA验证模块之间的切换,使得对FPGA芯片生成模块、FPGA设计模块、FPGA系统应用模块和FPGA验证模块的调用在一个友好且统一的用户图形界面下进行,实现Windows、Linux、Mac OS系统跨平台运行。

Description

一种用于FPGA的跨平台多层次集成设计系统
技术领域
本发明涉及微电子领域中的集成电路设计和电子设计自动化技术领域,特别涉及一种应用于现场可编程门阵列(Field Programmable GateArray,FPGA)的跨平台多层次集成设计系统。
背景技术
FPGA的应用和广泛普及为数字系统的设计带来了极大的灵活性。FPGA可以通过软件编程对硬件结构和工作方式进行重构,从而使得硬件设计可以如同软件设计那样方便快捷。这极大地改变了传统的数字系统设计方法、设计过程和设计观念。随着新一代FPGA芯片工艺和设计方法的进步及新的应用领域和市场需求的变化,电子设计自动化(ElectronicDesign Automation,EDA)技术也有突飞猛进的发展,总的趋势可以概括为:跨越器件类型,跨越公司界限,越来越人性化的设计,越来越高的优化水平,越来越快的仿真速度,越来越高的仿真精度以及完备的分析验证手段。
一体化的工具使用户受益于一个统一的用户界面,避免了在不同的工具间进行数据转换等繁琐的操作。目前,各大EDA工具供应商分别推出了集成众多工具在内的一体化设计工具,国际上最知名的是Xilinx公司的ISE和Altera公司的Quartus II。国内比较知名的有:京微雅格(原雅格罗技,Agate Logic)的Primace EDA软件;北京飘石科技有限公司(Uptops)的FPGA开发系统HqFpga;复旦大学的FDE。但是上述集成开发平台都侧重在FPGA的开发应用,不具有快速设计FPGA芯片的功能。这主要有两方面的原因:第一,有的公司不具备芯片级设计的能力,而只专注于利用FPGA进行电路设计的EDA工具的开发;第二,有的公司不公开技术成果,是属于技术保密,防止竞争对手获知其芯片级设计的关键技术。
当前,FPGA的应用领域在不断扩展,为适应尽可能多的应用,通用型FPGA必须具有足够多的逻辑资源。这导致在实际应用中,逻辑资源利用率通常都处于较低的水平,FPGA内部总是有很大部分闲置电路。这部分闲置电路除构成FPGA的成本外,也会导致性能的降低。因此,通过细化市场,针对特定的应用领域优化FPGA结构,以灵活性的降低换取FPGA效率和性能的提升成为FPGA的一个重要发展方向。主要有以下两种实现方式:一种是,在FPGA中增加和特定应用相关的电路模块;另一种是,按照某一类特定应用的需求,优化FPGA布线架构。
但是,不同应用的要求千差万别,传统的设计方法对适用于不同应用的FPGA芯片和与之配套的EDA工具需要分别进行特殊处理,将耗费大量时间和金钱,造成得不偿失的局面。只有具备了快速的FPGA芯片设计技术,才能使得设计生产针对各种应用场合的FPGA芯片成为可能。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种应用于FPGA的跨平台多层次集成设计系统,以解决现有的FPGA集成设计系统不提供快速设计和验证FPGA的功能的问题,高效实现面向应用的FPGA芯片设计,提高设计开发的效率。
(二)技术方案
为达到上述目的,本发明提供了一种用于FPGA的跨平台多层次集成设计系统,该系统包括用户图形界面模块101、FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105,其中用户图形界面模块101用于将FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105封装在一起,通过Tab页切换实现FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105之间的切换,使得对FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105的调用在一个友好且统一的用户图形界面下进行,实现Windows、Linux、Mac OS系统跨平台运行。
上述方案中,该系统根据FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105的个数和组合方式不同,能够定制
Figure BDA00002150968000031
种不同集成层次的设计系统。
上述方案中,所述用户图形界面模块101还具有创建工程文件、工程管理和设计流程管理的功能,所述工程文件是该系统项目工程和设计流程管理的基础,其中至少包含所有设计源文件的路径、针对的FPGA结构、所有模块的执行状态以及参数设置。
上述方案中,所述用户图形界面模块101还具有文本编辑和文本显示功能,包括文件打开、创建、修改以及保存操作,提供文本拷贝、剪切以及粘贴操作,提供基于Verilog HDL语言语义的语法加亮、代码缩进、代码折叠、树形结构显示Verilog HDL文件中定义的所有模块和模块中实现的模块实例。
上述方案中,所述FPGA芯片生成模块102用于实现硅片制造的全部流程,以及实现半自动设计FPGA架构、模型生成和全芯片版图自动产生与集成。
上述方案中,所述FPGA芯片生成模块102实现半自动设计FPGA架构,包含如下步骤:基于模板编辑FPGA架构文件;通过图形界面修改架构描述文件中的相关参数,改变芯片的规模,各个基本模块的类型、数量、位置、尺寸,布线结构类型以及I/O类型和数量;架构文件生成后,通过调用脚本程序实现架构转换,产生对应不同应用领域的架构描述文件;建立布线资源图;对FPGA架构进行评估,评估标准为面积延时积最小;以及自动产生包含所有配置位的组织形式bitmap文件,此文件确定了整个芯片的结构和模块间的连接关系。
上述方案中,所述FPGA芯片生成模块102实现模型生成,包含如下步骤:通过脚本程序生成行为级模型,所述行为级模型用来对芯片进行功能仿真,且它是后期版图设计的输入文件,同时也是将来验证版图正确性的标准;通过脚本程序生成晶体管级模型CDL(Circuit DescriptionLanguage)网表,所述CDL网表用来对芯片进行晶体管级的仿真、验证电路的性能,同时还用来和自动产生的整个芯片的版图进行LVS(LayoutVersus Schematic)验证。
上述方案中,所述FPGA芯片生成模块102实现全芯片版图自动产生与集成,包含如下步骤:根据FPGA架构描述文件以及脚本工具产生的芯片各个模块结构与互连关系的一系列数据库,由一些基本的已经手工画好版图的模块来自动组装成布线资源模块(CBX、CBY、SB)、逻辑模块(LB)的版图;待所有模块的版图产生后,通过程序计算各个模块的位置,然后将各个模块自动契合或通过添加连线组装起来,最后形成整个芯片的版图。
上述方案中,所述FPGA设计模块103包括:综合工具、网表转换工具、映射工具、布局布线工具、码流生成工具以及下载工具。
上述方案中,所述FPGA设计模块103用于对电路进行导航设计,通过部分人为干涉的方式实现对软件的完全可控,完成全芯片测试,同时实现软件设计过程中的容错。
上述方案中,所述FPGA系统应用模块104用于使用标准单元库里的晶片、微处理器和嵌入式外设核,实现从硬件到软件设计的整个嵌入式系统设计,完成可编程系统芯片(SOPC)的设计。
上述方案中,所述FPGA系统应用模块104用于提供RTL IP封装技术、标准IP封装、图形化IP集成功能和各类系统构建块的系统集成技术,并为用户提供设计分区的功能,使多个团队能够并行设计,最终完成大型项目的开发。
上述方案中,所述FPGA验证模块105用于对芯片和应用做各种级别的仿真、验证、芯片编程与调试。
上述方案中,所述FPGA验证模块105对应用测试提供slave serial faulttest、master serial fault test、JTAG测试三种模式。
上述方案中,所述FPGA验证模块105具有全芯片半自动仿真功能,使全芯片可以在行为级,开关级,晶体管级,混合模式(晶体管级+寄存器传输级或晶体管级+开关级)四种模式下进行快速仿真。
上述方案中,所述FPGA验证模块105在对FPGA各种模块,至少包括IOB、LB、CHB、GB和PGM,进行电路设计和版图设计后,都能够进行仿真验证(CoSim)和后端验证(DRC和LVS),在此基础上,将各个模块的版图进行拼接,完成全芯片版图,然后通过调用第三方工具对全芯片版图进行验证。
上述方案中,所述FPGA验证模块105还具有板级测试功能,在功能测试板上对封装好的每一颗芯片进行完全测试,即采用128个测试向量文件一一测试,筛选出最终可用的芯片。
上述方案中,所述FPGA验证模块105对每一颗芯片的测试都包括三个过程:器件检测、器件编程和功能测试,测试工具会自动对输出结果与期望结果进行比较,并做出报告。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的应用于FPGA的跨平台多层次集成设计系统,由于采用从芯片架构级、行为级、晶体管级到版图级全流程高度自动化的设计技术以及完备的芯片验证技术,所以解决了现有的FPGA集成设计系统不提供快速设计和验证FPGA的功能的问题,高效实现了面向应用的FPGA芯片设计,提高了设计开发的效率。
2、本发明提供的应用于FPGA的跨平台多层次集成设计系统,由于采用高度集成的开发环境、用户友好的操作界面,将FPGA芯片级、电路级到系统级的设计工具及验证工具集成在统一的用户图形界面中,所以减少不同设计阶段和主体之间的交流障碍,减少用户对软件的复杂操作,实现快速设计,以达到降低设计成本、缩短研发周期的目的。
3、本发明提供的应用于FPGA的跨平台多层次集成设计系统,由于集成了全自动芯片生成功能,使用户能根据自身需要灵活控制晶片的规模和功能,所以大大加快了FPGA芯片设计的速度,使快速设计一系列针对不同应用的FPGA芯片成为可能,而这种针对特定应用领域优化的FPGA结构在效率和性能上比通用型FPGA高很多。
4、本发明提供的应用于FPGA的跨平台多层次集成设计系统,由于集成了具有导航功能的FPGA设计工具,通过部分人为干涉的方式实现了对软件的完全可控,完成了全芯片测试,同时可以实现软件设计过程中的容错功能。
5、本发明提供的应用于FPGA的跨平台多层次集成设计系统,可广泛应用于FPGA芯片设计和验证、FPGA应用设计、FPGA系统级设计,为设计、应用和验证自主研发的FPGA芯片提供一个有效平台;可有效的改善设计效率,降低设计成本,减少设计人员的工作量,缩短设计周期,具有广阔的市场前景和应用价值。
附图说明
图1是依照本发明实施例的用于FPGA的多层次集成设计系统的结构框图;
图2是依照本发明实施例的利用图1所示系统进行芯片级、电路级、系统级多层次设计和验证的方法流程图;
图3是图2中FPGA芯片生成模块生成FPGA芯片的方法流程图;
图4是使用图2中FPGA设计模块实现电路设计的方法流程图;
图5是使用图2中FPGA系统应用模块实现嵌入式系统应用的方法流程图;
图6是图2中FPGA验证模块验证FPGA芯片的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本发明作进一步地详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于所述值。
如图1所示,图1是依照本发明实施例的用于FPGA的多层次集成设计系统的结构框图,该系统包括:用户图形界面模块101、FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105五个组件,可实现Windows、Linux、Mac OS系统跨平台运行。所述用户图形界面模块101,用于实现所述系统的主框架,将FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105四大组件封装在一起,通过Tab页切换实现FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105四大组件之间的切换,使得对所述四大组件的调用可以在一个友好且统一的用户图形界面下进行。根据所述四大组件的个数和组合方式不同,可以快速定制种不同集成层次的设计系统。FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104和FPGA验证模块105四大组件中每个组件都是独立的集成开发系统,可以单独使用。同时,四大组件又是紧密联系的,可以实现相互调用和资源共享。
所述用户图形界面模块101具有创建工程文件、工程管理和设计流程管理的功能,所述工程文件是该系统项目工程和设计流程管理的基础,其中包含所有相关的信息,比如:所有设计源文件的路径、针对的FPGA结构、所有模块的执行状态以及参数设置等。所述用户图形界面模块101还具有文本编辑和文本显示功能,包括文件打开、创建、修改、保存等文件操作,提供文本拷贝、剪切、粘贴等操作,提供基于Verilog HDL语言语义的语法加亮、代码缩进、代码折叠、树形结构显示Verilog HDL文件中定义的所有模块和模块中实现的模块实例。
所述FPGA芯片生成模块102包括硅片制造的全部流程,具有半自动设计FPGA架构、模型生成和全芯片版图自动产生与集成的功能。使用户能根据自身需要灵活控制芯片的规模和功能,从而可以快速定义一系列的适应不同应用的FPGA,生成的芯片可以供FPGA设计模块103、FPGA系统应用模块104使用。其中,使用FPGA芯片生成模块102进行FPGA架构评估时需要调用FPGA设计模块103中的软件。
所述FPGA设计模块103,使得用户设计的电路可在FPGA芯片生成模块102生成的芯片上进行实现。所述FPGA设计模块103包括:综合工具、网表转换工具、映射工具、布局布线工具、码流生成、下载工具,具有对电路进行导航设计功能,通过部分人为干涉的方式实现对软件的完全可控,完成全芯片测试,同时可以实现软件设计过程中的容错功能。
所述FPGA系统应用模块104,可以使用FPGA芯片生成模块102生成的芯片、微处理器和嵌入式外设核,实现从硬件到软件设计的整个嵌入式系统设计,完成可编程系统芯片(SOPC)的设计;所述FPGA系统应用模块104,还提供RTL IP封装技术、标准IP封装、图形化IP集成功能和各类系统构建块的系统集成技术。并为用户提供设计分区的功能,这样多个团队可以并行设计,最终完成大型项目的开发。
所述FPGA验证模块105,为FPGA芯片生成模块102、FPGA设计模块103、FPGA系统应用模块104提供各种级别的仿真、验证、芯片编程与调试。其中,使用FPGA验证模块105完成板级测试时需要调用FPGA设计模块103中的软件。
基于图1所示的用于FPGA的多层次集成设计系统,图2示出了依照本发明实施例的利用图1所示系统进行芯片级、电路级、系统级多层次设计和验证的方法流程图,该方法具体包括如下各步骤:
步骤S201、芯片级设计。使用FPGA芯片生成模块102生成FPGA芯片,具体步骤如图3所示;
步骤S202、芯片验证与测试。使用FPGA验证模块105对步骤S201生成的FPGA芯片进行验证与测试,具体步骤如图6所示;
步骤S203、电路级设计。使用FPGA设计模块103,在步骤S202验证成功的FPGA芯片上进行电路设计,具体步骤如图4所示;
步骤S204、调用FPGA验证模块105,对电路应用进行验证与测试,包括slave serial fault test、master serial fault test、JTAG测试三种模式。
步骤S205、系统级设计。使用FPGA系统应用模块104,在步骤S204的基础上对FPGA芯片进行SOPC系统设计,具体步骤如图5所示。
步骤S206、调用FPGA验证模块105,对SOPC系统进行验证与调试。
本发明用于FPGA的多层次集成设计系统的FPGA芯片生成模块102的一个较佳实施例,如图3所示,该方法具体包括如下各步骤:
步骤S301、FPGA架构设计及评估。具体包括:
(1)基于模板编辑FPGA架构文件;
(2)通过图形界面修改架构描述文件中的相关参数,可以改变芯片的规模,各个基本模块的类型、数量、位置、尺寸,布线结构类型,I/O类型和数量等;
(3)架构文件生成后,通过调用脚本程序实现架构转换,产生对应不同应用领域的架构描述文件;
(4)建立布线资源图;
(5)对FPGA架构进行评估,评估标准为面积延时积最小;
(6)自动产生包含所有配置位的组织形式bitmap文件,此文件确定了整个芯片的结构和模块间的连接关系。
步骤S302、模型生成,具体包括:
(1)通过脚本程序生成行为级模型,所述行为级模型可以用来对芯片进行功能仿真,更重要的是,它是后期版图设计的输入文件,同时也是将来验证版图正确性的标准;
(2)通过脚本程序生成晶体管级模型CDL(Circuit DescriptionLanguage)网表,所述CDL网表可以用来对芯片进行晶体管级的仿真、验证电路的性能,同时还可以用来和自动产生的整个芯片的版图进行LVS(Layout Versus Schematic)验证。
步骤S303、参数化的异质结构全芯片版图自动产生与集成功能,具体包括:
(1)根据FPGA架构描述文件以及脚本工具产生的芯片各个模块结构与互连关系的一系列数据库,由一些基本的已经手工画好版图的模块来自动组装成布线资源模块(CBX、CBY、SB)、逻辑模块(LB)的版图;
(2)有些部分(例如编程电路)的版图是由基于标准ASIC设计流程自动布局布线产生的;
(3)待所有模块的版图产生后,通过程序计算各个模块的位置,然后将各个模块自动契合或通过添加连线组装起来,最后形成整个芯片的版图。
本发明用于FPGA的多层次集成设计系统的FPGA设计模块103的一个较佳实施例,该实例需要读入FPGA架构文件和设计输入文档,如图4所示,该方法具体包括如下各步骤:
步骤S401、综合。综合工具用于将电路的设计输入(Verilog或VHDL格式)到电路结构的转换与优化,生成与FPGA结构相关的网表;
步骤S402、网表转换。网表转换工具用于对网表进行二次工艺映射;
步骤S402、映射。映射工具用于将LUT(Look Up Table)和FF(FlipFlop)级别的网表组装成LB(Logic Block)级别的网表;
步骤S404、布局布线。布局布线工具用于要实现电路功能所需要的各个逻辑单元块在FPGA中的物理位置,以及为信号选择单元块之间的布线资源。
步骤S405、码流生成。码流生成用于产生二进制的FPGA配置文件,该配置文件包含FPGA的所有配置信息,其中包括互连网络的连接、逻辑模块工作模式以及初始值;
步骤S406、下载。下载工具用于将配置文件下载到FPGA器件中,FPGA中的配置电路按照读入的配置文件配置FPGA的可编程开关和各基本模块,最终完成FPGA电路结构的配置。
本发明用于FPGA的多层次集成设计系统的FPGA系统应用模块104的一个较佳实施例,如图5所示,该方法具体包括如下各步骤:
步骤S501、SOPC(System-on-a-Programmable Chip)系统软硬件划分,划分原则是:运算频率高、实现简单的部分,使用硬件;需要灵活配置、实现过程复杂的,使用软件。
步骤S502、SOPC系统硬件设计,具体包括:
(1)系统内各个模块的配置(包括RISC处理器,AMBA总线,内存控制器等);
(2)添加或卸载各种应用相关的硬件IP模块;
(3)对配置好的系统进行各种层次的仿真;
(4)调用FPGA设计模块103进行综合和实现,输出结果是适合于当前FPGA开发板上实现的码流文件;
(5)码流文件下载至FPGA中,将SOPC系统在FPGA中实现。
步骤S503、SOPC系统软件设计,具体包括:
(1)编写描述某个应用的C代码;
(2)编译,调试,链接,得到处理器要运行的应用的可执行文件;
(3)下载可执行文件到硬件中的存储器中;
本发明用于FPGA的多层次集成设计系统的FPGA验证模块105的一个较佳实施例,如图6所示,该方法具体包括如下各步骤:
步骤S601、FPGA芯片验证。在对FPGA各种模块,包括IOB、LB、CHB、GB和PGM,进行电路设计和版图设计后,都可进行仿真验证(CoSim)和后端验证(DRC和LVS)。在此基础上,将各个模块的版图进行拼接,完成全芯片版图。通过调用第三方工具对全芯片版图进行验证。
步骤S602、FPGA全芯片仿真。FPGA验证模块具有全芯片半自动仿真功能,使全芯片可以在行为级,开关级,晶体管级,混合模式(晶体管级+寄存器传输级或晶体管级+开关级)四种模式下进行快速仿真。在提高仿真速度又保证精度不失的情况下对全芯片进行快速仿真验证。具体操作步骤包括:
(1)输入仿真命令,开始整个仿真流程。
(2)基于测试实例和芯片架构文件,通过FPGA设计模块产生仿真需要的码流文件.bit,回读文件.rbb和验证掩模文件.msk。
(3)全芯片仿真验证平台的搭建。全芯片仿真验证平台主要包括仿真控制模块(ctl.v)、测试电路模块(tb.v)、全芯片网表和仿真配置文件。
(4)启动Modelsim进行仿真。通过脚本程序调用第三方仿真工具,执行仿真控制模块中的相应任务,如配置位流文件的下载、加载测试激励、输出测试结果、产生测试向量等,完成仿真验证。
步骤S603、FPGA芯片板级测试。板级测试主要是在功能测试板上对封装好的每一颗芯片进行完全测试,即用128个测试向量文件一一测试,筛选出最终可用的芯片。板级测试环境包括测试工具、测试板、电压源、示波器和FPGA演示板。用每一个测试模型对每一颗芯片的测试都包括三个过程:器件检测、器件编程和功能测试。上电后,测试工具首先会通过回读器件的IDCODE来检测是否有器件存在,检测到FPGA后会在测试工具的操作窗口显示其符号和名称;然后选中FPGA并选择一个测试码流文件对其进行编程,编程成功后测试板上与DONE管脚相连的LED灯会亮,而且操作窗口也会显示编程成功;最后一步对器件做INTEST进行功能测试,测试工具会自动对输出结果与期望结果进行比较,并做出报告。重复以上步骤对每一颗芯片进行完全测试,最终筛选出可用的芯片。
依照本发明实施例的用于FPGA的跨平台多层次集成设计系统具有以下有益效果:
(1)提供了高度集成的FPGA设计系统,从而减少不同设计阶段和主体之间的交流障碍,减少用户对软件的复杂操作,实现快速设计,以达到降低设计成本、缩短研发周期的目的;
(2)集成了全自动芯片生成功能,使用户能根据自身需要灵活控制晶片的规模和功能,大大加快了FPGA芯片设计的速度,使快速设计一系列针对不同应用的FPGA芯片成为可能;
(3)易于扩充而又灵活的软件体系,根据系统所包含的组件个数和组合方式不同,可以快速定制不同集成层次的设计系统。
(4)集成了具有导航功能的FPGA设计工具,通过部分人为干涉的方式实现了对软件的完全可控,完成了全芯片测试,同时可以实现软件设计过程中的容错功能;
(5)集成了完备的针对FPGA应用和FPGA芯片的仿真、验证、芯片编程与调试功能,保证了FPGA设计应用和FPGA芯片的正确性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种用于FPGA的跨平台多层次集成设计系统,其特征在于,该系统包括用户图形界面模块(101)、FPGA芯片生成模块(102)、FPGA设计模块(103)、FPGA系统应用模块(104)和FPGA验证模块(105),其中用户图形界面模块(101)用于将FPGA芯片生成模块(102)、FPGA设计模块(103)、FPGA系统应用模块(104)和FPGA验证模块(105)封装在一起,通过Tab页切换实现FPGA芯片生成模块(102)、FPGA设计模块(103)、FPGA系统应用模块(104)和FPGA验证模块(105)之间的切换,使得对FPGA芯片生成模块(102)、FPGA设计模块(103)、FPGA系统应用模块(104)和FPGA验证模块(105)的调用在一个友好且统一的用户图形界面下进行,实现Windows、Linux、Mac OS系统跨平台运行。
2.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,该系统根据FPGA芯片生成模块(102)、FPGA设计模块(103)、FPGA系统应用模块(104)和FPGA验证模块(105)的个数和组合方式不同,能够定制种不同集成层次的设计系统。
3.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述用户图形界面模块(101)还具有创建工程文件、工程管理和设计流程管理的功能,所述工程文件是该系统项目工程和设计流程管理的基础,其中至少包含所有设计源文件的路径、针对的FPGA结构、所有模块的执行状态以及参数设置。
4.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述用户图形界面模块(101)还具有文本编辑和文本显示功能,包括文件打开、创建、修改以及保存操作,提供文本拷贝、剪切以及粘贴操作,提供基于Verilog HDL语言语义的语法加亮、代码缩进、代码折叠、树形结构显示Verilog HDL文件中定义的所有模块和模块中实现的模块实例。
5.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA芯片生成模块(102)用于实现硅片制造的全部流程,以及实现半自动设计FPGA架构、模型生成和全芯片版图自动产生与集成。
6.根据权利要求5所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA芯片生成模块(102)实现半自动设计FPGA架构,包含如下步骤:
基于模板编辑FPGA架构文件;
通过图形界面修改架构描述文件中的相关参数,改变芯片的规模,各个基本模块的类型、数量、位置、尺寸,布线结构类型以及I/O类型和数量;
架构文件生成后,通过调用脚本程序实现架构转换,产生对应不同应用领域的架构描述文件;
建立布线资源图;
对FPGA架构进行评估,评估标准为面积延时积最小;以及
自动产生包含所有配置位的组织形式bitmap文件,此文件确定了整个芯片的结构和模块间的连接关系。
7.根据权利要求5所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA芯片生成模块(102)实现模型生成,包含如下步骤:
通过脚本程序生成行为级模型,所述行为级模型用来对芯片进行功能仿真,且它是后期版图设计的输入文件,同时也是将来验证版图正确性的标准;
通过脚本程序生成晶体管级模型CDL(Circuit Description Language)网表,所述CDL网表用来对芯片进行晶体管级的仿真、验证电路的性能,同时还用来和自动产生的整个芯片的版图进行LVS(Layout VersusSchematic)验证。
8.根据权利要求5所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA芯片生成模块(102)实现全芯片版图自动产生与集成,包含如下步骤:
根据FPGA架构描述文件以及脚本工具产生的芯片各个模块结构与互连关系的一系列数据库,由一些基本的已经手工画好版图的模块来自动组装成布线资源模块(CBX、CBY、SB)、逻辑模块(LB)的版图;
待所有模块的版图产生后,通过程序计算各个模块的位置,然后将各个模块自动契合或通过添加连线组装起来,最后形成整个芯片的版图。
9.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA设计模块(103)包括:综合工具、网表转换工具、映射工具、布局布线工具、码流生成工具以及下载工具。
10.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA设计模块(103)用于对电路进行导航设计,通过部分人为干涉的方式实现对软件的完全可控,完成全芯片测试,同时实现软件设计过程中的容错。
11.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA系统应用模块(104)用于使用标准单元库里的晶片、微处理器和嵌入式外设核,实现从硬件到软件设计的整个嵌入式系统设计,完成可编程系统芯片(SOPC)的设计。
12.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA系统应用模块(104)用于提供RTL IP封装技术、标准IP封装、图形化IP集成功能和各类系统构建块的系统集成技术,并为用户提供设计分区的功能,使多个团队能够并行设计,最终完成大型项目的开发。
13.根据权利要求1所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)用于对芯片和应用做各种级别的仿真、验证、芯片编程与调试。
14.根据权利要求13所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)对应用测试提供slave serial fault test、master serial fault test、JTAG测试三种模式。
15.根据权利要求13所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)具有全芯片半自动仿真功能,使全芯片可以在行为级,开关级,晶体管级,混合模式(晶体管级+寄存器传输级或晶体管级+开关级)四种模式下进行快速仿真。
16.根据权利要求13所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)在对FPGA各种模块,至少包括IOB、LB、CHB、GB和PGM,进行电路设计和版图设计后,都能够进行仿真验证(CoSim)和后端验证(DRC和LVS),在此基础上,将各个模块的版图进行拼接,完成全芯片版图,然后通过调用第三方工具对全芯片版图进行验证。
17.根据权利要求13所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)还具有板级测试功能,在功能测试板上对封装好的每一颗芯片进行完全测试,即采用128个测试向量文件一一测试,筛选出最终可用的芯片。
18.根据权利要求17所述的用于FPGA的多层次集成设计系统,其特征在于,所述FPGA验证模块(105)对每一颗芯片的测试都包括三个过程:器件检测、器件编程和功能测试,测试工具会自动对输出结果与期望结果进行比较,并做出报告。
CN201210346995.8A 2012-09-18 2012-09-18 一种用于fpga的跨平台多层次集成设计系统 Expired - Fee Related CN103678745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210346995.8A CN103678745B (zh) 2012-09-18 2012-09-18 一种用于fpga的跨平台多层次集成设计系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210346995.8A CN103678745B (zh) 2012-09-18 2012-09-18 一种用于fpga的跨平台多层次集成设计系统

Publications (2)

Publication Number Publication Date
CN103678745A true CN103678745A (zh) 2014-03-26
CN103678745B CN103678745B (zh) 2016-09-28

Family

ID=50316288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210346995.8A Expired - Fee Related CN103678745B (zh) 2012-09-18 2012-09-18 一种用于fpga的跨平台多层次集成设计系统

Country Status (1)

Country Link
CN (1) CN103678745B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615837A (zh) * 2015-02-13 2015-05-13 浪潮集团有限公司 一种fpga的物理实现方法及装置
CN105260545A (zh) * 2015-10-19 2016-01-20 深圳市同创国芯电子有限公司 一种可编程电路系统的验证方法
CN105760562A (zh) * 2014-12-19 2016-07-13 吴国盛 基于分层读取的集成电路设计架构
CN105868114A (zh) * 2016-03-31 2016-08-17 复旦大学 Fpga软件系统及其各模块测试系统和方法
CN106202761A (zh) * 2016-07-15 2016-12-07 中国电子科技集团公司第五十八研究所 用于大容量fpga电路功能仿真的最优网表的生成方法
CN106529043A (zh) * 2016-11-14 2017-03-22 无锡华润矽科微电子有限公司 基于计算机软件系统对电路进行分模块综合设计的方法
CN106776442A (zh) * 2016-12-05 2017-05-31 天津大学 Fpga晶体管尺寸调整方法
CN107544833A (zh) * 2016-06-24 2018-01-05 柯尼卡美能达株式会社 图像处理装置、调试支援方法以及记录有调试支援程序的计算机可读取的记录介质
CN107967704A (zh) * 2016-10-20 2018-04-27 上海复旦微电子集团股份有限公司 一种fpga芯片版图连线显示方法
CN107977477A (zh) * 2016-10-21 2018-05-01 上海复旦微电子集团股份有限公司 Fpga芯片的版图生成方法及装置
CN108052018A (zh) * 2017-12-13 2018-05-18 中国兵器装备集团自动化研究所 一种制导与控制组件轻量化处理方法及制导与控制组件
CN108133069A (zh) * 2017-08-17 2018-06-08 上海倚韦电子科技有限公司 集成电路后端设计系统及方法
CN108615500A (zh) * 2018-05-11 2018-10-02 深圳市摩西尔电子有限公司 Led跨平台显示的控制方法
CN108984300A (zh) * 2018-07-03 2018-12-11 北京华大九天软件有限公司 一种版图数据的审阅方法、系统及存储介质
CN109101680A (zh) * 2018-06-26 2018-12-28 天津飞腾信息技术有限公司 基于GitLab-CI的FPGA原型自动验证方法及系统
CN109145262A (zh) * 2017-06-15 2019-01-04 上海复旦微电子集团股份有限公司 Fpga芯片描述文件的生成方法、装置、存储介质及电子设备
CN109165131A (zh) * 2018-08-02 2019-01-08 北京遥感设备研究所 一种基于Perl的原型验证平台自动化实现方法
CN110347595A (zh) * 2019-07-02 2019-10-18 中国科学院近代物理研究所 一种fpga内部资源甄别与定位方法及系统
CN110489812A (zh) * 2019-07-25 2019-11-22 广东高云半导体科技股份有限公司 多层层级网表处理方法、装置、计算机设备及存储介质
CN112631168A (zh) * 2020-12-09 2021-04-09 广东电网有限责任公司 一种基于fpga的形变检测器控制电路设计方法
CN118153496A (zh) * 2024-05-09 2024-06-07 中科芯磁科技(珠海)有限责任公司 一种fpga架构可视化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003445A1 (en) * 2000-05-26 2002-01-10 Andrews William B. Signal distribution scheme in field programmable gate array (FPGA) or field programmable system chip (FPSC) including cycle stealing units
CN1438593A (zh) * 2003-01-15 2003-08-27 西安交通大学 智能电器专用芯片的设计方法
WO2006012335A2 (en) * 2004-06-24 2006-02-02 Ftl Systems, Inc. Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization
US7058921B1 (en) * 2002-02-22 2006-06-06 Xilinx, Inc. Method and system for resource allocation in FPGA-based system-on-chip (SoC)
CN101872367A (zh) * 2009-04-21 2010-10-27 上海威璞电子科技有限公司 采用高速电子开关阵列的板级电路可编程多fpga验证系统
CN101968820A (zh) * 2009-07-27 2011-02-09 上海华虹集成电路有限责任公司 芯片网表测试平台

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003445A1 (en) * 2000-05-26 2002-01-10 Andrews William B. Signal distribution scheme in field programmable gate array (FPGA) or field programmable system chip (FPSC) including cycle stealing units
US7058921B1 (en) * 2002-02-22 2006-06-06 Xilinx, Inc. Method and system for resource allocation in FPGA-based system-on-chip (SoC)
CN1438593A (zh) * 2003-01-15 2003-08-27 西安交通大学 智能电器专用芯片的设计方法
WO2006012335A2 (en) * 2004-06-24 2006-02-02 Ftl Systems, Inc. Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization
CN101872367A (zh) * 2009-04-21 2010-10-27 上海威璞电子科技有限公司 采用高速电子开关阵列的板级电路可编程多fpga验证系统
CN101968820A (zh) * 2009-07-27 2011-02-09 上海华虹集成电路有限责任公司 芯片网表测试平台

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李兴政等: "VPR在FPGA结构设计中的应用", 《电子器件》 *
李明等: "岛式FPGA芯片布局布线改进的实现", 《华南理工大学学报(自然科学版)》 *
董刚等: "FPGA芯片内部可重构配置系统设计", 《FPGA芯片内部可重构配置系统设计 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760562A (zh) * 2014-12-19 2016-07-13 吴国盛 基于分层读取的集成电路设计架构
CN104615837A (zh) * 2015-02-13 2015-05-13 浪潮集团有限公司 一种fpga的物理实现方法及装置
CN105260545A (zh) * 2015-10-19 2016-01-20 深圳市同创国芯电子有限公司 一种可编程电路系统的验证方法
CN105260545B (zh) * 2015-10-19 2018-09-14 深圳市紫光同创电子有限公司 一种可编程电路系统的验证方法
CN105868114A (zh) * 2016-03-31 2016-08-17 复旦大学 Fpga软件系统及其各模块测试系统和方法
CN105868114B (zh) * 2016-03-31 2019-04-05 复旦大学 Fpga软件系统及其各模块测试系统和方法
CN107544833A (zh) * 2016-06-24 2018-01-05 柯尼卡美能达株式会社 图像处理装置、调试支援方法以及记录有调试支援程序的计算机可读取的记录介质
CN106202761A (zh) * 2016-07-15 2016-12-07 中国电子科技集团公司第五十八研究所 用于大容量fpga电路功能仿真的最优网表的生成方法
CN106202761B (zh) * 2016-07-15 2019-04-19 中国电子科技集团公司第五十八研究所 用于大容量fpga电路功能仿真的最优网表的生成方法
CN107967704A (zh) * 2016-10-20 2018-04-27 上海复旦微电子集团股份有限公司 一种fpga芯片版图连线显示方法
CN107977477A (zh) * 2016-10-21 2018-05-01 上海复旦微电子集团股份有限公司 Fpga芯片的版图生成方法及装置
CN106529043A (zh) * 2016-11-14 2017-03-22 无锡华润矽科微电子有限公司 基于计算机软件系统对电路进行分模块综合设计的方法
CN106776442B (zh) * 2016-12-05 2020-11-06 天津大学 Fpga晶体管尺寸调整方法
CN106776442A (zh) * 2016-12-05 2017-05-31 天津大学 Fpga晶体管尺寸调整方法
CN109145262A (zh) * 2017-06-15 2019-01-04 上海复旦微电子集团股份有限公司 Fpga芯片描述文件的生成方法、装置、存储介质及电子设备
CN108133069A (zh) * 2017-08-17 2018-06-08 上海倚韦电子科技有限公司 集成电路后端设计系统及方法
CN108052018A (zh) * 2017-12-13 2018-05-18 中国兵器装备集团自动化研究所 一种制导与控制组件轻量化处理方法及制导与控制组件
CN108615500A (zh) * 2018-05-11 2018-10-02 深圳市摩西尔电子有限公司 Led跨平台显示的控制方法
CN108615500B (zh) * 2018-05-11 2019-12-03 深圳市摩西尔电子有限公司 Led跨平台显示的控制方法
CN109101680B (zh) * 2018-06-26 2022-11-25 飞腾信息技术有限公司 基于GitLab-CI的FPGA原型自动验证方法及系统
CN109101680A (zh) * 2018-06-26 2018-12-28 天津飞腾信息技术有限公司 基于GitLab-CI的FPGA原型自动验证方法及系统
CN108984300A (zh) * 2018-07-03 2018-12-11 北京华大九天软件有限公司 一种版图数据的审阅方法、系统及存储介质
CN109165131B (zh) * 2018-08-02 2021-09-10 北京遥感设备研究所 一种基于Perl的原型验证平台自动化实现方法
CN109165131A (zh) * 2018-08-02 2019-01-08 北京遥感设备研究所 一种基于Perl的原型验证平台自动化实现方法
CN110347595A (zh) * 2019-07-02 2019-10-18 中国科学院近代物理研究所 一种fpga内部资源甄别与定位方法及系统
CN110489812A (zh) * 2019-07-25 2019-11-22 广东高云半导体科技股份有限公司 多层层级网表处理方法、装置、计算机设备及存储介质
CN112631168A (zh) * 2020-12-09 2021-04-09 广东电网有限责任公司 一种基于fpga的形变检测器控制电路设计方法
CN118153496A (zh) * 2024-05-09 2024-06-07 中科芯磁科技(珠海)有限责任公司 一种fpga架构可视化方法

Also Published As

Publication number Publication date
CN103678745B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
CN103678745B (zh) 一种用于fpga的跨平台多层次集成设计系统
USRE44479E1 (en) Method and mechanism for implementing electronic designs having power information specifications background
CN102466776B (zh) 面向复杂可编程逻辑器件的批量测试方法
US8775986B1 (en) Software debugging of synthesized hardware
CN101517576B (zh) 基于软件程序在处理系统上的运行而设计asic
CN105138774A (zh) 一种基于集成电路层次化设计的时序后仿真方法
CN103150440B (zh) 一种模块级电路网表仿真方法
Chakravarthi A practical approach to VLSI system on chip (SoC) design
WO2007120888A2 (en) Simulation of power domain isolation
CN101539958A (zh) 一种标准单元库和集成电路的设计方法和装置
CN101551827B (zh) 多仿真精度可切换的测试方法和装置
CN104903855B (zh) 用于配置多处理器阵列的方法和设备以及开发系统
CN102567122A (zh) 多仿真验证平台下的处理器参考模型的通信接口方法
US8265918B1 (en) Simulation and emulation of a circuit design
CN114254575A (zh) 一种生成寄存器转换级文件列表文件的方法和装置
US10846449B1 (en) Conversion of block model-based circuit designs into circuit implementations
US9824173B1 (en) Software development-based compilation flow for hardware implementation
CN109426671B (zh) 一种边界扫描链的生成方法及装置、计算机可读存储介质
CN104615837A (zh) 一种fpga的物理实现方法及装置
US8145466B1 (en) Clustering of electronic circuit design modules for hardware-based and software-based co-simulation platforms
US11797742B1 (en) Power aware real number modeling in dynamic verification of mixed-signal integrated circuit design
US11231462B1 (en) Augmenting an integrated circuit (IC) design simulation model to improve performance during verification
US7340696B1 (en) Automated design process and chip description system
Ahmed et al. Automatic clock domain crossing verification flow for dynamic partial reconfiguration
CN117852485B (zh) 一种fpga布局布线方法及系统

Legal Events

Date Code Title Description
PB01 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
TR01 Transfer of patent right

Effective date of registration: 20170519

Address after: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee after: Beijing Zhongke micro Investment Management Co.,Ltd.

Address before: 100083 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170605

Address after: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan times business center C block 2D

Patentee after: Beijing micro Star Technology Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Beijing Zhongke micro Investment Management Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

Termination date: 20190918

CF01 Termination of patent right due to non-payment of annual fee