CN104484309B - 一种支持部分可重构的航天用SoC的实现方法 - Google Patents

一种支持部分可重构的航天用SoC的实现方法 Download PDF

Info

Publication number
CN104484309B
CN104484309B CN201410790968.9A CN201410790968A CN104484309B CN 104484309 B CN104484309 B CN 104484309B CN 201410790968 A CN201410790968 A CN 201410790968A CN 104484309 B CN104484309 B CN 104484309B
Authority
CN
China
Prior art keywords
soc
module
dynamic module
dynamic
restructural
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
Application number
CN201410790968.9A
Other languages
English (en)
Other versions
CN104484309A (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 Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
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 Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN201410790968.9A priority Critical patent/CN104484309B/zh
Publication of CN104484309A publication Critical patent/CN104484309A/zh
Application granted granted Critical
Publication of CN104484309B publication Critical patent/CN104484309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种支持部分可重构的航天用SoC的实现方法,通过在SoC中定义动态系统与静态系统,并对两个系统进行不同的设计,在系统运行的过程中能够对FPGA上的部分逻辑进行重配置,而未经配置的部分的逻辑功能不发生改变,使得动态部分可重构既具有软件的灵活性,又具有硬件的高效性,能够有效解决现有SOC内部功能和结构无法改变的现状,同时通过部分重构技术能够周期性地刷新配置位流,防止配置位流发生单粒子翻转,提高了SOC的可靠性和容错能力,使SOC的功能变更更加灵活。

Description

一种支持部分可重构的航天用SoC的实现方法
技术领域
本发明涉及一种支持部分可重构的航天用SoC的实现方法,属于基于部分可重构的高可靠SoC设计领域。
背景技术
近年来,随着电子器件小型化和低功耗技术的迅速发展,基于ASIC实现的片上系统(SoC)正在许多高可靠领域得到广泛应用。特别是在空间应用领域,使用SoC可以显著减轻器件重量、减小系统体积,提高系统性能。但是,SoC器件在设计定型后其内部的功能和结构已经无法改变,在面对多变的航天任务时适应性不高,此外当SoC中发生部分功能失效后系统就会丧失该失效部分所对应的功能,发生系统降级,影响任务的完成。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种部分功能可重构的SoC设计方法,实现远程变更SoC的功能,提高了SoC的容错能力以及功能变更的灵活性。
本发明的上述目的主要是通过如下技术方案予以实现的:
一种支持部分可重构的航天用SoC的实现方法,包括如下步骤:
(1)、将SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统;所述SoC在FPGA上实现;
(2)、将动态系统中的动态模块进行分组,每组动态模块具有相同的对外接口,所述对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口;
(3)、将SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在;
(4)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD,产生动态模块的网表文件,每个动态模块产生一个网表文件;
(5)、将步骤(3)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,将步骤(4)综合后的动态网表文件映射到FPGA内部的可编程空间2中,所述可编程空间2即为放置动态模块的可重构区域;
(6)、将步骤(3)综合后的SoC的网表文件与步骤(4)中的一个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,所述FPGA的编程文件包括全局FPGA编程文件与该动态模块的编程文件;
(7)、重复步骤(6),完成SoC的网表文件与所有动态模块网表文件的合并,生成多个FPGA的编程文件;
(8)、SoC运行过程中,当接收到用户需要更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
在上述支持部分可重构的航天用SoC的实现方法中,FPGA为Xilinx的SRAM型FPGA。
在上述支持部分可重构的航天用SoC的实现方法中,步骤(5)中的映射与步骤(6)中的合并采用PlanAhead工具。
在上述支持部分可重构的航天用SoC的实现方法中,步骤(2)中若动态模块分为n组,步骤(5)中可重构区域分为n个区域,每个区域放置一组动态模块,且所述n个区域彼此平铺,不能重叠。
在上述支持部分可重构的航天用SoC的实现方法中,步骤(5)中可重构区域所包含的资源大于所有动态模块中所需资源最大的动态模块的资源。
在上述支持部分可重构的航天用SoC的实现方法中,可重构区域是矩形,且不能经过中央列。
在上述支持部分可重构的航天用SoC的实现方法中,步骤(6)中使能刷新接口电路为SelectMap接口电路或者JTAG接口电路。
本发明与现有技术相比具有如下优点:
(1)、本发明通过在SoC中定义动态系统与静态系统,并对两个系统进行不同的设计,在系统运行的过程中能够对FPGA上的部分逻辑进行重配置,而未经配置的部分的逻辑功能不发生改变,使得动态部分可重构即具有软件的灵活性,又具有硬件的高效性,能够有效解决现有SOC内部功能和结构无法改变的现状,同时通过部分重构技术能够周期性地刷新配置位流,防止配置位流发生单粒子翻转,提高了SOC的可靠性和容错能力,使SOC的功能变更更加灵活;
(2)、本发明大大节省了系统所需资源,当系统所需的硬件逻辑资源大于FPGA所具有的资源时,可以通过部分重构,分时实现所需的功能;
(3)、本发明实现方法大大提高了SoC系统的可靠性,当系统的某个功能出现故障后,可以通过重新加载配置文件的方式实现功能恢复;
(4)、本发明动态重构相比静态重构,不需要中断现有系统的运行状态就能完成部分功能的更新,保证了系统的连续运行,为任务的执行提供了可靠保障;
(5)、本发明的功能重构的实时性强,由于部分可重构减小了重构的范围和配置单元数目,使重构时间大大缩减,工作效率大大提高。
本发明技术方案已在航天某型号上实际应用,并取得了良好的效果。
附图说明
图1为本发明部分可重构SOC的设计流程图;
图2为本发明部分可重构SOC的体系结构示意图;
图3为本发明可重构SOC在FPGA内部的区域划分示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述:
如图1所示为本发明部分可重构SOC的设计流程图,本发明支持部分可重构的航天用SoC的实现方法,具体包括如下步骤:
(1)、根据动态可重构系统实际应用的需要,确定片上系统SOC的结构,确定静态模块和重构模块之间的接口等,如图2所示为本发明部分可重构SOC的体系结构示意图,将SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统。本发明SoC在FPGA上实现。
如图2所示,静态系统包括整数运算单元、浮点运算单元、存储控制器、AHB控制器、AHB/APB桥、中断控制器、计时器、输入输出接口、1553B总线控制器等。动态系统中包括n组动态模块。
本发明静态模块设计与动态模块设计:静态模块按照需求完成逻辑功能的设计。动态模块的设计包含两部分:一是逻辑功能的设计,它根据系统的需求而进行设计;二是接口的封装,共享同一部分重构区域的重构模块应具有相同的对外接口。
(2)、将动态系统中的动态模块进行分组,分为n组,每组动态模块具有相同的对外接口,对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口。
(3)、将SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在。
(4)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD(集成电路的输入/输出端口),产生动态模块的网表文件,每个动态模块产生一个网表文件。
(5)、如图3所示为可重构SOC在FPGA内部的区域划分示意图,使用PlanAhead工具将步骤(3)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,使用PlanAhead工具将步骤(4)综合后的动态网表文件映射到FPGA内部的可编程空间2中,可编程空间2即为放置动态模块的可重构区域。所有动态模块可以放置在一个可重构区域中,例如图3所示。还可以将可编程空间2(即可重构区域)划分为n个区域,n组动态模块中每组动态模块放置在一个区域中,且n个区域彼此平铺,不能重叠。
本发明可重构区域的约束如下:(1)可重构区域所包含的资源应大于所有动态模块中所需资源最大的动态模块的资源,即若第j个动态模块所需资源最大,可重构区域所包含的资源应大于第j个动态模块的所需资源;(2)可重构区域必须是矩形,且不能经过中央列;(3)如果有多个可重构区域,彼此要平铺,不能重叠。
(6)、将步骤(3)综合后的SoC的网表文件逐一与步骤(4)中动态模块的网表文件利用PlanAhead工具进行合并,首先与其中第j个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,FPGA的编程文件包括全局FPGA编程文件与所述动态模块的编程文件。上述刷新接口电路为SelectMap接口电路或者JTAG接口电路。
(7)、重复步骤(6),按照相同的方法完成SoC的网表文件与所有动态模块网表文件的合并,生成所有动态模块的FPGA的编程文件。
(8)、SoC运行过程中,当接收到用户需要更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
本发明通过定义接口相同,但功能不同的动态模块,借助Xilinx的SRAM型FPGA对可重构功能的支持,使用EDA工具在FPGA特定区域内完成可重构的SOC设计;通过特定的配置接口实现SOC中部分功能的快速重构。通过上述方法,在不增加硬件开销的前提下实现了支持部分可重构的SOC设计,通过刷新部分配置文件来变更SOC的部分功能,是一种有效的SOC部分重构的设计方法。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (6)

1.一种支持部分可重构的航天用SoC的实现方法,其特征在于:包括如下步骤:
(1)、将SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统;所述SoC在FPGA上实现;
(2)、将动态系统中的动态模块进行分组,每组动态模块具有相同的对外接口,所述对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口;
(3)、将SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在;
(4)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD,产生动态模块的网表文件,每个动态模块产生一个网表文件;
(5)、将步骤(3)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,将步骤(4)综合后的动态网表文件映射到FPGA内部的可编程空间2中,所述可编程空间2即为放置动态模块的可重构区域;
(6)、将步骤(3)综合后的SoC的网表文件与步骤(4)中的一个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,所述FPGA的编程文件包括全局FPGA编程文件与该动态模块的编程文件;
(7)、重复步骤(6),完成SoC的网表文件与所有动态模块网表文件的合并,生成多个FPGA的编程文件;
(8)、SoC运行过程中,当接收到用户需要更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
2.根据权利要求1所述的一种支持部分可重构的航天用SoC的实现方法,其特征在于:所述FPGA为Xilinx的SRAM型FPGA。
3.根据权利要求1所述的一种支持部分可重构的航天用SoC的实现方法,其特征在于:所述步骤(5)中的映射与步骤(6)中的合并采用PlanAhead工具。
4.根据权利要求1所述的一种支持部分可重构的航天用SoC的实现方法,其特征在于:所述步骤(2)中若动态模块分为n组,步骤(5)中可重构区域分为n个区域,每个区域放置一组动态模块,且所述n个区域彼此平铺,不能重叠。
5.根据权利要求1所述的一种支持部分可重构的航天用SoC的实现方法,其特征在于:所述步骤(5)中可重构区域所包含的资源大于所有动态模块中所需资源最大的动态模块的资源。
6.根据权利要求1所述的一种支持部分可重构的航天用SoC的实现方法,其特征在于:所述步骤(6)中使能刷新接口电路为SelectMap接口电路或者JTAG接口电路。
CN201410790968.9A 2014-12-18 2014-12-18 一种支持部分可重构的航天用SoC的实现方法 Active CN104484309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410790968.9A CN104484309B (zh) 2014-12-18 2014-12-18 一种支持部分可重构的航天用SoC的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410790968.9A CN104484309B (zh) 2014-12-18 2014-12-18 一种支持部分可重构的航天用SoC的实现方法

Publications (2)

Publication Number Publication Date
CN104484309A CN104484309A (zh) 2015-04-01
CN104484309B true CN104484309B (zh) 2017-07-28

Family

ID=52758852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410790968.9A Active CN104484309B (zh) 2014-12-18 2014-12-18 一种支持部分可重构的航天用SoC的实现方法

Country Status (1)

Country Link
CN (1) CN104484309B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648449B (zh) * 2015-11-04 2019-09-20 上海宝存信息科技有限公司 于控制逻辑错误时重新配置存储控制器的方法及装置
CN106775869B (zh) * 2016-12-16 2020-08-07 四川九洲电器集团有限责任公司 一种加载方法及终端设备
CN107665281B (zh) * 2017-09-27 2020-12-08 浙江大学 一种基于fpga的处理器模拟方法
CN110196729B (zh) 2018-11-30 2022-02-08 腾讯科技(深圳)有限公司 应用程序更新方法、设备和装置及存储介质
CN109657349B (zh) * 2018-12-18 2023-02-10 深圳忆联信息系统有限公司 Soc芯片现场可编程逻辑阵列原型综合的方法及其系统
CN112506852A (zh) * 2020-12-02 2021-03-16 北京时代民芯科技有限公司 一种基于系统级封装的动态可重构智能微系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473156A (zh) * 2013-09-24 2013-12-25 北京控制工程研究所 一种基于实时操作系统的星载计算机三机热备份容错方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356272B2 (en) * 2011-05-12 2013-01-15 S2C Inc. Logic verification module apparatus to serve as a hyper prototype for debugging an electronic design that exceeds the capacity of a single FPGA

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473156A (zh) * 2013-09-24 2013-12-25 北京控制工程研究所 一种基于实时操作系统的星载计算机三机热备份容错方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
星载可重构系统的设计与实现;王浩然;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20141115(第11期);C031-67 *

Also Published As

Publication number Publication date
CN104484309A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104484309B (zh) 一种支持部分可重构的航天用SoC的实现方法
CN104572213B (zh) 一种星载控制计算机的重构方法
Pellauer et al. Buffets: An efficient and composable storage idiom for explicit decoupled data orchestration
WO2016101638A1 (zh) 一种电力系统云仿真平台的运营管理方法
US10564929B2 (en) Communication between dataflow processing units and memories
Parandeh-Afshar et al. Rethinking FPGAs: elude the flexibility excess of LUTs with and-inverter cones
CN109656872A (zh) 一种动态部分可重构片上系统软硬件划分方法
Rosales et al. MAESTRO—holistic actor-oriented modeling of nonfunctional properties and firmware behavior for MPSoCs
Pellizzoni et al. Adaptive allocation of software and hardware real-time tasks for FPGA-based embedded systems
Paul et al. A permanent fault tolerant dynamic task allocation approach for Network-on-Chip based multicore systems
Trujillo et al. European project cluster on mixed-criticality systems
CN101290592B (zh) 一种mpsoc上多道程序共享spm的实现方法
Schmidt et al. Hwpmi: an extensible performance monitoring infrastructure for improving hardware design and productivity on fpgas
CN104503885B (zh) 一种定时看门装置及系统
CN106292516B (zh) 供电电压的信号路径感知路由
He et al. ISBA: An independent set-based algorithm for automated partial reconfiguration module generation
Fattah et al. Shifa: System-level hierarchy in run-time fault-aware management of many-core systems
CN104731572A (zh) 履行硬件线程的硬件权利的方法和系统
Eggenberger et al. Scalable parallel simulation of networks on chip
CN104391546A (zh) 一种弹性架构配置可变云服务器系统架构
CN104462987A (zh) 一种大型飞机综合处理平台中的任务安全共享方法
Ravishankar et al. EmPower: FPGA based rapid prototyping of dynamic power management algorithms for multi-processor systems on chip
Srinivasan et al. Simultaneous memory and bus partitioning for SoC architectures
Chang et al. A low-power crossroad switch architecture and its core placement for network-on-chip
Tafesse et al. Framework for simulation of heterogeneous MpSoC for design space exploration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant