CN101436225B - 一种动态局部可重构嵌入式数据控制器芯片的实现方法 - Google Patents
一种动态局部可重构嵌入式数据控制器芯片的实现方法 Download PDFInfo
- Publication number
- CN101436225B CN101436225B CN2008102436700A CN200810243670A CN101436225B CN 101436225 B CN101436225 B CN 101436225B CN 2008102436700 A CN2008102436700 A CN 2008102436700A CN 200810243670 A CN200810243670 A CN 200810243670A CN 101436225 B CN101436225 B CN 101436225B
- Authority
- CN
- China
- Prior art keywords
- design
- chip
- module
- top layer
- submodule
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种动态局部可重构的嵌入式数据控制器芯片的实现方法。本发明采用FPGA芯片实现动态局部可重构嵌入式数据控制器芯片。支持IBM开发的CoreConnect总线的标准。CoreConnect技术使多个芯片核(IP Core)相互连接成为一个完整的新芯片成为可能。本发明实现的可重构嵌入式数据控制器芯片采用CoreConnect总线架构,采用PLB总线连接高性能的处理器核、内存控制器以及基本的外围的芯片核,可重构部分通过OPB总线进行连接。可重构部分既可是外围设备的芯片核,也可是底层算法核,而其他逻辑部分保持不变。在可重构模块占有宽度内的所有器件资源都属于可重构模块所有,可重构模块的边界必须是确定不变的。当模块间有通讯时,在边界上使用Bus Macro。
Description
技术领域
本发明涉及一种嵌入式系统,特别是涉及一种动态局部可重构的嵌入式数据控制器芯片的实现方法,适用于电力、交通、能源等行业的自动化控制,属集成电路技术、计算机技术领域。
背景技术
传统的数据控制器一般采用通用微处理器或数字信号处理器芯片实现,其硬件电路是固定的,实现的功能单元不可现场改变。而采用可编程逻辑器件FPGA实现数据控制器,将形成一种现场可编程、可重构的“通用”新型数据控制器。
可重构系统芯片指在芯片中设置一个或多个可重构单元,使最终用户可以对芯片的部分电路结构进行现场硬编程或软编程,从而达到缩短产品面市时间、易于更新换代、延长芯片生命周期的目的。可重构技术是片上系统芯片(SoC)设计业的前沿技术领域。按照芯片配置方式可分为全部重构和局部重构两种。全部重构是指只能被全部重构,计算的中间结果必须取出放在额外的存储区,直到新的配置功能全部下载完毕,才能开始新的操作。局部重构是指允许可重构系统的一部分电路重构,操作过程中可以中断或不中断不需要重构的其余电路部分的工作。按照芯片重构方式可分为静态系统重构和动态系统重构。静态系统重构:是指目标系统的逻辑功能静态重载,即只能在运行前配置的系统。FPGA芯片功能在外部逻辑的控制下,通过存贮于存贮器中不同的目标系统数据的重新下载,而实现芯片逻辑功能的改变。对一个常规SRAM编程的FPGA,只能用于实现静态系统重构,在重新配置数据的过程中,旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间轴上断裂〔可称作系统重构时隙〕,系统功能无法动态连续。动态系统重构是指芯片能在运行过程中实现逻辑功能配置,进行局部或全部的芯片逻辑的动态重构(或称修改)。
发明内容
1、发明目的
本发明的目的之一是在于发明一种基于FPGA的动态局部可重构嵌入式数据控制器芯片的实现方法,芯片能在运行过程中实现逻辑功能配置,进行局部的芯片逻辑的动态重构(或称修改)。
2、技术方案
第一步,设计输入与综合
编写顶层设计代码,划定可重构模块的设计边界,子模块以黑盒子的形式在顶层被调用,顶层设计没有其他逻辑。实例化bus macros用于可重构模块和其他模块之间固定的数据交互通道,如图2所示。
在明确了子模块间的接口以及子模块与顶层模块的接口后,子模块设计输入与综合可以同步展开。动态可重配子模块需要具备以下特点:
■可重配模块的高度与芯片高度相同
■可重配模块的宽度必须以4个slice为倍数增长
■时钟逻辑独立于可重构模块
■可重构模块的边界固定
■可重构模块通过BUS macro与其他模块进行通信
■设计要考虑到当重配发生时不影响静态模块的操作
■可重配模块中的存储模块在重配发生时要保存数据
第二步,初始预算
初始预算估计的输入就是顶层模块的综合网表,主要完成:
■对设计进行全局区域布局
■约束每个子模块的规模和区域
■定位每个模块的输入输出
■对设计进行全局时序约束
■将bus macros放置在模块间的边界位置上
本步骤的流程为将综合生成的顶层设计逻辑网表进行实现(NGDbuild),生成硬件原语网表(NGD);然后将原语网表导入约束编辑器和布局规划器,进行面积约束、全局时序约束等,生成相应的约束文件(UCF);最后再将约束文件提供给实现工具,生成约束条件下的硬件原语网表,完成初始预算。
第三步,子模块的激活实现
每个子模块的激活实现单独进行,使用单独的实现目录。具体方法:在激活模式下运行实现工具(NGDbuild)读取顶层设计、顶层用户的约束文件和当前子模块的逻辑网表作为输入,生成硬件原语网表(NGD)文件作为输出,该文件中只有当前子模块的逻辑网表被激活,其他子模块仍然是类似于黑盒子的结构框架。在激活模式下用约束编辑器为当前子模块附加时间约束,然后根据新的约束文件对所生成的NGD文件进行映射、布局布线等实现步骤。子模块完成了布局布线而且满足时序要求后,就称此模块为物理实现模块(PIM),调用pimcreate命令将结果进行提交供合并时使用。
第四步,模块的最后合并
将所有子模块的激活实现结果和顶层实现结果有机的组织起来,完成整个设计的实现。
在合并模式下运行NGDBuild工具,NGDBuild读取顶层设计的网表文件、顶层设计的约束文件和所有物理实现模块结果文件作为输入,对整个设计顶层进行全面的实体扩展,接着对合并后的设计进行映射、布局布线,生成比特流文件。
第五步,设计确认,生成可重构设计文件
1)确认设计,静态时序分析以及功能仿真;
2)在底层编辑器(FPGA Editor)环境下手工检查布线结果,对不希望穿越边界的信号进行修正;
3)生成上电时的比特流;
4)生成每一个可重构模块的比特流;
第六步,比特流文件下载,实现动态局部可重构芯片
通过FPGA的JTAG端口下载比特流文件,即可实现动态局部可重构嵌入式数据控制器芯片。
3、有益效果
利用本发明实现的可重构系统芯片在芯片中设置一个或多个可重构单元,使最终用户可以对芯片的部分电路结构进行现场硬编程或软编程,从而达到缩短产品面市时间、易于更新换代、延长芯片生命周期的目的。
附图说明
图1是逻辑设计的动态局部重构设计流程图;
图2是总线宏单元(bus macros)用于可重构模块和其他模块之间固定的数据交互通道的示意图;
图3是初始预算阶段的流程图;
图4是一个具有两个可重构模块的设计布局图;
图5是子模块的激活实现阶段流程图;
图6是合并阶段的设计流图;
图7是实施例系统架构示意图;
图8是芯片结构示意图
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
本发明采用Xilinx公司的Virtex-II Pro FPGA芯片实现动态局部可重构嵌入式数据控制器芯片。Virtex-II Pro FPGA芯片内嵌PPC405硬CPU核,支持IBM开发的CoreConnect总线的标准。CoreConnect技术使多个芯片核(IP Core)相互连接成为一个完整的新芯片成为可能。CoreConnect技术使整合变得更为容易,而且在标准产品平台设计中的处理器、系统以及外围的核可以重复使用,以达到整个更高的系统性能。CoreConnect总线规范一共设计了三种总线和一个高性能总线与低性能总线连接的桥,分别是PLB(Processor Local Bus)、OPB(On-chipPeripheral BUS)、DCR(Device Control Register Bus)和OPB桥。本发明实现的可重构嵌入式数据控制器芯片采用CoreConnect总线架构,采用PLB总线连接高性能的处理器核、内存控制器以及基本的外围的芯片核,可重构部分通过OPB总线进行连接。可重构部分既可是外围设备的芯片核,也可是底层算法核,如N点快速离散傅立叶变换(FFT),可根据用户需要动态配置为512点FFT或1024点FFT,而其他逻辑部分保持不变。在可重构模块占有宽度内的所有器件资源都属于可重构模块所有,可重构模块的边界必须是确定不变的。当模块间有通讯时,在边界上使用Bus Macro。
设计采用Xilinx公司的Virtex-II Pro FPGA芯片XC2V40-5FG256,系统由3个模块组成:显示模块、运算模块和输入模块,完成输入数字进行加或减的可重构运算,并将结果通过LED显示屏进行显示。
1.顶层代码设计与综合、模块代码设计与综合
采用synplify pro进行综合,顶层设计中子模块均为“黑匣子”,生成网表文件caltop.edf、adder.edf、lcd_driver.edf、pushbutton.edf、subtractor.edf;
2.初始预算
“ngdbuild-p xc2v40fg256-4-modular initial calctop.edf”
根据设计规范要求对面积、管脚等进行规划约束。
3.子模块的激活实现
Ngdbuild-p xc2v40fg256-4-modular module-active calctop.ngo
map-pr b calctop.ngd-o calctop_map.ncd calctop.pcf
par-w-ol 5-n 3-s 3calctop_map.ncd mppr.dir calctop.pcf
cp mppr.dir/5_5_3.ncd calctop.ncd
cp../../bitgen_v2_jtag.ut.
bitgen-d-f bitgen_v2_jtag.ut-g ActiveReconfig:yes calctop.ncd
trce calctop.ncd calctop.pcf
pimcreate-ncd calctop.ncd-ngm calctop_map.ngm ../../Pims
对每一个子模块进行激活。
4.模块的最后合并
ngdbuild-p xc2v40fg256-4-modular assemble-pimpath../../Pims calctop.edf
map-pr b calctop.ngd-o calctop_map.ncd calctop.pcf
par-w calctop_map.ncd calctop.ncd calctop.pcf
cp../../bitgen_v2_jtag.ut.
bitgen-fbitgen_v2_jtag.ut calctop.ncd
trce calctop.ncd calctop.pcf
将子模块与顶层设计有机的组合起来,生成完整的设计文件。
5.设计确认,生成可重构设计文件
确认设计,在底层编辑器(FPGA Editor)环境下手工检查布线结果,对不希望穿越边界的信号进行修正;分别对加法运算和减法运算两个顶层设计生成对应的比特流文件,完成可重构设计流程。
Claims (4)
1.一种动态局部可重构的嵌入式数据控制器芯片的实现方法,其特征在于,包括以下步骤:
1)编写顶层设计代码,划定可重构模块的设计边界,子模块以黑盒子的形式在顶层被调用;实例化bus macros用于可重构模块和其他模块之间固定的数据交互通道;在明确了子模块间的接口以及子模块与顶层模块的接口后,子模块设计输入与综合同步展开;
2)输入顶层模块的综合网表,用于对设计进行全局区域布局、约束每个子模块的规模和区域、定位每个模块的输入输出、对设计进行全局时序约束、将bus macros放置在模块间的边界位置上;
3)在激活模式下运行实现工具NGDBuild读取顶层设计、顶层用户的约束文件和当前子模块的逻辑网表作为输入,生成硬件原语网表NGD文件作为输出;在激活模式下用约束编辑器为当前子模块附加时间约束,然后根据新的约束文件对所生成的硬件原语网表NGD文件进行映射、布局布线实现步骤;子模块完成了布局布线而且满足时序要求后,将结果进行提交供合并时使用;
4)将所有子模块的激活实现结果和顶层实现结果有机的组织起来,完成整个设计的实现;
5)设计确认,生成可重构设计文件;
6)比特流文件下载,实现动态局部可重构芯片。
2.根据权利要求1所述的一种动态局部可重构的嵌入式数据控制器芯片的实现方法,其特征在于,上述步骤2)进一步包括:将综合生成的顶层设计逻辑网表进行实现,生成硬件原语网表NGD文件;然后将硬件原语网表NGD文件导入约束编辑器和布局规划器,进行面积约束、全局时序约束,生成相应的约束文件(UCF);最后再将约束文件提供给实现工具,生成约束条件下的硬件原语网表。
3.根据权利要求1所述的一种动态局部可重构的嵌入式数据控制器芯片的实现方法,其特征在于,上述步骤4)进一步包括:在合并模式下运行NGDBuild工具,NGDBuild读取顶层设计的网表文件、顶层设计的约束文件和所有物理实现模块结果文件作为输入,对整个设计顶层进行全面的实体扩展,接着对合并后的设计进行映射、布局布线,生成比特流文件。
4.根据权利要求1所述的一种动态局部可重构的嵌入式数据控制器芯片的实现方法,其特征在于,上述步骤5)进一步包括如下步骤:
1)确认设计,静态时序分析以及功能仿真;
2)在底层编辑器(FPGA Editor)环境下手工检查布线结果,对不希望穿越边界的信号进行修正;
3)生成上电时的比特流;
4)生成每一个可重构模块的比特流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102436700A CN101436225B (zh) | 2008-12-11 | 2008-12-11 | 一种动态局部可重构嵌入式数据控制器芯片的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102436700A CN101436225B (zh) | 2008-12-11 | 2008-12-11 | 一种动态局部可重构嵌入式数据控制器芯片的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101436225A CN101436225A (zh) | 2009-05-20 |
CN101436225B true CN101436225B (zh) | 2010-09-15 |
Family
ID=40710661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102436700A Active CN101436225B (zh) | 2008-12-11 | 2008-12-11 | 一种动态局部可重构嵌入式数据控制器芯片的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101436225B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702184B (zh) * | 2009-11-19 | 2012-05-30 | 复旦大学 | 动态可重构总线宏结构 |
CN101788931B (zh) * | 2010-01-29 | 2013-03-27 | 杭州电子科技大学 | 一种硬件实时容错的动态局部可重构系统 |
CN102063410B (zh) * | 2010-10-22 | 2012-05-23 | 中国科学技术大学 | 一种基于可编程硬件计算平台的计算机 |
CN102298344B (zh) * | 2011-05-05 | 2013-03-27 | 杭州电子科技大学 | 一种基于fpga动态部分可重构技术的局部热点缓和系统 |
CN102768692B (zh) * | 2011-05-06 | 2015-02-04 | 中国科学院微电子研究所 | 应用于fpga测试的导航布局布线方法 |
US8476926B1 (en) | 2012-02-08 | 2013-07-02 | Altera Corporation | Method and apparatus for implementing periphery devices on a programmable circuit using partial reconfiguration |
CN103049619B (zh) * | 2012-12-31 | 2016-05-11 | 上海宇芯科技有限公司 | 一种利用表格完成芯片设计集成功能的方法 |
CN104679628B (zh) * | 2013-12-03 | 2018-10-23 | 中国科学院微电子研究所 | 一种现场可编程门阵列的测试方法 |
CN104133692A (zh) * | 2014-06-13 | 2014-11-05 | 大连梯耐德网络技术有限公司 | 一种基于fpga动态重构技术实现对tcam的多元化配置系统及配置方法 |
CN104219121B (zh) * | 2014-09-16 | 2017-11-07 | 西南大学 | 基于fpga的串行总线通信在线重构方法 |
CN105680848B (zh) * | 2014-11-19 | 2018-11-06 | 京微雅格(北京)科技有限公司 | 基于区域时钟的优化fpga芯片布局的方法 |
CN104732849A (zh) * | 2015-04-07 | 2015-06-24 | 山东大学 | 基于动态部分可重构fpga的计算机系列课程实验平台装置 |
CN107038267B (zh) * | 2016-02-04 | 2021-06-18 | 京微雅格(北京)科技有限公司 | 一种fpga芯片基本单元的设计方法 |
CN106201987A (zh) * | 2016-06-28 | 2016-12-07 | 青岛大学 | 一种功能可重构微控制器架构 |
CN106528921B (zh) * | 2016-09-27 | 2021-11-02 | 京微齐力(北京)科技有限公司 | 一种fpga芯片布局中实现区域约束的方法 |
CN106528927B (zh) * | 2016-09-29 | 2019-07-30 | 京微齐力(北京)科技有限公司 | 输入输出i/o工艺映射方法和装置 |
CN107256281B (zh) * | 2017-05-05 | 2020-07-28 | 西安交通大学 | 一种基于裁剪法的fpga可重构资源非矩形布局方法 |
CN108228966B (zh) * | 2017-12-06 | 2021-08-20 | 复旦大学 | 基于fpga局部动态重构技术的异型流水线设计方法 |
CN110032781B (zh) * | 2019-03-27 | 2020-04-17 | 广东高云半导体科技股份有限公司 | 编辑时序约束方法、装置、计算机设备及存储介质 |
CN110110362B (zh) * | 2019-03-29 | 2023-05-02 | 深圳市酷童小样科技有限公司 | 一种使用嵌入式命令设计芯片的方法 |
CN113704167B (zh) * | 2021-07-19 | 2024-03-19 | 上海交通大学 | 物联网智能感知终端系统 |
CN114124389B (zh) * | 2021-11-09 | 2023-08-11 | 国网山东省电力公司电力科学研究院 | 一种基于可重构计算的国密算法fpga部署方法及系统 |
-
2008
- 2008-12-11 CN CN2008102436700A patent/CN101436225B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101436225A (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101436225B (zh) | 一种动态局部可重构嵌入式数据控制器芯片的实现方法 | |
JP3331968B2 (ja) | グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体 | |
Kranenburg et al. | MB-LITE: A robust, light-weight soft-core implementation of the MicroBlaze architecture | |
US8719752B1 (en) | Hierarchical crosstalk noise analysis model generation | |
Kapoor et al. | Digital systems power management for high performance mixed signal platforms | |
Yousuf et al. | DAPR: Design Automation for Partially Reconfigurable FPGAs. | |
Macko et al. | Managing digital-system power at the system level | |
Nebel | High-level power estimation and analysis | |
Sharafinejad et al. | UPF-based formal verification of low power techniques in modern processors | |
Hazra et al. | POWER-TRUCTOR: An integrated tool flow for formal verification and coverage of architectural power intent | |
US11657205B2 (en) | Construction, modeling, and mapping of multi-output cells | |
Mukheijee et al. | Clock and power gating with timing closure | |
Elléouet et al. | An FPGA power aware design flow | |
Hsu et al. | Speeding up power verification by merging equivalent power domains in RTL design with UPF | |
Greenberg et al. | Selective state retention power gating based on gate-level analysis | |
Robertson et al. | Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series | |
Groma et al. | Simplified introduction of power intent into a register-transfer level model | |
Krifa et al. | Exploring the self reconfiguration of FPGA: design flow, architecture and performance | |
JP4855283B2 (ja) | 半導体集積回路の設計装置 | |
Silveira et al. | Open systemc simulator with support for power gating design | |
Khan et al. | Successive refinement: A methodology for incremental specification of power intent | |
Umadevi et al. | Effective Timing Closure Using Improved Engineering Change Order Techniques in SOC Design | |
Mrad et al. | A framework for system level low power design space exploration | |
Chen et al. | Bipartition and synthesis in low power pipelined circuits | |
Anandi et al. | Datapath Design and Power Optimization in High Speed Core. |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171109 Address after: 211106 Jiangning City, Nanjing Province, the integrity of the road No. 19, Co-patentee after: NARI Technology Development Co., Ltd. Patentee after: State Grid Electric Power Research Insititute Address before: Nan Shui Road Gulou District of Nanjing city of Jiangsu Province, No. 8 210003 Co-patentee before: Nanjing Nari Co., Ltd. Patentee before: State Grid Electric Power Research Insititute |