片上系统及片上系统的硬件可编程器件的配置方法

文档序号:6365629阅读:179来源:国知局
专利名称:片上系统及片上系统的硬件可编程器件的配置方法
技术领域
本发明涉及可编程器件技术,尤其涉及一种片上系统及片上系统的硬件可编程器件的配置方法。
背景技术
片上系统(System-on-a-chip, S0C)指的是在单个芯片上集成一个完整的系统,包括中央处理器(CPU)、存储器、以及外围电路等,对所有或部分必要的电子电路进行包分 组的技术。采用SOC的产品一般都采用一颗SOC芯片作为产品系统的主控芯片,SOC芯片通过自带的硬件IP或者开发嵌入式软件这两种方式实现产品的功能。对于第一种方式,因为是在SOC芯片定制,成本比较低,但是很多功能不能改变,而且产品的技术保密性比较弱;第二种方式,软IP能够满足个性功能的要求,但是在性能上更加依赖于所选择的SOC芯片,而高性能的SOC芯片往往价格高昂。所以在这两个方案的基础上,又出现了一种新的解决方案,即一颗一般性能SOC芯片加一组FPGA。这种方案中对产品的低性能的功能用嵌入式软件实现,对于产品的高性能的功能用FPGA硬件实现,这样即满足产品的低成本的要求又满足高性能的要求,同时产品的保密性也比较强。其中,FPGA(Field Programmable Gate Array,现场可编程门阵列)是一种集成度很高的新型高性能可编程芯片,其内部电路功能是可编程的(Progra_able),可以通过硬件描述语言(Hardware Description Language,简称HDL)和专用设计工具,在其内部灵活地实现极其复杂的电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。但是FPGA器件由于掉电后配置数据会丢失,所以在使用之前需要对FPGA先进行配置。FPGA的配置涉及产品调试阶段的配置和产品量产阶段的配置。而采用SOC的产品的设计不仅涉及软件还涉及硬件,因此,产品调试阶段不仅要进行软件调试还要进行硬件调试。在硬件调试过程中进行FPGA配置时,如图I所示,PC通过USB转JTAG方式将硬件信息配置到FPGA中,硬件设计如果需要修改,修改编译后可以很方便的通过JTAG下载到FPGA中进行验证,便于调试。这种方法一般FPGA厂商都会提供,USB转JTAG的工具FPGA厂商一般也会提供。但是,每次软件调试时,需要硬件人员先将代码下载到FPGA中,然后才能开始软件调试。如果在软件调试的过程中不小心掉电,那么需要硬件人员重新对FPGA配置一次,这样无形中增加了硬件开发人员的很多开销,也增加了软件开发人员的工作量,导致产品调试操作繁琐,也增加了时间成本。并且,这样的SOC由于没有存储FPGA的配置信息,当掉电时,FPGA配置的数据会全部丢失,因此不能作为成品直接进入量产阶段。为了解决上述问题,在SOC上额外增加了外部存储器,用来存储FPGA的配置信息。如图2所示,SOC启动时,首先从外部存储器中将配置信息读取出来,配置到FPGA中,然后FPGA进行操作。当产品掉电重新启动时,CPLD或者FPGA可以从外部存储器里面将需要的FPGA的配置信息读取出来,因此该SOC可用于量产阶段。但是,SOC多了外部存储器,使得SOC成本增加。并且,FPGA的配置信息需要烧写到外部存储器,或者需要设计额外的模块配置到外部存储器中,导致硬件设计的工作量增加,进一步增加了产品的成本。还有一种配置方法如图3所示,将配置信息通过JTAG直接配置到FPGA,或者将配置信息通过CPLD存储到外部存储器中。当SOC重新加电时,CPLD或者FPGA主动从外部存储器中读取配置信息,并进行配置。当有新的配置信息的时候,通过JTAG将原先的配置信息覆盖。这样既便于下载,又可以解决产品的实际产品应用中的FPGA配置问题,但缺点仍然是增加了外部存储器,增加了产品的成本。另一种配置方法是将硬件配置信息 保存在嵌入式系统的外部存储器中,并通过软件的方式将外部存储器中的配置信息配置到FPGA中。如图4所示,CPU模拟FPGA的配置时序,将硬件信息配置到FPGA中。这种技术方案不需要额外增加存储器件,减少了产品的成本,既可以用于产品开发调试,又可以用于实际产品。但是,由于FPGA配置信息与嵌入式系统共用外部存储器,在产品的开发调试阶段硬件设计人员必须求助软件设计人员将硬件配置信息文件放到软件系统中,重新编译下载到SOC的板子上,然后硬件设计人员才能调试。上述片上系统及FPGA的配置方法中,软件调试时需要硬件配置人员先对所有的FPGA进行配置,然后再软件调试,当片上系统掉电时,还需要硬件调试人员再次介入,对所有的FPGA进行配置,不利于软件开发调试与硬件开发调试的分工作业,导致产品开发时间长及成本的增加。且硬件调试中对FPGA的配置通过外部存储器件或JTAG对片上系统中所有的FPGA进行配置,当其中某一 FPGA的配置失败或失效,则需要再次对所有的FPGA进行配置,进一步降低了调试效率,增加了产品的成本。

发明内容
本发明提供一种片上系统及片上系统的硬件可编程器件的配置方法,用于解决现有片上系统开发调试成本较高的问题。本发明提供的一种片上系统,包括中央处理器、软件存储器、软件下载及调试接口、硬件可编程器件、硬件配置单元及硬件配置信息下载接口,所述中央处理器与所述软件存储器、软件下载及调试接口、及硬件配置单元相连,所述硬件可编程器件与所述硬件配置单元及硬件配置信息下载接口相连,其中,还包括与所述中央处理器相连的硬件配置管理单元,所述硬件配置管理单元用于生成指示所述中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理器从所述软件存储器中读取所述对应的硬件可编程器件的配置信息,并对所述对应的硬件可编程器件进行配置。本发明提供的一种片上系统的硬件可编程器件的配置方法,包括根据软硬件的调试需求生成指示中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理单元从软件存储器中读取所述对应的硬件可编程器件的配置信息,并对所述对应的硬件可编程器件进行配置。本发明提供的片上系统及片上系统的硬件可编程器件的配置方法,不仅保证了产品开发调试阶段软硬工作的清楚划分,而且避免了不必要的FPGA的重复配置,提高了产品调试的效率,降低了片上系统的开发调试成本,也满足了产品量产阶段的FPGA的配置需求。


图I为现有技术中在硬件调试过程中进行FPGA配置的示意图;图2为现有技术中通过外部存储器进行FPGA配置的示意图;图3为现有技术中另一种硬件配置方法示意图;图4为现有技术中又一种硬件配置方法示意图;图5为本发明实施例提供的一种片上系统的结构示意图;图6为本发明实施例提供的另一种片上系统的结构示意图;图7为本发明实施例提供的片上系统软件开发调试阶段的FPGA配置流程图;图8为本发明实施例提供的片上系统硬件开发调试阶段的FPGA配置流程图;图9为本发明实施例提供的片上系统在产品量产阶段的FPGA配置流程图。
具体实施例方式图5为本发明实施例提供的一种片上系统的结构示意图。如图5所示,片上系统包括中央处理器51、软件存储器52、软件下载及调试接口 53、硬件可编程器件54、硬件配置单元55、硬件配置信息下载接口 56及硬件配置管理单元57。所述中央处理器51与所述软件存储器52、软件下载及调试接口 53、硬件配置单元55及硬件配置管理单元57相连。中央处理器51可将软件下载及调试接口 53下载的软件数据存储到软件存储器52中。中央处理器51运行后从软件存储器52中读取软件数据实现产品功能。中央处理器51还可将软件存储器52中的硬件配置信息通过硬件配置单元55配置到硬件可编程器件54。所述硬件可编程器件54可为现场可编程门阵列(FPGA),与所述硬件配置单元55及硬件配置信息下载接口 56相连,也就是说,硬件可编程器件54既可由硬件配置单元55进行配置,也可由硬件配置信息下载接口 56下载的配置信息直接进行配置。所述硬件配置管理单元57用于生成指示所述中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理器51从所述软件存储器52中读取述对应的硬件可编程器件的配置信息,并对对应的硬件可编程器件进行配置。如,所述硬件配置管理单元57可为与所述硬件可编程器件数量相同的控制器件,所述控制器件与所述中央处理器51的通用输入输出口(General Purpose Input/Output,GPI0)相连。该控制器件可为跳线、开关按键之类的功能器件。硬件配置管理单元57中跳线的数量与硬件可编程器件54的数量相同,跳线与硬件可编程器件54 —一对应,可通过跳线的“开”状态如置I或“关”状态如置0,控制中央处理器51是否从软件存储器52读取对应的硬件可编程器件的配置信息,并对对应的硬件可编程器件进行配置。如当跳线设置为I时,控制中央处理器51从软件存储器52读取对应的硬件可编程器件的配置信息,并对对应的硬件可编程器件进行配置。本发明实施例提供的片上系统还可包括与所述中央处理器51相连的配置指示单元,用于显示所述硬件可编程器件的配置结果。所述配置指示单元可为发光二极管(LED)灯组,与所述中央处理器51的GPIO相
连。、
上述硬件可编程器件54为现场可编程门阵列(FPGA),硬件配置单元55可为CPLD,硬件配置信息下载接口 56为JTAG(Joint Test Action Group ;联合测试行动小组)。上述软件存储器52可为Nflash (NAND Flash)、硬盘等,软件下载及调试接口 53可为串口、并口等。本领域技术人员应理解为片上系统还应设置有存储启动软件的闪存等片上系统的基本功能单元,由于不是本发明的重点,这里不再赘述。本实施例中,片上系统通过硬件配置管理单元控制所述中央处理器选择是否从所述软件存储器读取配置信息,并对所述硬件可编程器件进行配置,使得软件开发调试时无需从硬件配置信息下载接口如JTAG进行配置,而完全可以通过已有的软件存储器如NfIash读取配置信息对硬件可编程器件进行配置,无需另外配置存储器专门来存储硬件配置信息,不仅节约了存储成本,而且避免了硬件开发调试人员的参与;并且硬件开发调试时,对于某一个或某些配置失败的硬件可编程器件,可通过设置硬件配置管理单元,使得中 央处理器执行应用初始化时从软件存储器中读取该一个或该些配置失败的硬件可编程器件的配置信息,并对该一个或该些配置失败的硬件可编程器件进行配置,而无需软件开发调试人员的参与便可从软件存储器对硬件可编程器件进行重新配置,不仅保证了产品开发调试阶段软硬工作的清楚划分,而且避免了不必要的FPGA的重复配置,提高了产品调试的效率,也满足了产品量产阶段的FPGA的配置需求。图6为本发明实施例提供的另一种片上系统的结构示意图。本实施例中,硬件可编程器件为FPGA,硬件配置单元为CPLD,硬件配置信息下载接口为JTAG,软件下载及调试接口为串口,软件存储器为Nf lash。如图6所示,片上系统包括CPU 61、Nflash 62、串口 63、硬件可编程器件64、CPLD65、JTAG 66、硬件配置管理单元67、硬件配置指示单元68及Norflash 69。其中,CPU 61是片上系统的主处理器,片上系统的功能都是在CPU 61的控制下实现的,在产品的开发调试阶段和量产阶段都必不可少。串口 63是软件开发人员在PC上通过超级终端实现软件下载和调试的接口,在软件调试中不可少,在产品量产的时候可选。JTAG 66为FPGA的配置信息的下载接口。硬件设计人员通过PC的FPGA开发软件,将FPGA的配置信息通过USB转JTAG控制器下载到JTAG66,再通过JTAG 66下载到FPGA。JTAG 66在硬件调试时必不可少,在产品量产的时候不需要。硬件配置管理单元67是连接在CPU 61的GPIO的一组跳线跳线O、跳线I、...跳线n。通过软件读取跳线的数值0或I将软件开发调试和硬件开发调试分开,在开发调试阶段必不可少,在产品量产阶段可选。在系统启动之前首先要设置跳线,然后复位启动,启动的过程中,系统会根据读取到的数值来判断是否从Nflash中读取配置数据,这里以两片FPGA为例进行说明,数值的含义如表I所示。表I跳线数值的含义
权利要求
1.一种片上系统,其特征在于,包括中央处理器、软件存储器、软件下载及调试接口、硬件可编程器件、硬件配置单元及硬件配置信息下载接口,所述中央处理器与所述软件存储器、软件下载及调试接口、及硬件配置单元相连,所述硬件可编程器件与所述硬件配置单元及硬件配置信息下载接口相连,还包括与所述中央处理器相连的硬件配置管理单元,所述硬件配置管理单元用于生成指示所述中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理器从所述软件存储器中读取所述对应的硬件可编程器件的配置信息,并对所述对应的硬件可编程器件进行配置。
2.根据权利要求I所述的片上系统,其特征在于,所述硬件配置管理单元为与所述硬件可编程器件数量相同的控制器件,所述控制器件与所述中央处理器的通用输入输出口相连。
3.根据权利要求I或2所述的片上系统,其特征在于,还包括与所述中央处理器相连的配置指示单元,用于显示所述硬件可编程器件的配置结果。
4.根据权利要求3所述的片上系统,其特征在于,所述配置指示单元为发光二极管灯组,与所述中央处理器的通用输入输出口相连。
5.根据权利要求I或2所述的片上系统,其特征在于,所述硬件可编程器件为现场可编程门阵列,所述硬件配置单元为CPLD,所述硬件配置信息下载接口为JTAG。
6.根据权利要求I或2所述的片上系统,其特征在于,所述软件存储器为Nflash,所述软件下载及调试接口为串口。
7.根据权利要求2所述的片上系统,其特征在于,所述控制器件为跳线、开关或按键。
8.一种片上系统的硬件可编程器件的配置方法,其特征在于,包括 根据软硬件的调试需求生成指示中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理单元从软件存储器中读取所述对应的硬件可编程器件的配置信息,并对所述对应的硬件可编程器件进行配置。
9.根据权利要求8所述的片上系统的硬件可编程器件的配置方法,其特征在于,还包括 显示所述硬件可编程器件的配置结果。
全文摘要
本发明提供一种片上系统及片上系统的硬件可编程器件的配置方法,片上系统,包括中央处理器、软件存储器、软件下载及调试接口、硬件可编程器件、硬件配置单元及硬件配置信息下载接口,所述中央处理器与所述软件存储器、软件下载及调试接口、及硬件配置单元相连,所述硬件可编程器件与所述硬件配置单元及硬件配置信息下载接口相连,其中,还包括与所述中央处理器相连的硬件配置管理单元,所述硬件配置管理单元用于生成指示所述中央处理器配置对应的硬件可编程器件的控制信号,控制所述中央处理器从所述软件存储器中读取所述对应的硬件可编程器件的配置信息,并对所述对应的硬件可编程器件进行配置。
文档编号G06F9/44GK102662645SQ20121005130
公开日2012年9月12日 申请日期2012年3月1日 优先权日2012年3月1日
发明者王法翔 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1