基于现场可编程门阵列实现的单板系统的制作方法

文档序号:6531762阅读:187来源:国知局
基于现场可编程门阵列实现的单板系统的制作方法
【专利摘要】本实用新型公开了基于现场可编程门阵列实现的单板系统,该单板系统包括一片闪存FLASH芯片、一片主现场可编程门阵列FPGA和至少一片从FPGA芯片;所述FLASH芯片与主FPGA芯片连接,存储主FPGA芯片和从FPGA芯片的配置程序;主FPGA芯片与FLASH芯片连接,还与从FPGA芯片连接,主FPGA芯片从FLASH芯片中读取从FLASH芯片的配置程序,发送给相应从FPGA芯片;从FPGA芯片与主FPGA芯片连接,接收主FPGA芯片发送的配置程序,运行配置程序。本实用新型方案能够简化设计的复杂度,节省成本,且提高配置的工作频率。
【专利说明】基于现场可编程门阵列实现的单板系统
【技术领域】
[0001]本实用新型涉及单板技术,尤其涉及基于现场可编程门阵列实现的单板系统。
【背景技术】
[0002]不同厂商提供的现场可编程门阵列(FPGA, Field-Programmable Gate Array)芯片各不相同,包括xilinx、altera、lattice以及actel等公司的FPGA芯片。
[0003]实际应用时,单板系统常由多块FPGA芯片构成;在单板系统中,常需要对各FPGA芯片进行配置。配置,指对FPGA芯片进行二进制文件编程的过程;具体地,各FPGA芯片需要获取相应的配置二进制文件,运行,以完成程序配置;所述配置二进制文件,也称为配置程序,是相应FPGA芯片实现自身功能需要运行的程序。
[0004]参见图1,为现有技术基于FPGA实现的单板系统,该单板系统包括两片以上的FPGA芯片和两片以上的FLASH芯片,每个FPGA芯片与各自的FLASH芯片连接。图1的实例中,包含两片FPGA芯片和两片FLASH芯片,两片FPGA芯片分别为:Xilinx公司的FPGA芯片,为图中的FPGA芯片0,lattice公司的FPGA芯片,为图中的FPGA芯片I ;FPGA芯片O对应的配置程序存储在FLASH芯片O中,上电后,FPGA芯片O从FLASH芯片O中读取配置程序,并运行;FPGA芯片I对应的配置程序存储在FLASH芯片I中,上电后,FPGA芯片I从FLASH芯片I中读取配置程序,并运行。
[0005]图1的单板系统结构存在如下缺陷:
[0006]单板系统中常包括多个不同厂商的FPGA芯片,随着厂商数目增多,所需要的FLASH芯片数量会增加;在单板系统中配置的FLASH芯片数量增多,导致电路面积增大,硬件成本相对提高。
[0007]为了减小电路面积,目前出现了图2所示的单板系统,该单板系统仅采用了一片FLASH芯片,还包括一片CPU芯片和至少一片从FPGA芯片;所述FLASH芯片与CPU芯片连接,存储各从FPGA芯片的配置程序;CPU芯片与FLASH芯片连接,还与各从FPGA芯片连接,主FPGA芯片从FLASH芯片中读取各从FLASH芯片的配置程序,发送给相应从FPGA芯片;从FPGA芯片接收主CPU芯片发送的配置程序,运行配置程序。其中的CPU芯片具体如单片机、ARM或DSP芯片。
[0008]图2所示单板系统采用CPU芯片与FPGA芯片的混合设计,将CPU芯片的应用程序和FPGA芯片的配置程序都存储在一片FLASH芯片中;图中示出了 3片FPGA芯片,分别是厂商1、2和3的FPGA芯片。上电后CPU芯片配置自身的配置程序,然后CPU芯片通过配置程序从FLASH芯片读取关于FPGA芯片的配置程序,发送给各FPGA芯片,实现多片FPGA芯片的程序配置。
[0009]图2的单板系统结构存在如下缺陷:
[0010]在实际应用中,某些通讯以及视频领域,单板系统没有CPU芯片,如果仅为了实现图2的程序配置方案,需要在单板系统中增加CPU芯片;这增加了设计的复杂度和硬件成本;并且,CPU芯片与FPGA芯片之间交互采用通用输入输出(GPIO,General Purpose Input Output)管脚来模拟FPGA电路时序,其工作频率较低。

【发明内容】

[0011]本实用新型提供了一种基于现场可编程门阵列实现的单板系统,该系统能够简化设计的复杂度,节省成本,且提高配置的工作频率。
[0012]一种基于现场可编程门阵列实现的单板系统,该单板系统包括一片闪存FLASH芯片、一片FPGA和至少一片从FPGA芯片;所述FLASH芯片与主FPGA芯片连接,存储主FPGA芯片和从FPGA芯片的配置程序;主FPGA芯片与FLASH芯片连接,还与从FPGA芯片连接,主FPGA芯片从FLASH芯片中读取从FLASH芯片的配置程序,发送给相应从FPGA芯片;从FPGA芯片与主FPGA芯片连接,接收主FPGA芯片发送的配置程序,运行配置程序。
[0013]从上述方案可以看出,本实用新型中,单板系统包括一片FLASH芯片、主FPGA和至少一片从FPGA芯片。本实用新型只设置一片FLASH芯片,并且,由其中的一片FPGA芯片完成从FPGA芯片的程序配置,这样,无需另外设置CPU芯片,进而,简化了设计的复杂度,也节省成本;并且,主FPGA芯片与从FPGA芯片之间的交互采用FPGA实现电路时序,基于FPGA实现的电路时序具有高频率的特点,进而提高了配置的工作频率,降低了 FPGA的配置时间。
【专利附图】

【附图说明】
[0014]图1为现有技术基于FPGA实现的单板系统结构示意图实例一;
[0015]图2为现有技术基于FPGA实现的单板系统结构示意图实例二 ;
[0016]图3为本实用新型基于FPGA实现的单板系统结构示意图;
[0017]图4为图3中FLASH芯片存储的数据示意图;
[0018]图5为图3中从片FPGA配置逻辑器的结构不意图实例一;
[0019]图6为图3中从片FPGA配置逻辑器的结构示意图实例二。
【具体实施方式】
[0020]为使本实用新型的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本实用新型进一步详细说明。
[0021]本实用新型的单板系统中,只设置一片FLASH芯片,并且,由其中的一片FPGA芯片完成其他FPGA芯片的程序配置,无需另外设置CPU芯片。参见图3,为实用新型基于FPGA实现的单板系统结构示意图,该单板系统包括一片FLASH芯片、主现场可编程门阵列FPGA和至少一片从FPGA芯片;所述FLASH芯片与主FPGA芯片连接,存储主FPGA芯片和从FPGA芯片的配置程序;主FPGA芯片与FLASH芯片连接,还与从FPGA芯片连接,主FPGA芯片从FLASH芯片中读取从FLASH芯片的配置程序,发送给相应从FPGA芯片;从FPGA芯片与主FPGA芯片连接,接收主FPGA芯片发送的配置程序,运行配置程序。图中从FPGA芯片具体为厂商O至厂商η的FPGA芯片。
[0022]本使用新型采用混合配置,使单板系统采用一块FLASH芯片实现。混合配置,在本实用新型中指将关于不同厂商FPGA芯片的配置二进制文件分区存放在同一个FLASH芯片中,通过读取不同区域,获取关于不同厂商FPGA芯片的配置二进制文件,以完成FPGA芯片的程序配置;所述二进制文件,也即是前述的配置程序。参见图4,为FLASH芯片存储的数据示意图实例,FLASH芯片中依次存储了主FPGA芯片和从FPGA芯片O至从FPGA芯片η的配置程序。图4中,把主FPGA芯片的配置程序二进制文件烧写在FLASH芯片的程序区,从FPGA芯片的配置二进制文件依次烧写在FLASH芯片的数据区。
[0023]较佳地,所述主FPGA芯片包括从FLASH芯片中读取自身的配置程序并运行配置程序的主片处理逻辑器,还包括从FLASH芯片中读取从FLASH芯片的配置程序并发送给相应从FPGA芯片的从片FPGA配置逻辑器。主FPGA芯片包含FPGA系统设计,FPGA系统中包括主片处理逻辑器和从片FPGA配置逻辑器;从片FPGA配置逻辑器用于实现从片FPGA配置逻辑,主片处理逻辑器用于实现系统开发的其他功能所用,为除了实现从片FPGA配置的其他功能,包括主片自身功能。图中主片处理逻辑器和从片FPGA配置逻辑器两个框图对比的目的,是体现实现从片FPGA的配置功能仅使用主FPGA芯片内部少量资源,体现了设计的优势。主FPGA芯片中的专用加载管脚与FLASH芯片的4线信号连接,开始时将主FPGA芯片中的主片FPGA配置模式管脚设置为主串SPI模式,主串SPI模式表示用于对主片FGPA进行配置;从片FPGA配置逻辑器与FLASH芯片连接,用于读取从FLASH芯片的配置程序并发送给相应从FPGA芯片。系统上电后,主FPGA芯片通过专用加载管脚,读取FLASH芯片中的关于主FPGA芯片的配置程序,完成本片配置文件配置,运行配置文件;主FPGA芯片配置成功后,主FPGA芯片与FLASH芯片相连接的专用加载管脚转可以当着普通管脚使用,也就是不再用于配置程序的读取,并开始采用从片FPGA配置逻辑器从FLASH芯片读取从FLASH芯片的配置程序,实现从FPGA芯片的配置功能。
[0024]本实用新型中,主FPGA芯片可以是单板系统中的任何一家厂商的FPGA芯片,进行单板设计时,可根据管脚占有、资源使用以及芯片性能等综合因素进行评估,以选择较佳的主FPGA芯片厂商。主FPGA芯片连接一片FLASH芯片,根据主FPGA芯片选择的配置模式,把FLASH芯片的数据信号和控制信号与主FPGA芯片的配置专用管脚进行连接。从FPGA芯片根据选择的配置模式,把对应的专用配置管脚连接至主FPGA芯片的普通IO管脚上;在主FPGA芯片开发一个从FPGA芯片的配置系统,即图中的从片FPGA配置逻辑器,以实现所有从FPGA芯片的程序配置。从FPGA芯片可以根据需要选择不同厂商的FPGA芯片,并根据开发系统需求,灵活选择FPGA芯片数目。图中主片处理逻辑器根据单板系统应用需求进行开发。
[0025]图3中的从片FPGA配置逻辑器,其实现结构有多种方式,下面结合图5和6进行实例说明。
[0026]参见图5,为本实用新型基于FPGA实现的单板系统结构示意图实例一,该从片FPGA配置逻辑器包括:按照顺序确定进行配置的指定从FPGA芯片的配置系统控制器,从FLASH芯片中读取关于指定从FPGA芯片的配置程序后写入数据缓存区的FLASH读控制器,对配置程序进行缓存的数据缓存区,从数据缓存区读取关于指定从FPGA芯片的配置程序的配置控制器,还包括从配置控制器获取关于指定从FPGA芯片的配置程序并发送给相应从FPGA芯片的片选器;本实例中,数据缓存区具体采用先进先出(FIFO,First In FirstOut)存储器;
[0027]配置系统控制器与FLASH读控制器连接,还与配置控制器和片选器连接;配置系统控制器按照顺序确定进行配置的指定从FPGA芯片,将指定从FPGA芯片发送给片选器和配置控制器,将指定从FPGA芯片对应的数据地址发送给FLASH读控制器;[0028]FLASH读控制器与配置系统控制器和数据缓存区连接,还与FLASH芯片连接;FLASH读控制器按照接收的数据地址,从FLASH芯片中的读取配置程序,写入数据缓存区;
[0029]数据缓存区与FLASH读控制器和配置控制器连接,将FLASH读控制器写入的配置程序发送给配置控制器;
[0030]配置控制器与配置系统控制器,还与数据缓存区连接;接收来自配置系统控制器的指定从FPGA芯片,从数据缓存区读取关于指定从FPGA芯片的配置程序,发送给片选器;
[0031]片选器与从FPGA芯片连接,还与配置系统控制器和配置控制器连接,接收来自配置系统控制器的指定从FPGA芯片,接收来自配置控制器的关于指定从FPGA芯片的配置程序,发送给与指定从FPGA芯片对应的从FPGA芯片。
[0032]数据缓存区还可用于调整FLASH读控制器的数据速率与配置控制器之间的数据
速率差。
[0033]图中,粗的箭头线表示数据信号线,用于进行数据传输,细的箭头线表示控制信号线,用于进行控制信息号的传输。
[0034]配置系统控制器按照顺序确定进行配置的指定从FPGA芯片,该顺序例如为从厂商O至厂商η的顺序依次排列。配置系统控制器按照顺序确定进行配置的指定从FPGA芯片后,将指定从FPGA芯片发送给片选器,将指定从FPGA芯片对应的数据地址发送给FLASH读控制器JgSWFPGA芯片对应的数据地址,可具体采用起始地址加读数据长度的方式确定,相应地,配置系统控制器负责确定各从FPGA芯片配置程序的起始地址以及读数据长度,使得FLASH读控制器把指定区域的数据读取出来。顺序配置是指多个从FPGA芯片共用一个配置控制器,依次完成各从FPGA芯片的系统配置。
[0035]通常,FLASH芯片的工作频率高达IOOMHz以上,根据FLASH芯片类型,可以选择并行数据读取或串行数据读取两种方式中一种。而FPGA芯片配置频率最高仅为33MHz,通常硬件设计选择从串模式(SCM,Slave Serial Mode)的配置模式较多,因此FALSH芯片读数据速率高于FPGA芯片配置速率至少3倍以上。从串模式,即从模式下的FPGA串行配置。为了缩短单板系统上电的配置时间,可以选择从FPGA芯片同时配置的方法,但是逻辑资源会相对增加,即图6所示的配置实例。对于上电配置时间要求不是很苛刻的系统,可以选择多个从FPGA芯片顺序配置的方法实现,即图5采用的配置实例。
[0036]参见图6,为本实用新型基于FPGA实现的单板系统结构示意图实例二,该从片FPGA配置逻辑器包括=FLASH读控制器、配置系统控制器、至少一个数据缓存区和至少一个配置控制器,每个配置控制器与一个从FPGA芯片连接,每个配置控制器还与一个数据缓存区连接,每个数据缓存区与FLASH控制器连接;本实例中,数据缓存区具体采用FIFO存储器;
[0037]配置系统控制器与FLASH读控制器连接,还与配置控制器连接;配置系统控制器按照突发数据长度确定各从FPGA芯片对应的数据地址,轮流将确定的关于所有从FPGA芯片的读取信息依次发送给FLASH读控制器,读取信息包括数据地址及相应的指定从FPGA芯片,并将与当前进行读取的指定从FPGA芯片对应的控制信号发送给配置控制器;
[0038]FLASH读控制器与配置系统控制器连接,还与FLASH芯片和每个数据缓存区连接;FLASH读控制器按照接收的数据地址,从FLASH芯片中读取配置程序,写入与指定从FPGA芯片对应的数据缓存区;[0039]数据缓存区与FLASH读控制器和配置控制器连接,将FLASH读控制器写入的配置程序发送给配置控制器;
[0040]配置控制器与数据缓存区连接,还与配置系统控制器和相应的从FPGA芯片连接;接收来自配置系统控制器的控制信号,从相连的数据缓存区读取配置程序,发送给相连的从FPGA芯片。
[0041]突发数据长度可根据设置,例如为800字节,也就是以800字节为单位,依次轮流将各从FPGA芯片的配置程序读取后发送给相应的从FPGA芯片。
[0042]图中,粗的箭头线表示数据信号线,用于进行数据传输,细的箭头线表示控制信号线,用于进行控制信息号的传输。
[0043]图6为同时配置的实例。同时配置,即FALSH读控制器采用分时复用的方式把各从FPGA芯片的配置文件从FLASH芯片读取出来,依次轮流地向N个(N为从FPGA芯片的数目)FIF0存储器中写入定长数据包,每个从FPGA芯片使用独自的配置控制器读取FIFO存储器中的配置程序,发送给相应的从片,完成各自从FPGA芯片的程序配置。FLASH读控制器负责依次按照突发数据长度从相应从片地址中读取数据写入对应编号的FIFO存储器中,FIFO存储器中写入的数据是按照顺序依次轮流写入,直到数据区所有程序数据读取完成为止;配置系统控制器配置N个从FPGA芯片的起始地址及读数据包的突发长度;n AFIFO存储器缓存各自从FPGA芯片的配置程序。
[0044]将本实用新型图5和图6的设计方案,应用在5片不同厂商类型的FPGA芯片上进行了验证;5片FPGA芯片包括4片从FPGA芯片和I片主FPGA芯片,主FPGA芯片型号为xilinx Spartan-6XC6SLX100 ;从FPGA芯片型号为3片lattice器件ECP-3LFE3-17EA-6FTN256C、1 片 xilinx 器件 Spartan_6XC6SLX100 ;FLASH 芯片为华邦W25Q128。主FPGA芯片选择主串模式,从FPGA芯片选择SCM配置模式。配置系统综合资源报告如表1所不。
[0045]
【权利要求】
1.一种基于现场可编程门阵列实现的单板系统,其特征在于,该单板系统包括一片闪存FLASH芯片、一片主FPGA和至少一片从FPGA芯片;所述FLASH芯片与主FPGA芯片连接,存储主FPGA芯片和从FPGA芯片的配置程序;主FPGA芯片与FLASH芯片连接,还与从FPGA芯片连接,主FPGA芯片从FLASH芯片中读取从FLASH芯片的配置程序,发送给相应从FPGA芯片;从FPGA芯片与主FPGA芯片连接,接收主FPGA芯片发送的配置程序,运行配置程序。
2.如权利要求1所述的单板系统,其特征在于,所述主FPGA芯片包括从FLASH芯片中读取自身的配置程序并运行配置程序的主片处理逻辑器,还包括从FLASH芯片中读取从FLASH芯片的配置程序并发送给相应从FPGA芯片的从片FPGA配置逻辑器。
3.如权利要求2所述的单板系统,其特征在于,所述从片FPGA配置逻辑器包括:按照顺序确定进行配置的指定从FPGA芯片的配置系统控制器,从FLASH芯片中读取关于指定从FPGA芯片的配置程序后写入数据缓存区的FLASH读控制器,对配置程序进行缓存的数据缓存区,从数据缓存区读取关于指定从FPGA芯片的配置程序的配置控制器,还包括从配置控制器获取关于指定从FPGA芯片的配置程序并发送给相应从FPGA芯片的片选器; 配置系统控制器与FLASH读控制器连接,还与配置控制器和片选器连接;配置系统控制器按照顺序确定进行配置的指定从FPGA芯片,将指定从FPGA芯片发送给片选器和配置控制器,将指定从FPGA芯片对应的数据地址发送给FLASH读控制器; FLASH读控制器与配置系统控制器和数据缓存区连接,还与FLASH芯片连接;FLASH读控制器按照接收的数据地址,从FLASH芯片中的读取配置程序,写入数据缓存区; 数据缓存区与FLASH读控制器和配置控制器连接,将FLASH读控制器写入的配置程序发送给配置控制器; 配置控制器与配置系统控制器连接,还与数据缓存区连接;接收来自配置系统控制器的指定从FPGA芯片,从数据缓存区读取关于指定从FPGA芯片的配置程序,发送给片选器; 片选器与从FPGA芯片连接,还与配置系统控制器和配置控制器连接,接收来自配置系统控制器的指定从FPGA芯片,接收来自配置控制器的关于指定从FPGA芯片的配置程序,发送给与指定从FPGA芯片对应的从FPGA芯片。
4.如权利要求2所述的单板系统,其特征在于,所述从片FPGA配置逻辑器包括=FLASH读控制器、配置系统控制器、至少一个数据缓存区和至少一个配置控制器,每个配置控制器与一个从FPGA芯片连接,每个配置控制器还与一个数据缓存区连接,每个数据缓存区与FLASH控制器连接; 配置系统控制器与FLASH读控制器连接,还与配置控制器连接;配置系统控制器按照突发数据长度确定各从FPGA芯片对应的数据地址,轮流将确定的关于所有从FPGA芯片的读取信息依次发送给FLASH读控制器,读取信息包括数据地址及相应的指定从FPGA芯片,并将与当前进行读取的指定从FPGA芯片对应的控制信号发送给配置控制器; FLASH读控制器与配置系统控制器连接,还与FLASH芯片和每个数据缓存区连接;FLASH读控制器按照接收的数据地址,从FLASH芯片中读取配置程序,写入与指定从FPGA芯片对应的数据缓存区; 数据缓存区与FLASH读控制器和配置控制器连接,将FLASH读控制器写入的配置程序发送给配置控制器; 配置控制器与数据缓存区连接,还与配置系统控制器和相应的从FPGA芯片连接;接收来自配置系统控制器的控制信号,从相连的数据缓存区读取配置程序,发送给相连的从FPGA芯片。
【文档编号】G06F9/445GK203689503SQ201320817379
【公开日】2014年7月2日 申请日期:2013年12月11日 优先权日:2013年12月11日
【发明者】李桦林, 李清俊, 徐宁 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1