买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种支持多比特流下载的FPGA及其系统_西安智多晶微电子有限公司_201811638992.5 

申请/专利权人:西安智多晶微电子有限公司

申请日:2018-12-29

公开(公告)日:2024-04-30

公开(公告)号:CN109542838B

主分类号:G06F15/78

分类号:G06F15/78;G06F21/60;G06F8/61

优先权:

专利状态码:有效-授权

法律状态:2024.04.30#授权;2019.04.23#实质审查的生效;2019.03.29#公开

摘要:本发明涉及一种支持多比特流下载的FPGA及其系统。该FPGA包括:控制模块、FPGA芯片和封装体;其中,所述控制模块和所述FPGA芯片封装在所述封装体内;所述控制模块电连接所述FPGA芯片,用于实现所述FPGA的多比特流下载。本发明提供的一种支持多比特流下载的FPGA,将控制模块和FPGA芯片封装在封装体内,在需要FPGA实现某个功能时,可以通过控制模块灵活的下载对应的比特流数据对FPGA芯片进行配置,增加了FPGA芯片的使用效率,节省了布线空间和成本。

主权项:1.一种支持多比特流下载的FPGA,其特征在于,包括:控制模块、FPGA芯片和封装体;其中,所述控制模块和所述FPGA芯片通过3D层叠封装的方式封装在所述封装体内;所述控制模块电连接所述FPGA芯片,用于实现所述FPGA的多比特流下载,通过所述控制模块灵活的下载对应的比特流数据对所述FPGA芯片进行配置;所述控制模块为单片机芯片、MCU芯片、MPU芯片、CPU芯片中的任一种;所述控制模块包括:模式选择单元、处理单元、解密单元、秘钥单元和更新单元;其中,所述模式选择单元电连接所述处理单元,用于根据FPGA所需要实现的功能,选取外部存储设备中对应的比特流数据,发送至所述处理单元;所述处理单元电连接所述FPGA芯片,用于将所述比特流数据下载至所述FPGA芯片,实现对应的功能;所述秘钥单元用于向所述解密单元提供秘钥;所述解密单元用于通过所述秘钥对待传输的所述比特流数据进行解密处理;所述更新单元用于更新所述解密单元的解密算法以及更新所述秘钥单元的所述秘钥。

全文数据:一种支持多比特流下载的FPGA及其系统技术领域本发明属于集成电路设计领域,具体涉及一种支持多比特流下载的FPGA及其系统。背景技术FPGAField-ProgrammableGateArray,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。对于FPGA器件而言,必须成功配置后才能正常工作,这里所说的配置即为程序烧写,程序烧写至FPGA中,FPGA才能正常工作。而对于FPGA器件有三类配置下载方法包括:主动配置方式activeserialconfigurationmode,简称:AS模式、被动配置方式passiveserialconfigurationmode,PS模式。AS模式配置FPGA时,FPGA作为主控方,通过主控方把数据读入实现对FPGA配置。PS模式配置通常选用配置器件EPCSErasableprogrammableconfigurableserial,串行存储器作为主控,将数据发给FPGA,或是采用系统内单片机或者CPLD,负责把FLASH内配置数据发送给FPGA,实现FPGA加载。然而,AS模式配置只适用于FPGA工作稳定,功能单一,不经常更新的场合;PS模式配置使用的EPCS器件是,其价格昂贵,大规模使用成本太大,采用系统内单片机或者CPLD,但这样又会在系统PCB上增加额外的单片机或是CPLD芯片布线面积,而且现有的FPGA在配置时往往对配置数据不进行加密或者简单加密,这样还可能会导致配置数据泄露。发明内容为了解决现有技术中存在的上述问题,本发明提供了一种支持多比特流下载的FPGA。本发明要解决的技术问题通过以下技术方案实现:本发明实施例提供了一种支持多比特流下载的FPGA,包括:控制模块、FPGA芯片和封装体;其中,所述控制模块和所述FPGA芯片封装在所述封装体内;所述控制模块电连接所述FPGA芯片,用于实现所述FPGA的多比特流下载。在本发明的一个实施例中,所述控制模块为单片机芯片。在本发明的一个实施例中,所述控制模块包括:模式选择单元和处理单元;其中,所述模式选择单元电连接所述处理单元,用于选择比特流数据;所述处理单元电连接所述FPGA芯片,用于将所述比特流数据下载至所述FPGA芯片。在本发明的一个实施例中,所述处理单元的第一IO端电连接所述FPGA芯片的指示管脚,用于指示所述比特流数据下载完成;所述处理单元的第二IO端电连接所述FPGA芯片的状态管脚,用于指示所述比特流下载状态;所述处理单元的第三IO端电连接所述FPGA芯片的片选信号脚,用于指示所述FPGA芯片的配置状态;所述处理单元的第四IO端电连接所述FPGA芯片的编程模式管脚,用于指示所述比特流数据下载的起始状态;所述处理单元的第五IO端电连接所述FPGA芯片的编程时钟管脚,用于输出所述FPGA芯片的串行时钟数据;所述处理单元的第六IO端电连接所述FPGA芯片的编程数据管脚,用于接收所述比特流数据。在本发明的一个实施例中,所述控制模块还包括:解密单元和秘钥单元;其中,所述秘钥单元用于向所述解密单元提供秘钥;所述解密单元用于通过所述秘钥对待传输的所述比特流数据进行解密处理。在本发明的一个实施例中,所述控制模块还包括更新单元,所述更新单元用于更新所述解密单元的解密算法以及更新所述秘钥单元的所述秘钥。本发明的另一个实施例提供了一种支持多比特流下载的FPGA系统,包括:外部存储设备和上述的支持多比特流下载的FPGA;其中,所述外部存储设备电连接所述支持多比特流下载的FPGA,用于存储不同功能的多比特流数据。在本发明的一个实施例中,所述外部存储设备包括第一存储区和第二存储区,所述第一存储区用于存储所述多比特流数据,所述第二存储区用于存储备用比特流数据。与现有技术相比,本发明的有益效果:然而,AS模式配置只适用于FPGA工作稳定,功能单一,不经常更新的场合;PS模式配置使用的EPCS器件是,其价格昂贵,大规模使用成本太大,采用系统内单片机或者CPLD,但这样又会在系统PCB上增加额外的单片机或是CPLD芯片布线面积,而且现有的FPGA在配置时往往对配置数据不进行加密或者简单加密,这样还可能会导致配置数据泄露。1本发明提供的一种支持多比特流下载的FPGA将控制模块和FPGA芯片封装在封装体内,在需要FPGA实现某个功能时,可以通过控制模块灵活的下载对应的比特流数据对FPGA芯片进行配置,增加了FPGA芯片的使用效率,节省了布线空间和成本。避免了通过大量PCB资源来实现FPGA的多功能;2本发明提供的一种支持多比特流下载的FPGA具有加密解密功能,可以对多比特流数据进行加密解密,且还可以通过在线或本地对该FPGA的解密算法和秘钥的进行更新,从而使该FPGA的加密解密更加灵活,解密算法和秘钥的更新更加方便,打破了传统FPGA密匙在出厂时设定,不能更改的限制;3本发明提供的一种支持多比特流下载的FPGA系统的外部存储设备存储有多比特流数据和备用比特流数据,在通过多比特流数据更新失败时,该FPGA可以自动跳转进行备用比特流数据下载更新,增加了该系统的鲁棒性。附图说明图1为本发明提供的一种支持多比特流下载的FPGA结构示意图;图2为本发明提供的另一种支持多比特流下载的FPGA的结构示意图;图3为本发明提供的又一种支持多比特流下载的FPGA的结构示意图;图4为本发明提供的再一种支持多比特流下载的FPGA的结构示意图;图5为本发明提供的再又一种支持多比特流下载的FPGA的结构示意图;图6为本发明提供的一种支持多比特流下载的FPGA系统的结构示意图。具体实施方式下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。实施例一现有的FPGA配置方式,总的来说分为主动配置AS模式和被动配置PS模式两种。以ALTERAFPGAAltera公司阿尔特拉为例:其中,AS模式为:FPGA每次上电时作为控制器,由FPGA器件引导配置操作过程,控制着外部存储器和初始化过程,向配置器件主动发出读取数据信号,从而把EPCS串行存储器的比特流数据读入FPGA中,比特流数据通过FPGA_DATA0引脚送入FPGA,并同步在FPGA_DCLK上,1个时钟传送1位数据。PS模式为:由外部计算机或者控制器控制配置过程,通过加强型配置器件EPC16,EPC8等配置器件来完成,EPCS作为控制器件,把FPGA当作存储器,把比特流数据写入到FPGA中,实现对FPGA的编程配置,该模式可以实现对FPGA远程在线可编程。请参见图1,图1为本发明提供的一种支持多比特流下载的FPGA结构示意图。本发明实施例的支持多比特流下载的FPGA的配置类似于上述PS模式,但优于上述PS模式。该FPGA主要包括控制模块、FPGA芯片和封装体,该控制模块和FPGA芯片封装在封装体内,控制模块电连接该FPGA芯片用于实现该FPGA的多比特流下载。该支持多比特流下载的FPGA将控制模块和FPGA芯片封装在封装体内,在需要FPGA实现某个功能时,可以通过控制模块灵活的下载对应的比特流数据对FPGA芯片进行配置,增加了FPGA芯片的使用效率,节省了布线空间和成本。避免了通过大量PCB资源来实现FPGA的多功能。具体地,在封装体内部,控制模块通过第一连接线连接FPGA芯片,用于控制模块与FPGA芯片间的数据传输,例如多比特流数据的载入、单片机的配置等。在封装体外部,控制模块通过第二连接线与封装体外设的引脚连接外部存储设备并与外部存储设备进行数据交换,用于实现控制模块与外部存储设备的数据传输。其中,该第一连接线和该第二连接线例如为扩展总线。进一步地,在封装体外部,FPGA芯片还可以通过第三连接线与封装体外设的引脚连接外部设备,用于和外界数据进行数据处理,实现FPGA芯片的数据处理功能。优选地,本实施例通过3D层叠封装的方式将控制模块与FPGA芯片进行封装,在封装完毕后,通过第一连接线对控制模块进行配置以实现对FPGA芯片的多比特流下载。3D层叠封装是近年来迅速发展起来的一种集成封装技术,常见的是把两个或者两个以上的芯片在垂直方向上堆叠,利用传统的引线键合方法进行互连,一般是使用相同的芯片,通过上下层芯片之间加入一层芯片spacer以便于下层芯片的引线键合,垫片通常是一块面积比上下层芯片小的普通硅片。对于本发明而言,可以将控制模块设置于FPGA芯片上方。对于与该FPGA相连的外部存储设备,可以为FLASH、硬盘,USB等存储设备,控制模块读取外部存储设备中的比特流数据,并将比特流数据传输下载至FPGA芯片,FPGA芯片通过该比特流数据进行编程配置,实现FPGA的相应功能。当然,与该FPGA相连的也可以是网线,由远程的上位机对控制模块进行控制,以实现FPGA的比特流更新。本发明的控制模块可以为MCU芯片、MPU芯片、CPU芯片、单片机芯片等具有处理功能的芯片。本实施例优选采用单片机芯片,单片机芯片Microcontrollers是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计数器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路集成到一块硅片上构成的一个小而完善的微型计算机系统,其具有灵活的IO接口支持。将单片机芯片与FPGA芯片连接,通过单片机芯片的IO接口,向FPGA芯片发送配置指令,然后通过FPGA去做各种算法实现和逻辑控制,实现对FPGA芯片的多比特流下载。可以理解的是,其它能够替换单片机芯片或FPGA芯片的其他功能模块,也属于本申请控制模块的范畴。实施例二请参见图2和图3,图2为本发明提供的另一种支持多比特流下载的FPGA的结构示意图,图3为本发明提供的又一种支持多比特流下载的FPGA的结构示意图。本实施例在上述实施例的基础上,以单片机芯片作为控制模块、以内存卡作为外部存储设备为例,进一步对控制模块的内部结构进行详细描述如下。该单片机芯片可以包括模式选择单元和处理单元;其中,模式选择单元连接处理单元,用于选择比特流数据。处理单元连接该FPGA芯片,用于将比特流数据下载至FPGA芯片。由于外部存储设备中存储有多个不同功能的比特流数据,模式选择单元用于根据FPGA所需要实现的功能,选取外部存储设备中对应的比特流数据,并经该比特流数据发送至处理单元,处理单元将该比特流数据下载至FPGA芯片,实现对应的功能。具体地,该处理单元的第一IO端电连接该FPGA芯片的指示管脚,用于指示该比特流数据下载完成;该处理单元的第二IO端电连接该FPGA芯片的状态管脚,用于指示该比特流下载状态;该处理单元的第三IO端电连接该FPGA芯片的片选信号脚,用于指示该FPGA芯片的配置状态;该处理单元的第四IO端电连接该FPGA芯片的编程模式管脚,用于指示该比特流数据下载的起始状态;该处理单元的第五IO端电连接该FPGA芯片的编程时钟管脚,用于输出该FPGA芯片的串行时钟数据;该处理单元的第六IO端电连接该FPGA芯片的编程数据管脚,用于接收该比特流数据。如图3所示,该FPGA开始配置时,单片机芯片将该FPGA芯片的片选信号脚Nce电平拉低,显示此时FPGA配置有效,否则,配置无效。紧接着,单片机芯片拉低编程模式管脚Nconfig的电平,并在Nconfig电平的下一个上升沿后开始配置该FPGA芯片,指示该FPGA芯片的比特流数据开始下载。此时,状态管脚Nstatus电平也会出现一个拉低在上升的过程,指示比特流数据的下载状态。单片机芯片检测到Nstatus电平的这个变化,开始读出内存卡中的配置文件,并通过编程时钟管脚DCLK和编程数据管脚DATA0开始传输比特流数据给该FPGA芯片。比特流数据传输完成后,FPGA配置成功,Config_done电平拉高,表明FPGA配置成功。实施例三请参见图4和图5,图4为本发明提供的再一种支持多比特流下载的FPGA的结构示意图,图5为本发明提供的再又一种支持多比特流下载的FPGA的结构示意图。本实施例在上述实施例的基础上,重点对本发明的FPGA的解密过程进行描述。对于一些高要求的场景下,需要对比特流数据可以进行加密以保护数据的安全性。当需要通过这些加密的多比特流数据进行加密时,则需要进行相应的数据解密。本实施例的控制模块可以包括解密单元和秘钥单元。其中,该秘钥单元用于向该解密单元提供秘钥;该解密单元用于该秘钥对待传输的该比特流数据进行解密处理。具体地,当通过加密的比特流数据对该FPGA配置时,解密单元通过秘钥单元提供的秘钥,根据解密算法对该加密比特流数据进行解密处理,然后将解密后的比特流数据发送至处理单元,处理单元实现对FPGA芯片的多比特流下载,具体下载方式在上述实施例已经描述,此处不再赘述。进一步地,该控制模块还包括更新单元,该更新单元用于更新该解密单元的解密算法,该更新单元还用于更新该秘钥单元的秘钥。优选地,更新秘钥和更新解密算法为相互独立更新。该更新模块可以通过远程或者本地对解密单元的解密算法和秘钥单元的秘钥进行更新。在需要更新时,解密单元的更新代码或秘钥单元的更新代码发送至模式选择单元,模式选择单元通过该更新代码的文件头进行判断,判断该更新代码为解密单元的更新代码时,先将该更新代码缓存至更新单元,缓存完毕后,更新单元通过该更新代码对解密单元的算法进行更新,更新完毕后,重新启动控制模块,则更新完成。同理,模式选择单元通过该更新代码的文件头判断该更新代码为秘钥单元的更新代码时,对该秘钥单元的秘钥进行更新。优选地,如果需要同时更新秘钥单元的秘钥和解密单元的解密算法时,更新单元通过更新代码的文件头分别对不同更新代码进行缓存,然后首先对解密单元进行更新,更新完毕后再对秘钥单元的秘钥进行更新,具体更新过程在本实施例中已经描述,此处不再赘述。本发明提供的一种支持多比特流下载的FPGA具有加密解密功能,可以对多比特流数据进行加密解密,且还可以通过在线或本地对该FPGA的解密算法和秘钥的进行更新,从而使该FPGA的加密解密更加灵活,解密算法和秘钥的更新更加方便,打破了传统FPGA密匙在出厂时设定,不能更改的限制。实施例四请参见图6,图6为本发明提供的一种支持多比特流下载的FPGA系统的结构示意图。本实施例提供了一种支持多比特流下载的FPGA系统,该系统可以包括外部存储设备和上述实施例提供的该支持多比特流下载的FPGA。该外部存储设备电连接该支持多比特流下载的FPGA,用于存储不同功能的多比特流数据。其中,在外部存储设备上存储有可以实现该FPGA的不同功能的多比特流数据,该FPGA可以通过读取外部存储设备上的不同比特流数据,使该FPGA可以实现不同功能。该外部存储设备可以为硬盘、USB、FLASH等存储设备。优选地,该外部存储设备可以包括第一存储区和第二存储区,该第一存储区用于存储该多比特流数据,该第二存储区用于存储备用比特流数据。进一步地,第一存储区可以为多个。第一存储区存储的多比特流数据用于配置该FPGA用于实现不同功能。第二存储区存储的备用比特流数据可以实现该FPGA的基本功能。优选地,当利用第一存储区的某个比特流数据,或者远程在线对该FPGA进行比特流数据下载配置不成功时,比如更新中途网路不稳定,或系统断电,导致配置文档不完整,电路不能正常工作。这时FPGA可以跳转到第二存储区,下载一个备份配置比特流数据,将电路顺利恢复到基本的功能,并且可以重新启动。另外,第一存储区设置为多个,可以为该FPGA的比特流数据增加和比特流数据更新提供更多存储空间。本发明提供的支持多比特流下载的FPGA系统的外部存储设备存储有多比特流数据和备用比特流数据,在通过多比特流数据更新失败时,该FPGA可以自动跳转进行备用比特流数据下载更新,增加了该系统的鲁棒性。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

权利要求:1.一种支持多比特流下载的FPGA,其特征在于,包括:控制模块、FPGA芯片和封装体;其中,所述控制模块和所述FPGA芯片封装在所述封装体内;所述控制模块电连接所述FPGA芯片,用于实现所述FPGA的多比特流下载。2.根据权利要求1所述的支持多比特流下载的FPGA,其特征在于,所述控制模块为单片机芯片。3.根据权利要求1所述的支持多比特流下载的FPGA,其特征在于,所述控制模块包括:模式选择单元和处理单元;其中,所述模式选择单元电连接所述处理单元,用于选择比特流数据;所述处理单元电连接所述FPGA芯片,用于将所述比特流数据下载至所述FPGA芯片。4.根据权利要求3所述的支持多比特流下载的FPGA,其特征在于:所述处理单元的第一IO端电连接所述FPGA芯片的指示管脚,用于指示所述比特流数据下载完成;所述处理单元的第二IO端电连接所述FPGA芯片的状态管脚,用于指示所述比特流下载状态;所述处理单元的第三IO端电连接所述FPGA芯片的片选信号脚,用于指示所述FPGA芯片的配置状态;所述处理单元的第四IO端电连接所述FPGA芯片的编程模式管脚,用于指示所述比特流数据下载的起始状态;所述处理单元的第五IO端电连接所述FPGA芯片的编程时钟管脚,用于输出所述FPGA芯片的串行时钟数据;所述处理单元的第六IO端电连接所述FPGA芯片的编程数据管脚,用于接收所述比特流数据。5.根据权利要求4所述的支持多比特流下载的FPGA,其特征在于,所述控制模块还包括:解密单元和秘钥单元;其中,所述秘钥单元用于向所述解密单元提供秘钥;所述解密单元用于通过所述秘钥对待传输的所述比特流数据进行解密处理。6.根据权利要求5所述的支持多比特流下载的FPGA,其特征在于,所述控制模块还包括更新单元,所述更新单元用于更新所述解密单元的解密算法以及更新所述秘钥单元的所述秘钥。7.一种支持多比特流下载的FPGA系统,其特征在于,包括:外部存储设备和如权利要求1~6任一项所述支持多比特流下载的FPGA;其中,所述外部存储设备电连接所述支持多比特流下载的FPGA,用于存储不同功能的多比特流数据。8.根据权利要求7所述的支持多比特流下载的FPGA系统,其特征在于,所述外部存储设备包括第一存储区和第二存储区,所述第一存储区用于存储所述多比特流数据,所述第二存储区用于存储备用比特流数据。

百度查询: 西安智多晶微电子有限公司 一种支持多比特流下载的FPGA及其系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。