CN111352025B - 一种fpga中配置控制器验证方法、系统及设备 - Google Patents

一种fpga中配置控制器验证方法、系统及设备 Download PDF

Info

Publication number
CN111352025B
CN111352025B CN202010177042.8A CN202010177042A CN111352025B CN 111352025 B CN111352025 B CN 111352025B CN 202010177042 A CN202010177042 A CN 202010177042A CN 111352025 B CN111352025 B CN 111352025B
Authority
CN
China
Prior art keywords
code stream
configuration
verification
cyclic redundancy
redundancy check
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
Application number
CN202010177042.8A
Other languages
English (en)
Other versions
CN111352025A (zh
Inventor
高晓倩
王潘丰
崔运东
王海力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hercules Microelectronics Co ltd
Original Assignee
Hercules Microelectronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hercules Microelectronics Co ltd filed Critical Hercules Microelectronics Co ltd
Priority to CN202010177042.8A priority Critical patent/CN111352025B/zh
Publication of CN111352025A publication Critical patent/CN111352025A/zh
Application granted granted Critical
Publication of CN111352025B publication Critical patent/CN111352025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31702Testing digital circuits including elements other than semiconductor transistors, e.g. biochips, nanofabrics, mems, chips with magnetic elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一种FPGA中配置控制器验证方法、系统及设备,将FPGA中配置控制器的验证分为两个阶段,首先对根据FPGA配置信息生成的第一码流进行修改,利用修改后的第二码流对配置控制器进行第一验证;第一验证通过后,再利用第一码流进行第二验证,单独验证循环冗余校验使能后是否正确。由于修改在第二码流的码流结构中形成循环冗余校验不使能,与第一码流相比,缩短了码流长度,利用修改过的第二码流同样可以将配置控制器各个功能验证到,保证验证的完整性;另外,由于缩短了码流的长度,在多次验证过程中,使得整体验证时间大大缩短。

Description

一种FPGA中配置控制器验证方法、系统及设备
技术领域
本发明涉及集成电路测试技术领域,具体涉及一种FPGA中配置控制器验证方法、系统及设备。
背景技术
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
开发FPGA芯片时,验证配置控制器是关键,配置控制器就是FPGA的心脏,只有配置控制器验证正确,其他模块才能验证。
目前,验证FPGA中配置控制器用到的验证码流都是软件自动生成的码流,设计人员所验证的配置控制器都带着FPGA内部模块;如果FPGA内部资源量大,就会使得验证时间增加,验证FPGA其他模块就会滞后。
发明内容
本发明实施例的目的在于提供一种FPGA中配置控制器验证方法、系统及设备,用于解决目前FPGA内部资源量大导致的FPGA中配置控制器验证时间增加的技术问题。
为了实现本发明的目的,本发明所采用的技术方案为:
第一方面,本发明提供了一种FPGA中配置控制器验证方法,所述方法包括:采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;对所述第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;向所述配置控制器中送入所述第二码流和采样模式脚,进行第一验证,在所述第一验证中,旁路循环冗余校验;及当所述第一验证通过后,向所述配置控制器中送入所述第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确。
进一步地,在向所述配置控制器中送入所述第二码流和采样模式脚之前,所述方法还包括:完成上电;待所述配置控制器内配置寄存器清空后接收第一清空标志信号。
进一步地,在向所述配置控制器中送入所述第一码流和采样模式脚之前,所述方法还包括:完成上电;待所述配置控制器内配置寄存器清空后接收第二清空标志信号。
优选地,所述第一码流包括具有完整验证功能码流结构的全码流,所述全码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段、循环冗余校验字段和完成加载第一配置链组结束信号字段。
进一步地,所述全码流经修改后生成的第二码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、旁路循环冗余校验字段、加载由第一配置数据缩短码流后形成的第二配置数据字段和完成加载第二配置链组结束信号字段。
进一步地,所述第一验证包括:根据所述采样模式脚的M赋值识别FPGA配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;验证码流位宽,被动配置模式下,根据空字判断码流位宽;主动配置模式下,自动略过空字验证;验证初始帧同步字,在主动配置模式下,根据fls_sel赋值验证S-flash的传输模式;根据Cpr_en赋值验证压缩使能;在主动配置模式下,验证初始帧后面的比特流长度;根据设置配置寄存器值字段的芯片ID验证器件ID;旁路循环冗余校验;验证加载第二配置数据;启动完成加载第二配置链组结束信号。
进一步地,其中,所述压缩使能利用由所述具有完整验证功能码流结构的全码流修改后生成的第二码流进行验证。
进一步地,所述第二验证包括:根据所述采样模式脚的M赋值识别FPGA配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;依次运行第一码流的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段;验证循环冗余校验使能后是否正确;循环冗余校验使能后验证通过,启动完成加载第一配置链组结束信号。
第二方面,本发明还提供了一种FPGA中配置控制器验证系统,所述系统包括:上电模块,用于给外部控制器和配置控制器上电;外部控制器,用于采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;对所述第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;向所述配置控制器中送入所述第二码流和采样模式脚,进行第一验证,在所述第一验证中,旁路循环冗余校验;及当所述第一验证通过后,向所述配置控制器中送入所述第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确。
第三方面,本发明还提供了一种FPGA中配置控制器验证设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上所述任一项所述的方法。
与现有技术相比,本发明实施例将FPGA中配置控制器的验证分为两个阶段,首先对根据FPGA配置信息生成的第一码流进行修改,利用修改后的第二码流对配置控制器进行第一验证;第一验证通过后,再利用第一码流进行第二验证,单独验证循环冗余校验使能后是否正确。由于修改在第二码流的码流结构中形成循环冗余校验不使能,与第一码流相比,缩短了码流长度,利用修改过的第二码流同样可以将配置控制器各个功能验证到,保证验证的完整性;另外,由于缩短了码流的长度,在多次验证过程中,使得整体验证时间大大缩短。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:
图1为本发明实施例公开的一种FPGA中配置控制器验证系统结构示意图;
图2为本发明实施例公开的一种FPGA中配置控制器验证方法的流程示意图;
图3为本发明实施例公开的全码流的码流结构的示意图;
图4为本发明实施例公开的全码流经修改后生成的第二码流的码流结构的示意图;
图5为本发明实施例公开的码流中的配置链帧地址结构和相应数据结构的示意图;
图6为本发明实施例公开的一种FPGA中配置控制器验证方法中的第一验证的流程示意图;
图7为本发明实施例公开的一种FPGA中配置控制器验证方法中的第二验证的流程示意图;
图8为本发明实施例公开的16个word的码流的示意图;
图9(a)至图9(c)分别为本发明实施例公开的图8中所示的1bit位宽、8bit位宽及16bit位宽码流的示意图;
图10为本发明实施例公开的初始帧同步字字段的结构示意图;
图11为本发明实施例公开的设置配置寄存器值字段的结构示意图;
图12为本发明实施例公开的加载第二配置数据字段的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本发明的主旨在于:在FPGA内部资源量大的情况下,保证配置控制器功能验证完整性的前提下,修改码流,缩短配置控制器验证时间。
为了解决上述技术问题,如图1所示,本发明实施例公开了一种FPGA中配置控制器验证系统,其包括:上电模块01和外部控制器02。
进一步地,上电模块01用于给外部控制器和配置控制器03上电;外部控制器02用于采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;对第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;向配置控制器03中送入第二码流和采样模式脚,进行第一验证,在第一验证中,旁路循环冗余校验;及当第一验证通过后,向配置控制器03中送入第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确。
上文描述的循环冗余校验(Cyclic Redundancy Check,CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。
与上述公开的一种FPGA中配置控制器验证系统相对应,本发明实施例还公开了一种FPGA中配置控制器验证方法。以下结合上述描述的一种FPGA中配置控制器验证系统详细介绍本发明实施例中公开的一种FPGA中配置控制器验证方法。
参考图1和图2,本发明提供的一种FPGA中配置控制器验证方法包括:上电模块01给外部控制器02和配置控制器03上电;外部控制器02采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;对第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;上电完成后,配置控制器03内配置寄存器自动清空内部存储器之后,INIT信号拉高,拉高的INIT信号作为第一清空标志信号反馈给外部控制器02,外部控制器02接收到第一清空标志信号向配置控制器中送入第二码流和采样模式脚,进行第一验证,在所述第一验证中,旁路循环冗余校验;及当第一验证通过后,配置控制器03会将INIT信号拉高,此时拉高的INIT信号作为启动完成加载第二配置链组结束信号反馈给外部控制器02,外部控制器02收到启动完成加载第二配置链组结束信号,会向配置控制器03发送第二验证请求,同样需要为配置控制器03完成上电,配置控制器03内配置寄存器会再次自动清空内部存储器之后,INIT信号拉高,此时拉高的INIT信号作为第二清空标志信号反馈给外部控制器02,外部控制器02接收到第二清空标志信号向配置控制器03中送入第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确。
本发明实施例将FPGA中配置控制器的验证分为两个阶段,首先对根据FPGA配置信息生成的第一码流进行修改,利用修改后的第二码流对配置控制器进行第一验证;第一验证通过后,再利用第一码流进行第二验证,单独验证循环冗余校验使能后是否正确。由于修改在第二码流的码流结构中形成循环冗余校验不使能,与第一码流相比,缩短了码流长度,利用修改过的第二码流同样可以将配置控制器各个功能验证到,保证验证的完整性;另外,由于缩短了码流的长度,在多次验证过程中,使得整体验证时间大大缩短。
本发明实施例中,第一码流是根据FPGA配置信息生成的,可以是具有完整验证功能码流结构的全码流,此时可以对配置控制器实现全功能验证,另外,也可以根据FPGA配置信息实现针对配置控制器的某些功能进行验证,此时,第一码流仅具有部分验证功能码流结构。参考图3,示出了一个全码流的码流结构的例子,其包括:依次排列的空字(dummyword)字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段、循环冗余校验字段和完成加载第一配置链组结束信号字段,其中,写2860320个word码流数据、写码流数据第0…写码流数据第2860319为加载第一配置数据字段,其中,word代表码流字段的单位或数据长度单位或比特流长度(bitstream)单位,本发明实施例中,1word=32bit。参考图4,示出了上述全码流经修改后生成的第二码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、旁路循环冗余校验字段、加载由第一配置数据缩短码流后形成的第二配置数据字段和完成加载第二配置链组结束信号字段,其中,写32个word码流数据、写码流数据第0…写码流数据第31为加载第二配置数据字段。
可见,修改后的第二码流没有循环冗余校验使能,码流长度明显缩短,加载第二配置数据字段与加载第一配置数据字段相比,由写2860320个word码流数据变为写32个word码流数据。此时如果继续对第二码流验证循环冗余校验使能是否正确,就会出错,因此,在本发明实施例中,利用第二码流时,旁路循环冗余校验,先验证配置控制器的除循环冗余校验外的其他功能;在其他功能验证完成后,再单独利用包含循环冗余校验字段的第一码流验证循环冗余校验使能后是否正确。既不影响配置控制器各个功能的验证,又缩短了验证时间。
上述码流长度的缩短主要在于配置数据的修改。第一码流中的配置数据由软件根据FPGA配置信息自动生成,会有各个配置链的配置信息,比如GCLK、IO、DSP等配置信息,这些配置信息在对验证配置控制器时是没用的,不过为了保证配置控制器配置完整性和验证帧地址电路功能是否正确,所以会保留5-6帧或者更少都可以。参考图5,示出了本发明实施例公开的码流中的配置链帧地址结构和相应数据结构;当length大于1时,如果INCR为0,则输出地址保持不变,如果INCR为1,则输出地址顺次加4。图5中的ADDR便是每一条配置链都有的特定唯一的地址,比如GBUF_0=32’h51700a14;如果,本身软件生成第一码流的length=23`d6,假设修改后的第二码流中只想保留2个32bit码流,则将length改为23`d2;其余配置链码流要么全部删除,要么仅保留一少部分。这样,尤其在FPGA内部资源量非常大时,有效地加快了配置控制器模的验证。
参考图1和图6,本发明实施例中,以下对第一验证具体进行详细介绍。
配置控制器03接收到采样模式脚,根据采样模式脚的M赋值识别FPGA配置模式,判断外部控制器02发出的码流是选择哪种配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;其中,主动配置模式(Active Serial,AS),由FPGA器件引导配置操作过程,它控制着外部存储器和初始化该过程;被动配置模式(Passive Serial,PS),由外部计算机或控制器控制配置过程。
上面识别出外部控制器02发出的码流的配置模式后,就可以通过空字字段验证码流位宽,空字(dummy word)就是因为位宽长度选择而存在。具体地,如果是M=1,为被动配置模式,则根据空字(dummy word)判断码流位宽,如图8所示,示出了一个本发明实施例公开的16个word的码流,码流位宽是用户通过软件设置的,不同位宽的码流会生成不同的空字(dummy word)。具体地,参考图9(a)至图9(c),如何判断出图8中示出的16个word的码流的位宽是1bit、8bit,还是16bit,具体描述如下:如图8所示,标记msb一侧为码流的低位,通过采样码流的低位进行判断被动配置模式下码流位宽是多少。在图9(a)至图9(c)中,数据是从上至下、从左至右传入,如果是1bit位宽码流,如图9(a)所示,每进来1bit数据则保留住,只能保留32bit数据,如果满32bit数据则旧数据就会自动被覆盖,直到16个word数据进来完毕,重新计数,如果最终保留的数据是fff0fff0,其中,f=1111,0=0000,则判断为1bit位宽。同理,如果是8bit位宽码流,如图9(b)所示,则每进来8bit数据,则保留最低位,直到16个word数据进来完毕之后,因此,如果最终保留的数据是aaaaaaaa,其中,a=1010,则判断为8bit位宽。同理,如果是16bit位宽码流,如图9(c)所示,每进来16bit数据,保留低位,直到16个word数据进来完毕,如果保留数据是00000000,其中,则判断为16bit位宽。如果M=0,即主动配置模式,主动配置模式下,自动略过空字(dummy word)验证。主动配置模式下,码流位宽就是1bit,因此,此时不需要判别位宽长度。
参考图10,示出了本发明实施例公开的初始帧同步字字段的结构,由于该同步字字段只出现于主动配置模式和被动配置模式下码流的初始帧(start frame),因此称为初始帧同步字字段。图10中示出的初始帧同步字字段包括两个word的码流字段,在图10中分别记为word0和word1,验证初始帧同步字具体如下所述:在主动配置模式下,根据word0的fls_sel赋值验证S-flash的传输模式,因为fls_sel赋值,在主动配置模式下,用以选择S-flash的传输模式,具体地,fls_sel赋值为00:表示使用1bit码流,fls_sel赋值为01:表示使用2bit码流,fls_sel赋值为10:表示使用4bit码流;根据word0的Cpr_en赋值验证压缩使能,并且压缩使能需要利用由具有完整验证功能码流结构的全码流修改后生成的第二码流进行验证,具体地,Cpr_en赋值为0,表示未压缩比特流(bitstream),Cpr_en赋值为1,表示压缩比特流(bitstream);在主动配置模式下,验证初始帧后面的比特流长度,具体地,在图10中的Word1中,Bitstream length表示初始帧(start frame)后面的比特流(bitstream)长度,以word(32bit)计算。主动配置模式下,需要根据Bitstream length这个长度进行配置,该长度不包含初始帧(start frame)本身,因此,在主动配置模式下,利用Word1中Bitstream length验证初始帧后面的比特流长度。
参考图11,示出了本发明实施例公开的设置配置寄存器值字段的结构,图11中示出的设置配置寄存器值字段包括三个word的码流字段,在图11中分别记为word0、word1和word2,在图11中的Word0中,0xAA是一个同步字,位于每一个帧的开始;图11中的Word1没有具体功能,图11中的Word2表示芯片ID(chip ID),帧解码器在任何新的配置控制器开始时都会对收到的第一个帧(frame)的数据(data)字段进行判断,如果芯片ID不等于器件ID(device ID),则判断错误,此时配置控制器会停止配置,直至芯片ID重置发生。器件ID(device ID)的值是一个常数,用于区分不同的芯片(chip),按公司产品序列设定。图11中Word2字段的[15:14]bit在Id帧(frame)中取什么值都没有关系,在芯片内部,这2bit码流将被efuse的输出来替换,用来区分同一芯片(chip)的LUT大小(LUT size)。因此,本发明实施例中根据设置配置寄存器值字段的芯片ID验证器件ID,如果芯片ID不等于器件ID,则验证错误,停止配置控制器的验证,直至芯片ID重置发生。
本发明实施例中,旁路循环冗余校验字段同样包括三个word的码流字段,分别记为word0、word1和word2,如下所示:
word0:aa000000
Word1:51700124
Word2:00000000
其中,Word0是帧头,word1是旁路循环冗余校验寄存器地址,word2是旁路循环冗余校验值,此时,word2中的旁路循环冗余校验值为全零值,说明循环冗余校验不使能,在第一验证中,旁路循环冗余校验。
理论上,加载第二配置数据对所有地址空间进行配置。配置链是由若干个帧(frame)组成的,如图12所示,示出了本发明实施例公开的加载第二配置数据字段的结构,以下对验证加载第二配置数据详细介绍。其中,0xAA是每个帧的帧头,便于硬件识别,防止错误的数据输入,位于第一个word的高8bit;Inc为加1操作指令,位于第一个word的bit23。如果Inc的值为1,表示如果这是一个burst操作(数据大于1个word),则第一个word地址为帧(frame)中的addr字段,后面的数据(date)对应的地址会累加(每个word加4),这种设置适用于对连续的地址空间进行burst写入,例如SRAM。如果Inc的值为0,表示如果这是一个burst操作(数据大于1个word),则后面的数据对应的地址不会累加,将采用帧(frame)中addr字段,这种设置适用于对单一地址进行连续的数据写入,例如cfg_chain。length表示该帧(frame)后面携带的数据长度,以word计。length=word数–1,因此,当length为0时,表示单操作,共23bit。addr表示该帧(frame)操作地址,共32bit。data0~n表示该帧(frame)的写数据,该字段以word为单位,数据量取决于length的值,因此,本发明实施例中能够,修改第一码流时,需要在length上改数据,将软件生成的第一码流的length改小,或将不用的配置链直接删除。
当第一验证通过后,配置控制器03会启动完成加载第二配置链组结束信号,完成加载第二配置链组结束信号字段同样包括三个word的码流字段,分别记为word0、word1和word2,如下所示:
word0:aa000000
Word1:5170000c
Word2:00000001
其中,Word0是帧头,word1是结束第二配置链配置地址,word2是结束第二配置链配置值,说明第二配置链配置完毕,将DONE信号拉高,作为启动完成加载第二配置链组结束信号。
参考图1和图7,本发明实施例中,以下对第二验证具体进行详细介绍。
同样地,配置控制器03接收到采样模式脚,根据所述采样模式脚的M赋值识别FPGA配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;由于第一验证中以对除循环冗余校验外的各个功能验证通过,因此,第二验证中仅需依次运行第一码流的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段;之后,验证循环冗余校验使能后是否正确,本发明实施例中,循环冗余校验字段包括三个word的码流字段,分别记为word0、word1和word2,如下所示:
word0:aa000000
Word1:51700124
Word2:00000003
与旁路循环冗余校验字段相比,只有word2是的值有差别,说明循环冗余校验使能;循环冗余校验使能后验证通过,再次将DONE信号拉高,启动完成加载第二配置链组结束信号。
另外,本发明还提供了一种FPGA中配置控制器验证设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上所述任一项所述的方法。
与现有技术相比,可以将配置控制器各个功能验证到,保证验证的完整性;另外,由于缩短了码流的长度,在多次验证过程中,使得整体验证时间大大缩短,提高了配置控制器的验证效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种FPGA中配置控制器验证方法,其特征在于,所述方法包括:
采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;
对所述第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;
向所述配置控制器中送入所述第二码流和采样模式脚,进行第一验证,在所述第一验证中,旁路循环冗余校验;及
当所述第一验证通过后,向所述配置控制器中送入所述第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确;
所述第一码流包括具有完整验证功能码流结构的全码流,所述全码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段、循环冗余校验字段和完成加载第一配置链组结束信号字段;
所述全码流经修改后生成的第二码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、旁路循环冗余校验字段、加载由第一配置数据缩短码流后形成的第二配置数据字段和完成加载第二配置链组结束信号字段。
2.如权利要求1所述一种FPGA中配置控制器验证方法,其特征在于,在向所述配置控制器中送入所述第二码流和采样模式脚之前,所述方法还包括:
完成上电;
待所述配置控制器内配置寄存器清空后接收第一清空标志信号。
3.如权利要求2所述一种FPGA中配置控制器验证方法,其特征在于,在向所述配置控制器中送入所述第一码流和采样模式脚之前,所述方法还包括:
完成上电;
待所述配置控制器内配置寄存器清空后接收第二清空标志信号。
4.如权利要求1所述一种FPGA中配置控制器验证方法,其特征在于,所述第一验证包括:
根据所述采样模式脚的M赋值识别FPGA配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;
验证码流位宽,被动配置模式下,根据空字判断码流位宽;主动配置模式下,自动略过空字验证;
验证初始帧同步字,在主动配置模式下,根据fls_sel赋值验证S-flash的传输模式;根据Cpr_en赋值验证压缩使能;在主动配置模式下,验证初始帧后面的比特流长度;
根据设置配置寄存器值字段的芯片ID验证器件ID;
旁路循环冗余校验;
验证加载第二配置数据;
启动完成加载第二配置链组结束信号。
5.如权利要求4所述一种FPGA中配置控制器验证方法,其特征在于,所述压缩使能利用由所述具有完整验证功能码流结构的全码流修改后生成的第二码流进行验证。
6.如权利要求1所述一种FPGA中配置控制器验证方法,其特征在于,所述第二验证包括:
根据所述采样模式脚的M赋值识别FPGA配置模式,M赋值为0时,为主动配置模式,M赋值为1时,为被动配置模式;
依次运行第一码流的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段;
验证循环冗余校验使能后是否正确;
循环冗余校验使能后验证通过,启动完成加载第一配置链组结束信号。
7.一种FPGA中配置控制器验证系统,其特征在于,所述系统包括:
上电模块,用于给外部控制器和配置控制器上电;
外部控制器,用于采集FPGA配置信息并生成包含循环冗余校验字段的第一码流;对所述第一码流进行修改,在码流结构中修改循环冗余校验赋值,形成循环冗余校验不使能,并缩短码流长度,生成第二码流;向所述配置控制器中送入所述第二码流和采样模式脚,进行第一验证,在所述第一验证中,旁路循环冗余校验;及当所述第一验证通过后,向所述配置控制器中送入所述第一码流和采样模式脚,进行第二验证,单独验证循环冗余校验使能后是否正确;
所述第一码流包括具有完整验证功能码流结构的全码流,所述全码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、加载第一配置数据字段、循环冗余校验字段和完成加载第一配置链组结束信号字段;
所述全码流经修改后生成的第二码流的码流结构包括:依次排列的空字字段、初始帧同步字字段、设置配置寄存器值字段、旁路循环冗余校验字段、加载由第一配置数据缩短码流后形成的第二配置数据字段和完成加载第二配置链组结束信号字段。
8.一种FPGA中配置控制器验证设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1至6任一项所述的方法。
CN202010177042.8A 2020-03-13 2020-03-13 一种fpga中配置控制器验证方法、系统及设备 Active CN111352025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010177042.8A CN111352025B (zh) 2020-03-13 2020-03-13 一种fpga中配置控制器验证方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010177042.8A CN111352025B (zh) 2020-03-13 2020-03-13 一种fpga中配置控制器验证方法、系统及设备

Publications (2)

Publication Number Publication Date
CN111352025A CN111352025A (zh) 2020-06-30
CN111352025B true CN111352025B (zh) 2020-12-11

Family

ID=71192765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010177042.8A Active CN111352025B (zh) 2020-03-13 2020-03-13 一种fpga中配置控制器验证方法、系统及设备

Country Status (1)

Country Link
CN (1) CN111352025B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808343A (zh) * 2009-02-13 2010-08-18 上海摩波彼克半导体有限公司 Arm数字基带芯片中sim/usim卡控制器自动化测试电路结构及方法
CN102201267A (zh) * 2010-03-26 2011-09-28 上海摩波彼克半导体有限公司 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法
CN103631738A (zh) * 2013-08-15 2014-03-12 中国科学院电子学研究所 一种片外配置和回读fpga装置
CN104132663A (zh) * 2014-05-27 2014-11-05 北京遥测技术研究所 一种基于fpga的导航计算机协处理器
CN104340170A (zh) * 2013-08-02 2015-02-11 上海汽车集团股份有限公司 混合动力车辆的防盗验证方法以及防盗验证系统
CN106502932A (zh) * 2016-09-20 2017-03-15 中国科学院自动化研究所 基于分层结构的片间互联接口及其写操作和读操作的方法
CN108027610A (zh) * 2015-09-07 2018-05-11 捷豹路虎有限公司 用于验证控制器的准确度的验证模块

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777489A (en) * 1995-10-13 1998-07-07 Mentor Graphics Corporation Field programmable gate array with integrated debugging facilities
CN101951387A (zh) * 2010-09-30 2011-01-19 海信集团有限公司 流媒体传输方法及装置
CN102143023B (zh) * 2011-03-24 2013-12-04 索尔思光电(成都)有限公司 一种基于fpga的误码测试系统
US10101389B2 (en) * 2015-01-27 2018-10-16 Mediatek Inc. Power configuration verification of power-management system
CN105760250B (zh) * 2016-02-04 2018-11-06 北京时代民芯科技有限公司 一种具有码流纠检错功能的单粒子加固fpga配置电路
CN106291336B (zh) * 2016-07-15 2019-10-25 上海华岭集成电路技术股份有限公司 一种fpga测试配置码流实时下载方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808343A (zh) * 2009-02-13 2010-08-18 上海摩波彼克半导体有限公司 Arm数字基带芯片中sim/usim卡控制器自动化测试电路结构及方法
CN102201267A (zh) * 2010-03-26 2011-09-28 上海摩波彼克半导体有限公司 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法
CN104340170A (zh) * 2013-08-02 2015-02-11 上海汽车集团股份有限公司 混合动力车辆的防盗验证方法以及防盗验证系统
CN103631738A (zh) * 2013-08-15 2014-03-12 中国科学院电子学研究所 一种片外配置和回读fpga装置
CN104132663A (zh) * 2014-05-27 2014-11-05 北京遥测技术研究所 一种基于fpga的导航计算机协处理器
CN108027610A (zh) * 2015-09-07 2018-05-11 捷豹路虎有限公司 用于验证控制器的准确度的验证模块
CN106502932A (zh) * 2016-09-20 2017-03-15 中国科学院自动化研究所 基于分层结构的片间互联接口及其写操作和读操作的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"USB主机控制器端串行接口引擎IP的实现";武甲东;《微电子学与计算机》;20051231;全文 *
"Verifying parallel dataflow transformations with model checking and its application to FPGAs";Robert Stewart;《Journal of Systems Architecture》;20191231;全文 *

Also Published As

Publication number Publication date
CN111352025A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
US8190950B2 (en) Dynamic column redundancy replacement
US7055035B2 (en) Method for generating a read only memory image
CN106406935A (zh) 一种蓝牙芯片ota升级的方法和蓝牙芯片
US8074130B2 (en) Test apparatus
KR20000050784A (ko) 부호분할다중접속 통신시스템의 데이터 통신 장치 및 방법
US20070179733A1 (en) Methods and apparatus for testing a link between chips
CN114443175B (zh) 一种用于弹载fpga在线升级的启动配置方法
US8151136B2 (en) Method and device for correcting code data error
CN111352025B (zh) 一种fpga中配置控制器验证方法、系统及设备
US7769966B2 (en) Apparatus and method for judging validity of transfer data
US7350134B2 (en) Method and apparatus of reloading erroneous configuration data frames during configuration of programmable logic devices
CN113946361A (zh) 一种芯片fpga静态全局升级重构方法、系统、设备及其介质
US7577894B2 (en) Apparatus and method for judging the legitimacy of transfer data
CN113676795B (zh) 基于gpon路由器的bosa自动校准及数据存储系统
CN112181444B (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN104506931B (zh) 一种支持cam卡在线升级的方法及系统
CN108093258A (zh) 码流数据的解码方法、计算机装置及计算机可读存储介质
JP2007184922A (ja) パケットプリアンブル検索方法及びその装置
US20040068689A1 (en) Method and apparatus for CRC size reduction
CN112882731A (zh) 嵌入式软件升级方法和装置
US20020186775A1 (en) Method and circuitry for processing data
CN113454935B (zh) 一种线路编码方法及装置
US20040078675A1 (en) Device testing interface and method
CN117632193B (zh) 一种用于处理器芯片的程序烧录系统
CN112445659A (zh) 一种多协议高速serdes测试实现方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant