一种SoPC芯片自主重构软配置方法

文档序号:6636427阅读:237来源:国知局
一种SoPC芯片自主重构软配置方法
【专利摘要】一种SoPC芯片自主重构软配置方法,对SoPC芯片的自重构软配置电路技术进行研究,提出了一种SoPC芯片自主重构软配置方法,本发明方法充分利用配置接口可控性的特征,将处理器的GPIO接口与FPGA芯片的配置接口相连,构建物理数据通路和配置链路,通过控制GPIO接口的信号输出、采集和通过接口电平变化实现配置时序和配置数据,完成自重构操作。本发明方法与传统的重构配置方法相比无需在SoPC芯片添加FPGA专用的配置芯片即可实现系统的自主重构操作,有效的减小了SoPC芯片的体积,同时SoPC芯片内部用于控制实现自主重构操作的信号少,降低了设计复杂度。
【专利说明】一种SoPC芯片自主重构软配置方法

【技术领域】
[0001] 本发明涉及一种在芯片自主重构软配置方法,特别是一种SoPC芯片自主重构软 配置方法,使得芯片能够在外太空环境下,具有智能化的自主重构和硬件任务在轨升级的 能力。

【背景技术】
[0002] 传统的星载电子系统,包含大量的离散器件和小规模集成电路,较多的印制板和 单机带来了整机体积和功耗的增加,复杂的互联结构带来了系统可靠性的降低,显然,传统 的电子系统将很难满足未来星载计算机小型化的发展需求。
[0003] 国产的SoPC芯片BM3109,更符合电子系统的发展的需求。在空间维度,通过构造 硬件逻辑电路实现数据运算和处理,从而充分利用了硬件电路高效和并发执行的优势,在 时间维度的可变性,令一块FPGA可以在不同时刻表现出不同的功能,增加了系统灵活性和 功能密度。
[0004] 传统FPGA配置方式,需要通过采用专用的配置芯片和相应的电路来实现。SoPC芯 片设计时,若将此部分电路通过SIP技术集成到芯片中,必将增加了芯片面积,降低内部处 理电路的密度。若将配置电路放置于芯片外部时,整个配置过程将处于暴露状态,不利于芯 片安全性和保密性。


【发明内容】

[0005] 本发明解决的技术问题是:克服现有技术的不足,在减小芯片配置部分面积的前 提下,提供了一种SoPC芯片自重构软配置电路的实现方法。
[0006] 本发明的技术解决方案是:一种SoPC芯片自主重构软配置方法,包括如下步骤:
[0007] (1)将 SPARC V8 处理器地址线 Ai 接到 FLASH 的地址线 PAi-1,i = 1,2, 3,,,22, 数据线Dj连接到FLASH的数据线DQg,j = 16, 17, 18,,,31,g = 0, 1,2,,,15,写控制信号 端连接到FLASH的WE端,复位控制信号端连接到FLASH的PRESET端,片选控制信号端连接 到FLASH的CE端,读控制信号端连接到FLASH的OE端;
[0008] (2)将 SPARC V8 处理器的GPI0-PI048 引脚连接到FPGA 的 I0_D7 引脚,GPI0-PI049 引脚连接到FPGA的I0_D6引脚,GPI0-PI050引脚连接到FPGA的I0_D5引脚,GPI0-PI051引 脚连接到FPGA的I0_D4引脚,GPI0-PI052引脚连接到FPGA的I0_D3引脚,GPI0-PI053引 脚连接到FPGA的I0_D2引脚,GPI0-PI054引脚连接到FPGA的I0_D1引脚,GPI0-PI055引 脚连接到FPGA的I0_D0引脚,GPI0-PI056引脚连接到FPGA的INIT引脚,GPI0-PI058引脚 连接到 FPGA 的 DONE 引脚,GPI0-PI060 引脚连接到 FPGA 的 I0_D0UT_BUSY 引脚,GPI0-PI062 连接到FPGA的I0_WRITE引脚,GPI0-PI063引脚连接到FPGA的I0_CS引脚,GPI0-PI057弓丨 脚连接到FPGA的PROGRAM引脚,GPI0-PI061引脚连接到FPGA的GCLK引脚;
[0009] (3)在ISEKX 1开发环境任意生成的· bit文件并送至FLASH中,对SPARCV8处理 器、FLASH、FPGA进行上电,SPARC V8处理器从FLASH中读取.bit文件,按照.bit文件格 式和Virtex芯片的配置格式生成配置信息数组;
[0010] (4)设置SPARC V8处理器的GPI0-PI057引脚为输出,向GPI0-PI057引脚的数据 寄存器中写入"1",然后向SPARC V8处理器的GPI0-PI057引脚的数据寄存器中写入"0", 设置SPARC V8处理器的GPI0-PI056引脚为输入,监测FPGA的INIT引脚的电压变化;
[0011] (5)如果INIT引脚由低电平变为高电平,则转入步骤(6);如果FPGA的INIT引脚 为高电平,则重复步骤(3)_步骤(4),直至FPGA的INIT引脚出现由低电平向高电平的跳变 后转步骤(6);
[0012] (6)设置SPARC V8处理器GPI0-PI063引脚为输出,然后向SPARC V8处理器 GPI0-PI062的数据寄存器写入"0",一个时钟周期后设置SPARC V8处理器GPI0-PI062脚 为输出,并向SPARC V8处理器GPIO的数据寄存器写入"0";
[0013] (7)设置SPARC V8处理器的GPI0-PI061引脚为输出,向SPARC V8处理器的 GPI0-PI061的数据寄存器写入"1",下一个时钟周期向SPARC V8处理器的GPI0-PI061的 数据寄存器写入"0",向SPARC V8处理器的GPI0-PI061的数据寄存器写入"1"和"0"交替 进行,并同时执行步骤(8)_步骤(9);
[0014] (8)设置SPARC V8处理器的GPI0-PI063引脚为输出,向SPARC V8处理器 GPI0-PI062的数据寄存器写入"0",设置SPARC V8处理器的GPI0-PI062脚为输出,并向 SPARC V8处理器GPIO的数据寄存器写入"0",设置SPARC V8处理器的GPI0-PI057引脚为 输出,并向SPARC V8处理器的GPI0-PI057的数据寄存器写入"1";
[0015] (9)从配置信息数组中依次取出数据,在FPGA的GCLK信号为高电平时,以2 进制的格式从高到低写入SPARC V8处理器的GPI0-PI048、GPI0-PI049、GPI0-PI050、 GPI0-PI051、GPI0-PI052、GPI0-PI053、GPI0-PI054、GPI0-PI055,同时持续监控 FPGA 的 10_ D0UT_BUSY 引脚,如果 I0_D0UT_BUSY 引脚为高电平,则持续向 GPI0-PI048、GPI0-PI049、 GPI0-PI050、GPI0-PI051、GPI0-PI052、GPI0-PI053、GPI0-PI054、GPI0-PI055 的数据寄存 器中写入当前配置数据,直至I0_D0UT_BUSY信号输出为低电平,如果I0_D0UT_BUSY为低电 平,则转入步骤(10);
[0016] (10)设置SPARC V8处理器GPI0-PI062引脚为输出,向SPARC V8处理器 GPI0-PI062的数据寄存器写入"1",然后设置SPARC V8处理器GPI0-PI063引脚为输出,向 SPARC V8处理器GPI0-PI063的数据寄存器写入"1" ;
[0017] (11)配置SPARC V8处理器GPI0-PI058引脚为输入,持续检测FPGA的DONE控制 信号的输出,如果DONE控制信号电平为高,则软配置电路完成,如果DONE控制信号电平不 为高,则继续等待,直至DONE信号为高,当等待时间超出设定的阈值时,则重复执行(1)至 (10)直至DONE信号为高。
[0018] 本发明与现有技术相比的优点在于:
[0019] (1)本发明方法使SoPC芯片体积更小,与传统的重构配置方法相比无需在SoPC芯 片添加 FPGA专用的配置芯片即可实现系统的自主重构操作,有效的减小了 SoPC芯片的体 积,同时SoPC芯片内部用于控制实现自主重构操作的信号少,降低了设计复杂度低,简化 了布局布线,减小了 SoPC芯片的体积;
[0020] (2)本发明方法重构配置功耗低,与传统的重构配置方法相比,本发明方法无需添 加 FPGA专用的配置芯片来实现自主重构操作,减少了 SoPC芯片配套电路数量和规模,降低 了系统的功耗;
[0021] (3)本发明方法重构配置速度快,与传统的重构配置方法相比,本发明在SoPC芯 片内部实现了 8bit并行模式的自主重构操作,速度更快;
[0022] (4)本发明方法安全性高,与传统的重构配置方法相比,本发明在SoPC芯片内部 实现自主重构操作,没有外部接口,在系统配置过程中,其它外部设备无法对配置信息进行 截取和分析,保证了配置数据的安全性;
[0023] (5)本发明方法可靠性高,与传统的重构配置方法相比,本发明在SoPC芯片内部 实现自主重构操作,减少了外部环境对裸露配置芯片造成的影响,同时防止了配置芯片在 飞行过程中因振动造成的焊点脱落的问题。

【专利附图】

【附图说明】
[0024] 图1为本发明方法自重构操作示意图;
[0025] 图2为本发明方法SoPC芯片自重构操作示意图。

【具体实施方式】
[0026] 本发明通过在SoPC芯片BM3109内部,构建配置数据链路,实现SoPC芯片的自主 重构。SoPC芯片BM3109根据外界环境的变化和任务的需求,从芯片内部的存储空间内读 取FPGA的配置文件,经软配置接口将配置数据加载到FPGA中,自重构操作如图1所示, SoPC芯片自重构操作如图2所示。其中,BM3109包括外部存储器FLASH、SPARC V8处理器 和 FPGA。
[0027] 针对这一特殊应用背景,本发明对SoPC芯片BM3109自重构实现的方案展开研宄。 提出了一种SoPC芯片自主重构软配置方法。充分利用配置接口可控性的特征,将处理器的 GPIO接口与FPGA的配置接口相连,构建物理数据通路和配置链路。通过控制GPIO接口的 信号输出、采集和通过接口电平变化实现配置时序和配置数据,完成自重构操作。
[0028] 1、实现软配置电路的配置操作,需要实现涉及SPARC V8处理器和外部存储器 FLASH的的引脚连接。
[0029] SPARC V8处理器地址线Al接到外部存储器FLASH的地址线PA0,地址线A2连接 到FLASH的地址线PAl,地址线A3连接到FLASH的地址线PA2,地址线A4连接到FLASH的 地址线PA3,地址线A5连接到FLASH的地址线PA4 ;地址线A6连接到FLASH的地址线PA5, 地址线A7连接到FLASH的地址线PA6,地址线A8连接到FLASH的地址线PA7,地址线A9连 接到FLASH的地址线PA8,地址线AlO连接到FLASH的地址线PA9,地址线All连接到FLASH 的地址线PA10,地址线A12连接到FLASH的地址线PAll,地址线A13到FLASH的地址线 PA12,地址线A14连接到FLASH的地址线PA13,地址线A15连接到FLASH的地址线PA14, 地址线A16连接到FLASH的地址线PA15,地址线A17连接到FLASH的地址线PA16,地址线 A18连接到FLASH的地址线PA17,地址线A19连接到FLASH的地址线PA18,地址线A20连 接到FLASH的地址线PA19,地址线A21连接FLASH的地址线PA20,地址线A22连接FLASH 的地址线PA21,数据线D16连接到FLASH的数据线DQ0,数据线D17连接到FLASH的数据线 DQ1,数据线D18连接到FLASH的数据线DQ2,数据线D19连接到FLASH的数据线DQ3,数据 线D20连接到FLASH的数据线DQ4,数据线D21连接到FLASH的数据线DQ5,数据线D22连 接到FLASH的数据线DQ6,数据线D23连接到FLASH的数据线DQ7,数据线D24连接到FLASH 的数据线DQ8,数据线D25连接到FLASH的数据线DQ9,数据线D26连接到FLASH的数据线 DQ10,数据线D27连接到FLASH的数据线DQl 1,数据线D28连接到FLASH的数据线DQ12,数 据线D29连接到FLASH的数据线DQ13,数据线D30连接到FLASH的数据线DQ14,数据线D31 连接到FLASH的数据线DQ15,写控制信号端连接到FLASH的WE端,复位控制信号端连接到 FLASH的PRESET端,片选控制信号端连接到FLASH的CE端,读控制信号端连接到FLASH的 OE端。
[0030] 2、实现软配置电路的配置操作,需要涉及SPARC V8处理器和FPGA芯片BQV300的 引脚连接。
[0031] SPARC V8 处理器的 GPI0-PI048 引脚连接到 FPGA 的 I0_D7 引脚,GPI0-PI049 引脚 连接到FPGA的I0_D6引脚,GPI0-PI050引脚连接到FPGA的I0_D5引脚,GPI0-PI051引脚 连接到FPGA的I0_D4引脚,GPI0-PI052引脚连接到FPGA的I0_D3引脚,GPI0-PI053引脚 连接到FPGA的I0_D2引脚,GPI0-PI054引脚连接到FPGA的I0_D1引脚,GPI0-PI055引脚 连接到FPGA的I0_D0引脚,GPI0-PI056引脚连接到FPGA的INIT引脚,GPI0-PI058引脚连 接到 FPGA 的 DONE 引脚,GPI0-PI060 引脚连接到 FPGA 的 I0_D0UT_BUSY 引脚,GPI0-PI062 连接到FPGA的I0_WRITE引脚,GPI0-PI063引脚连接到FPGA的I0_CS引脚,GPI0-PI057弓丨 脚连接到FPGA的PROGRAM引脚,GPI0-PI061引脚连接到FPGA的GCLK引脚。
[0032] 3、软配置过程
[0033] (1)将ISE10. 1环境任意生成的.bit文件到外部存储器FLASH中。对SPARCV8处 理器、FLASH、FPGA芯片进行上电,上电完成后,SPARC V8处理器从FLASH中读取.bit文件, 参照Xilinx公司.bit文件格式,去掉用文件的头部无效信息,提取有效数据信息,并按照 Xilinx Virtex芯片的配置格式,生成配置数组。
[0034] (2)配置SPARC V8处理器的GPI0-PI057引脚为输出,先向GPI0-PI057引脚的数 据寄存器中写入" 1",使FPGA芯片的PROGRAM引脚输入为高电平。一个时钟周期后,向SPARC V8处理器的GPI0-PI057引脚的数据寄存器中写入"0",使FPGA的PROGRAM引脚输入为低 电平来启动复位配置逻辑。
[0035] (3)2us后,配置SPARC V8处理器的GPI0-PI056为输入,使其持续监测FPGA的 INIT引脚的电压变化,当INIT引脚变由低电平变为高电平时,即GPI0-PI056的输入由"0" 变为"1"时,表示清空FPGA内部寄存器操作完成;如果FPGA的INIT引脚为高电平,则重复 步骤(1)-步骤(2),直至FPGA的INIT引脚出现由低电平向高电平的跳变;
[0036] (4)配置SPARC V8处理器GPI0-PI063引脚为输出,向SPARC V8处理器 GPI0-PI062的数据寄存器写入"0",使FPGA的I0_CS输入为低电平;
[0037] (5)经过1个时钟周期后,配置SPARC V8处理器GPI0-PI062脚为输出,并向SPARC V8处理器GPIO的数据寄存器写入"0",使FPGA的I0_WRITE引脚为低电平;
[0038] (6)遍历配置信息数组并根据配置信息数组,连续配置SPARC V8处理器中的GPIO 寄存器使GPIO组中的15个引脚生成时钟信号、读写控制信号、片选控制信号、配置使能信 号、八路数据信号,送至FPGA。
[0039]

【权利要求】
1. 一种SoPC巧片自主重构软配置方法,其特征在于包括如下步骤: (1) 将SPARC V8处理器地址线Ai接到FLA甜的地址线PA H,i = 1,2, 3,,,22,数据线 Dj连接到FLA甜的数据线DQ g,j = 16, 17, 18,,,31,g = 0, 1,2,,,15,写控制信号端连接到 FLA甜的肥端,复位控制信号端连接到FLA甜的PRESET端,片选控制信号端连接到FLA甜 的CE端,读控制信号端连接到FLA甜的0E端; (2) 将SPARC V8处理器的GPI0-PI048引脚连接到FPGA的I0_D7引脚,GPI0-PI049弓I 脚连接到FPGA的I0_D6引脚,GPI0-PI050引脚连接到FPGA的I0_D5引脚,GPI0-PI051引 脚连接到FPGA的I0_D4引脚,GPI0-PI052引脚连接到FPGA的I0_D3引脚,GPI0-PI053引 脚连接到FPGA的I0_D2引脚,GPI0-PI054引脚连接到FPGA的I0_D1引脚,GPI0-PI055引 脚连接到FPGA的I0_D0引脚,GPI0-PI056引脚连接到FPGA的IN口引脚,GPI0-PI058引脚 连接到FPGA的DO肥引脚,GPI0-PI060引脚连接到FPGA的I0_D0UT_BUSY引脚,GPI0-PI062 连接到FPGA的I0_WRITE引脚,GPI0-PI063引脚连接到FPGA的I0_CS引脚,GPI0-PI057弓I 脚连接到FPGA的PROGRAM引脚,GPI0-PI061引脚连接到FPGA的G化K引脚; (3) 在ISE10. 1开发环境任意生成的.bit文件并送至FLA甜中,对SPARCV8处理器、 FLA甜、FPGA进行上电,SPARC V8处理器从FLA甜中读取.bit文件,按照.bit文件格式和 Vbtex巧片的配置格式生成配置信息数组; (4) 设置SPARC V8处理器的GPI0-PI057引脚为输出,向GPI0-PI057引脚的数据寄存 器中写入"1",然后向SPARC V8处理器的GPI0-PI057引脚的数据寄存器中写入"0",设置 SPARC V8处理器的GPI0-PI056引脚为输入,监测FPGA的IN口引脚的电压变化; (5) 如果IN口引脚由低电平变为高电平,则转入步骤化);如果FPGA的IN口引脚为高 电平,则重复步骤(3)-步骤(4),直至FPGA的IN 口引脚出现由低电平向高电平的跳变后转 步骤做; (6) 设置SPARC V8处理器GPI0-PI063引脚为输出,然后向SPARC V8处理器 GPI0-PI062的数据寄存器写入"0",一个时钟周期后设置SPARC V8处理器GPI0-PI062脚 为输出,并向SPARC V8处理器GPI0的数据寄存器写入"0"; (7) 设置SPARC V8处理器的GPI0-PI061引脚为输出,向SPARC V8处理器的 GPI0-PI061的数据寄存器写入"1",下一个时钟周期向SPARC V8处理器的GPI0-PI061的 数据寄存器写入"0",向SPARC V8处理器的GPI0-PI061的数据寄存器写入"1"和"0"交替 进行,并同时执行步骤巧)-步骤巧); (8) 设置SPARC V8处理器的GPI0-PI063引脚为输出,向SPARC V8处理器GPI0-PI062 的数据寄存器写入"0",设置SPARC V8处理器的GPI0-PI062脚为输出,并向SPARC V8处 理器GPI0的数据寄存器写入"0",设置SPARC V8处理器的GPI0-PI057引脚为输出,并向 SPARC V8处理器的GPI0-PI057的数据寄存器写入"1"; (9) 从配置信息数组中依次取出数据,在FPGA的GCLK信号为高电平时,W 2进制的格 式从高到低写入 SPARC V8 处理器的 GPI0-PI048、GPI0-PI049、GPI0-PI050、GPI0-PI051、 GPI0-PI052、GPI0-PI053、GPI0-PI054、GPI0-PI055,同时持续监控 FPGA 的 I0_D0UT_BUSY 引脚,如果 I0_D0UT_BUSY 引脚为高电平,则持续向 GPI0-PI048、GPI0-PI049、GPI0-PI050、 GPI0-PI051、GPI0-PI052、GPI0-PI053、GPI0-PI054、GPI0-PI055 的数据寄存器中写入当前 配置数据,直至I0_D0UT_BUSY信号输出为低电平,如果I0_D0UT_BUSY为低电平,则转入步 骤(10); (10) 设置SPARC V8处理器GPI0-PI062引脚为输出,向SPARC V8处理器GPI0-PI062 的数据寄存器写入"1",然后设置SPARC V8处理器GPI0-PI063引脚为输出,向SPARC V8处 理器GPI0-PI063的数据寄存器写入"1"; (11) 配置SPARC V8处理器GPI0-PI058引脚为输入,持续检测FPGA的DO肥控制信号 的输出,如果DONE控制信号电平为高,则软配置电路完成,如果DONE控制信号电平不为高, 则继续等待,直至DO肥信号为高,当等待时间超出设定的阔值时,则重复执行(1)至(10) 直至DO肥信号为高。
【文档编号】G06F9/445GK104461620SQ201410708138
【公开日】2015年3月25日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】陆振林, 兰利东, 赵元富, 李志远, 王蕊, 王智博, 刘凤莲, 王冠雅, 舒磊 申请人:北京时代民芯科技有限公司, 北京微电子技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1