CN110515891A - 一种fpga芯片及其配置方法 - Google Patents
一种fpga芯片及其配置方法 Download PDFInfo
- Publication number
- CN110515891A CN110515891A CN201911003376.7A CN201911003376A CN110515891A CN 110515891 A CN110515891 A CN 110515891A CN 201911003376 A CN201911003376 A CN 201911003376A CN 110515891 A CN110515891 A CN 110515891A
- Authority
- CN
- China
- Prior art keywords
- kernel
- configuration information
- address
- module
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种FPGA芯片及其配置方法,所述FPGA芯片的配置方法包括:在FPGA芯片上电时,接收用户配置信息,并将所述用户配置信息转换成初始化配置信息;所述FPGA芯片中包含至少一个IP核;根据所述初始化配置信息进行数据总线编址,生成第一IP核配置信息;在检测到所述IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。本发明实现了FPGA芯片配置的灵活性和可控制性,并降低了成本。
Description
技术领域
本发明涉及FPGA技术,尤其涉及一种FPGA芯片及其配置方法。
背景技术
目前,随着电子技术的发展,用户对于产品的硬件的性能要求越来越高,在产品的研发过程中对于芯片要求也越来越复杂。FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片是以硬件描述语言所完成的电路设计,FPGA芯片是现代芯片设计验证的技术主流,且用于执行配置流程的配置系统是FPGA芯片不可缺少的一部分,在现有技术中,FPGA芯片的初始化配置流程通常是通过低速配置通道统一将信息加载到FPGA芯片的寄存器,该方案的不足之处在于:初始化配置流程中,IP核(Intelligent Property,具有固定的拓扑布局和具体工艺,并已经过工艺验证的知识产权模块)的配置顺序被固定,因此,在配置过程中必须根据配置顺序进行配置,因此对数据配置的配置顺序造成限制(在配置之前需要首先对待配置数据进行排序);此外,由于对不同IP核的访问方式不同,可能会导致待配置数据发生变更,进而导致待配置数据与最终配置到的IP核造成冲突。再者,由于越来越多的FPGA芯片的IP核在执行初始化配置流程之外,还需要执行动态配置流程,但FPGA芯片现有的低速配置及寄存器的访问方式难以支持动态配置流程中的动态更新,现有技术中通常通过增加IP核对应的寄存器,或者大幅度增加传统配置通道的方式来解决上述动态更新问题,如此使得FPGA芯片的电路设计的复杂性明显增加也极大地增加了芯片成本。
发明内容
本发明提供一种FPGA芯片及其配置方法,实现了FPGA芯片配置的灵活性和可控制性,并降低了成本。
所述FPGA芯片包括初始化配置转换模块、通用并行总线路由模块和至少一个可编程逻辑模块,一个所述可编程逻辑模块中包含一个IP核。
一种FPGA芯片的配置方法,包括:
在FPGA芯片上电时,所述初始化配置转换模块接收用户配置信息,初始化配置转换模块并将所述用户配置信息转换成初始化配置信息;所述FPGA芯片中包含至少一个IP核;
所述通用并行总线路由模块根据所述初始化配置信息进行数据总线编址,所述通用并行总线路由模块生成第一IP核配置信息;所述第一IP核配置信息包括至少一个第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址;
所述可编程逻辑模块在检测到所述IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,所述可编程逻辑模块读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,所述可编程逻辑模块并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
一种FPGA芯片,包括:
初始化配置转换模块、通用并行总线路由模块和至少一个可编程逻辑模块;一个所述可编程逻辑模块中包含一个IP核;
所述初始化配置转换模块用于在所述FPGA芯片上电时,接收用户配置信息,并在将所述用户配置信息转换成初始化配置信息之后,将所述初始化配置信息输出至所述通用并行总线路由模块;
所述通用并行总线路由模块用于根据所述初始化配置信息进行数据总线编址,生成第一IP核配置信息;所述第一IP核配置信息包括与所述可编程逻辑模块的数量相等的第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址;
所述可编程逻辑模块用于在检测到所述可编程逻辑模块中的IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
本发明FPGA芯片及其配置方法,在FPGA芯片上电时,接收用户配置信息,并将所述用户配置信息转换成初始化配置信息;所述FPGA芯片中包含至少一个IP核;根据所述初始化配置信息进行数据总线编址,生成第一IP核配置信息;在检测到所述IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
本发明的初始化配置流程中的配置顺序不会被固定,而是可以在接收到任意顺序的用户配置信息之后,将接收到的该用户配置信息转换成统一的初始化配置信息,并通过对该初始化配置信息进行数据总线编址之后,将数据总线编址之后的与该初始化配置信息对应的第一IP核配置信息中的第一IP核数据,写入与目标IP核地址对应IP核的寄存器中,如此,该用户配置信息(对应于转换之后的第一IP核数据)会被自动配置到与其对应的IP核中,而无需限制其配置顺序,实现了FPGA芯片配置的灵活性;同时,在将第一IP核数据写入IP核的寄存器中时,由于是根据第一IP核地址与目标IP核地址的匹配关系写入,因此该写入过程不会受到IP核的访问方式不同的干扰,如此,实现了FPGA芯片配置的可控制性,降低了芯片成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中FPGA芯片的原理框图;
图2是本发明另一实施例中FPGA芯片的原理框图;
图3是本发明又一实施例中FPGA芯片的原理框图;
图4是本发明一实施例中FPGA芯片的初始化配置转换模块的原理框图;
图5是本发明一实施例中FPGA芯片配置方法的流程图;
图6是本发明另一实施例中FPGA芯片配置方法的流程图;
图7是本发明一实施例中FPGA芯片配置方法的步骤S10流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1及图4所示,本发明提供一种FPGA芯片1的配置方法,实现了FPGA芯片1配置的灵活性和可控制性,并降低了成本。该FPGA芯片1的配置方法可应用在FPGA芯片1中。所述FPGA芯片1包括初始化配置转换模块11、通用并行总线路由模块12和至少一个可编程逻辑模块13,一个所述可编程逻辑模块中包含一个IP核131,所述FPGA芯片1的配置方法包括以下步骤S10-S30:
S10,在FPGA芯片1上电时,所述初始化配置转换模块11接收用户配置信息,所述初始化配置转换模块11并将所述用户配置信息转换成初始化配置信息;所述FPGA芯片1中包含至少一个IP核131。
其中,所述IP核131可以为IP软核或者IP硬核,作为优选,IP核131为IP硬核,所述用户配置信息为用户对所述FPGA芯片1的所述所有IP核131进行初始化配置的信息,所述用户配置信息可通过图6中所示的配置信息接口15传输,其中,所述配置信息接口15的连接方式可以根据需求设定,比如,设定所述配置信息接口15为标准的JTAG连接方式的接口,且该接口包括以下接口线:模式选择线(TMS,Test Mode Selection Input)、时钟线(TCK,TestClock Input)、数据输入线(TDI,Test Data Input)和数据输出线(TDO,Test DataOutput),所述用户配置信息通过数据输入线传输给所述FPGA芯片1。通过以上接口的选择和接口线的配置,使得连接方式具有多样性,满足了用户的多元需求。且该步骤中的初始化配置流程中的用户配置信息转换为初始化配置信息的顺序不会被固定,可以在接收到任意顺序的用户配置信息之后,将接收到的该用户配置信息转换成统一的初始化配置信息,实现了FPGA芯片1配置的灵活性。
S20,所述通用并行总线路由模块12根据所述初始化配置信息进行数据总线编址,所述通用并行总线路由模块12生成第一IP核配置信息;所述第一IP核配置信息包括至少一个第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址。
其中,所述总线编址,是使用统一地址编址方式和总线格式对数据进行处理,在根据初始化配置信息进行数据总线编址时,初始化配置信息的配置顺序不会被固定,而是可以在接收到任意顺序的初始化配置信息之后,将接收到的该初始化配置信息进行数据总线编址;也即,该步骤中提供自定义顺序配置的方式,进一步实现了FPGA芯片1配置的灵活性。具体地,使用统一地址编址方式和总线格式对数据进行处理,可以包括如下过程:将所述初始化配置信息统一为总共16位数据(位数可以根据需求设定),格式(可以根据需求并基于上述位数设定)为低12位(低12位也即第0至11位)确定为配置数据和高4位(第12至15位)确定为地址,而且传输顺序可以包括但不限定于按照地址由低至高的固定顺序进行传输。在该实施例中,所述第一IP核配置信息包括了所有所述IP核131的第一IP核地址和第一IP核数据,例如:使用上述地址位的最高4位(第12至15位)确定对应第1个IP核131至第16个IP核131的第一IP核地址,即0000对应第1个IP核131的第一IP核地址,如此类推,1111对应第16个IP核131的第一IP核地址。
以上步骤中,一个所述第一IP核地址关联对应一个所述第一IP核配置数据,在将第一IP核数据写入IP核131的寄存器1311中时,由于是根据第一IP核地址与目标IP核地址的匹配关系写入,统一了将第一IP核数据写入各个IP核131的传输信息方式,且该写入过程不会受到IP核131的访问方式不同的干扰,降低了IP核131的配置冲突,实现了FPGA芯片1配置的可控制性。
S30,所述可编程逻辑模块13在检测到所述IP核131的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,所述可编程逻辑模块13读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,所述可编程逻辑模块13并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核131的寄存器1311中。
可理解地,每一个IP核131都有该IP核131地址和该IP核131的寄存器1311,截取第一IP核配置信息中与所述IP核131的目标IP核地址相匹配的所述第一IP核数据,并将读取的所述第一IP核数据写入对应IP核131的寄存器1311中,例如:所初始化配置信息统一为16位数据,格式为低12位(第0至11位)确定为配置数据和高4位(第12至15位)确定为地址,其中定义0000对应第1个IP核131的IP核地址,0001对应第2个IP核131的IP核地址,……,1111对应第16个IP核131的IP核地址,如果第一IP核配置信息中有数据为0001101110101110,就将读取的101110101110写入第2个IP核131的寄存器1311中。如此类推,读取所有所述第一IP核数据分别写入对应所述IP核131的寄存器1311中,完成所述FPGA芯片1的初始化配置流程。
本发明的初始化配置流程中的配置顺序不会被固定,而是可以在接收到任意顺序的用户配置信息之后,将接收到的该用户配置信息转换成统一的初始化配置信息,并通过对该初始化配置信息进行数据总线编址之后,将数据总线编址之后的与该初始化配置信息对应的第一IP核配置信息中的第一IP核数据,写入与目标IP核地址对应IP核131的寄存器1311中,如此,该用户配置信息(对应于转换之后的第一IP核数据)会被自动配置到与其对应的IP核131中,而无需限制其配置顺序,实现了FPGA芯片1配置的灵活性;同时,在将第一IP核数据写入IP核131的寄存器1311中时,由于是根据第一IP核地址与目标IP核地址的匹配关系写入,因此该写入过程不会受到IP核131的访问方式不同的干扰,如此,实现了FPGA芯片1配置的可控制性,降低了芯片成本。
在一实施例中,如图7所示,所述初始化配置转换模块11包括选择单元21、转换单元22、输出单元23,所述将所述用户配置信息转换成初始化配置信息,包括:
S101,所述选择单元21根据与所述用户配置信息的信息类型对应的读取方式读取所述用户配置信息;其中,所述用户配置信息存在不同的信息类型,例如上述JTAG连接方式下会存在字节传输模式和位传输模式两种信息类型,选择与不同信息类型相应的读取方式才能够读取正确的所述用户配置信息,避免读取错误信息。所述用户配置信息包含有IP核地址(对应于转换之后的第一IP核地址)和IP核配置数据(对应于转换之后的第一IP核配置数据)。
S102,所述转换单元22将读取的所述用户配置信息的格式转换成地址数据格式;可理解地,读取出来的所述用户配置信息是由多段二进制数据串组成,将所述多段二进制数据串转换成地址数据格式数据串,例如:读取出多个8位数据串,并将8位数据串中除与IP核地址和IP核配置数据相关的数据删除之后,拼接为56(并不限定于为56位,而是根据删除之后剩余的数据的位数决定)位数据串。
S103,所述输出单元23将转换成地址数据格式的所述用户配置信息通过异步FIFO的方式输出为所述初始化配置信息。
其中,FIFO (First Input First Output,先入先出队列)是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。异步FIFO,为数据由某一个时钟域的控制信息写入FIFO存储器,而由另一个时钟域的控制信息将数据读出FIFO存储器。例如:将所述地址数据格式的所述用户配置信息按输入时钟为100MHz写入至FIFO存储器,输出时钟为90MHz从FIFO存储器中读出数据,此时输出的为所述初始化配置信息。此处进行异步FIFO转换,是为了将不同的时钟域转换成预设要求的时钟域,方便后续数据进行统一时钟域处理。
在另一实施例中,如图2及图5所示,所述可编程逻辑模块13并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核131的寄存器1311中之后,包括:
S40,所述通用并行总线路由模块12在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,所述通用并行总线路由模块12生成第二IP核配置信息;所述第二IP核配置信息包括至少一个第二IP核数据以及与各所述第二IP核数据关联的第二IP核地址。
其中,所述并口更新配置信息包括需更新的IP核131的配置信息,可理解地,在检测到所述并口更新配置信息输入时,对所述并口更新配置信息进行数据总线编址处理,生成第二IP核配置信息,开始执行动态配置流程(也即配置所述并口更新配置信息的过程),例如:将并口更新配置信息统一为总共16位数据,格式为低12位(第0至11位)确定为配置数据和高4位(第12至15位)确定为地址,其中定义0000对应第1个IP核131的IP核地址,0001对应第2个IP核131的IP核地址,……,1111对应第16个IP核131的IP核地址,如果用户只需要对第2个IP核131的寄存器1311进行更新为111100100010,那么所述第二IP核配置信息就只有0001111100100010数据。且该步骤中的动态配置流程中若同时接收到多个并口更新配置信息,则接收到的各所述并口更新配置信息进行数据总线编址的顺序不会被固定,可以在接收到任意顺序的并口更新配置信息之后,对接收到的该并口更新配置信息进行数据总线编址,实现了FPGA芯片1配置的灵活性。
S50,所述可编程逻辑模块13在检测到所述IP核131的目标IP核地址与所述第二IP核配置信息中的第二IP核地址匹配时,读取与所述第二IP核地址匹配的所述第二IP核配置信息中的所述第二IP核数据,并将读取的所述第二IP核数据写入与所述目标IP核地址对应IP核131的寄存器1311中。
在该步骤中,读取所述第二IP核数据分别写入对应所述IP核131的寄存器1311中,覆盖原寄存器1311存储的数据(第一IP核数据),完成所述IP核131的配置更新。例如:上述如果第二IP核配置信息中数据为0001111100100010,就将读取的111100100010写入第2个IP核131的寄存器1311中,完成了所述FPGA芯片1的动态配置流程。该实施例支持FPGA芯片1的动态配置流程,可以实现FPGA芯片1的IP核131中IP核数据的动态更新(将第一IP核配置信息替换为第二IP核配置信息)且在所述FPGA芯片1的初始化配置流程和动态配置流程中,所述每个IP核131都共同使用与之相对应的一个寄存器1311,节省了芯片的额外存储单元,减少了芯片成本。
在一实施例中,如3及图6所示,所述FPGA芯片1还包括串并转换接口模块14,所述通用并行总线路由模块12在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息之前,包括:
S401,所述串并转换接口模块14定时或实时扫描串口信息接口16,在所述串口信息接口16存在串口信息输入时,将所述串口信息转换成并口更新配置信息。
其中,所述定时或实时扫描的方式包括但不限于设计定时器计数程序监测串口信息接口16的串口信息,在串口信息接口16有串口信息输入时触发中断服务程序,之后将所述串口信息转换成并口更新配置信息。所述串口信息接口16提供串口通信方式,通过串口信息输入转换成并口信息输入的设计,能够减少了所述FPGA芯片1的引脚使用,充分利用所述FPGA芯片1的引脚资源。
在另一实施例中,如图6所示,所述通用并行总线路由模块12在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息之前,还包括:
S402,所述通用并行总线路由模块12定时或实时扫描并口信息接口17,在所述并口信息接口17存在并口更新配置信息输入时,确认检测到所述并口更新配置信息。
其中,所述定时或实时扫描的方式包括但不限于设计定时器计数程序监测并口信息接口17的并口信息,在并口信息接口17有并口信息输入时触发中断服务程序,之后将所述串口信息转换成并口更新配置信息。所述并口信息接口17提供并口通信方式,对所述并口信息接口17输入的信息进行确认,判断是否为所述并口更新配置信息,避免误触发。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明提供一种FPGA芯片1,该FPGA芯片1与上述实施例中FPGA配置方法对应。如图4所示,该FPGA芯片1初始化配置转换模块11、通用并行总线路由模块12和至少一个可编程逻辑模块13;一个所述可编程逻辑模块13中包含一个IP核131。各功能模块详细说明如下:
所述初始化配置转换模块11用于在所述FPGA芯片1上电时,接收用户配置信息,并在将所述用户配置信息转换成初始化配置信息之后,将所述初始化配置信息输出至所述通用并行总线路由模块12。可理解地,在一实施例中,如图3所示,所述FPGA芯片1还包括连接所述初始化配置转换模块11的配置信息接口15;所述用户配置信息可通过配置信息接口15传输,其中,所述配置信息接口15的连接方式可以根据需求设定,比如,设定所述配置信息接口15为标准的JTAG连接方式的接口,且该接口包括以下接口线:模式选择线(TMS)、时钟线(TCK)、数据输入线(TDI)和数据输出线(TDO),所述用户配置信息通过数据输入线传输给所述FPGA芯片1。通过以上接口的选择和接口线的配置,使得连接方式具有多样性,满足了用户的多元需求。且该步骤中的初始化配置流程中的用户配置信息转换为初始化配置信息的顺序不会被固定,可以在接收到任意顺序的用户配置信息之后,将接收到的该用户配置信息转换成统一的初始化配置信息,实现了FPGA芯片1配置的灵活性。
所述通用并行总线路由模块12用于根据所述初始化配置信息进行数据总线编址,生成第一IP核配置信息;所述第一IP核配置信息包括与所述可编程逻辑模块13的数量相等的第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址;
所述可编程逻辑模块13用于在检测到所述可编程逻辑模块13中的IP核131的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核131的寄存器1311中。
上述实施例中的FPGA芯片1执行的初始化配置流程中的配置顺序不会被固定,而是可以在接收到任意顺序的用户配置信息之后,将接收到的该用户配置信息转换成统一的初始化配置信息,并通过对该初始化配置信息进行数据总线编址之后,将数据总线编址之后的与该初始化配置信息对应的第一IP核配置信息中的第一IP核数据,写入与目标IP核地址对应IP核131的寄存器1311中,如此,该用户配置信息(对应于转换之后的第一IP核数据)会被自动配置到与其对应的IP核131中,而无需限制其配置顺序,实现了FPGA芯片1配置的灵活性;同时,在将第一IP核数据写入IP核131的寄存器1311中时,由于是根据第一IP核地址与目标IP核地址的匹配关系写入,因此该写入过程不会受到IP核131的访问方式不同的干扰,如此,实现了FPGA芯片1配置的可控制性,降低了芯片成本。
在一实施例中,如图5所示,所述通用并行总线路由模块12还用于在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息;所述第二IP核配置信息包括至少一个第二IP核数据以及与各所述第二IP核数据关联的第二IP核地址;
所述可编程逻辑模块13还用于在检测到所述可编程逻辑模块13中的所述IP核131的目标IP核地址与所述第二IP核配置信息中的第二IP核地址匹配时,读取与所述第二IP核地址匹配的所述第二IP核配置信息中的所述第二IP核数据,并将读取的所述第二IP核数据写入与所述目标IP核地址对应IP核131的寄存器1311中。
在一实施例中,如图6所示,所述FPGA芯片1还包括串并转换接口模块14,所述串并转换接口模块14用于定时或实时扫描串口信息接口16,并在所述串口信息接口16存在串口信息输入时,将所述串口信息转换成并口更新配置信息之后,将所述并口更新配置信息输出至所述通用并行总线路由模块12;
所述通用并行总线路由模块12还用于定时或实时检测是否接收到所述串并转换接口模块14发送的所述并口更新配置信息。可理解地,如图3所示,在本实施例中,所述FPGA芯片1还包括连接所述串并转换接口模块14的串口信息接口16。
在一实施例中,如图6所示,所述通用并行总线路由模块12还用于定时或实时扫描并口信息接口17是否存在并口更新配置信息输入,并在存在并口更新配置信息输入时,确认检测到所述并口更新配置信息。可理解地,如图3所示,在本实施例中,所述FPGA芯片1还包括连接于通用并行总线路由模块12的并口信息接口17。
在一实施例中,如图7所示,所述初始化配置转换模块11还包括:
选择单元21,用于根据与所述用户配置信息的信息类型对应的读取方式读取所述用户配置信息;
转换单元22,用于将读取的所述用户配置信息的格式转换成地址数据格式;
输出单元23,用于将转换成地址数据格式的所述用户配置信息通过异步FIFO的方式输出为所述初始化配置信息。
关于FPGA芯片1的具体限定可以参见上文中对于FPGA芯片1的配置方法的限定,在此不再赘述。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种FPGA芯片的配置方法,其特征在于,所述FPGA芯片包括初始化配置转换模块、通用并行总线路由模块和至少一个可编程逻辑模块,一个所述可编程逻辑模块中包含一个IP核,所述方法包括:
在FPGA芯片上电时,所述初始化配置转换模块接收用户配置信息,初始化配置转换模块并将所述用户配置信息转换成初始化配置信息;所述FPGA芯片中包含至少一个IP核;
所述通用并行总线路由模块根据所述初始化配置信息进行数据总线编址,所述通用并行总线路由模块生成第一IP核配置信息;所述第一IP核配置信息包括至少一个第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址;
所述可编程逻辑模块在检测到所述IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,所述可编程逻辑模块读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,所述可编程逻辑模块并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
2.根据权利要求1所述FPGA芯片的配置方法,其特征在于,所述可编程逻辑模块并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中之后,包括:
所述通用并行总线路由模块在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,所述通用并行总线路由模块生成第二IP核配置信息;所述第二IP核配置信息包括至少一个第二IP核数据以及与各所述第二IP核数据关联的第二IP核地址;
所述可编程逻辑模块在检测到所述IP核的目标IP核地址与所述第二IP核配置信息中的第二IP核地址匹配时,读取与所述第二IP核地址匹配的所述第二IP核配置信息中的所述第二IP核数据,并将读取的所述第二IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
3.根据权利要求2所述FPGA芯片的配置方法,其特征在于,所述FPGA芯片还包括串并转换接口模块,所述通用并行总线路由模块在检测到并口更新配置信息时,所述通用并行总线路由模块根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息之前,包括:
所述串并转换接口模块定时或实时扫描串口信息接口,在所述串口信息接口存在串口信息输入时,所述串并转换接口模块将所述串口信息转换成并口更新配置信息。
4.根据权利要求2所述FPGA芯片的配置方法,其特征在于,所述在所述通用并行总线路由模块检测到并口更新配置信息时,所述通用并行总线路由模块根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息之前,包括:
所述通用并行总线路由模块定时或实时扫描并口信息接口,在所述并口信息接口存在并口更新配置信息输入时,确认检测到所述并口更新配置信息。
5.根据权利要求1所述FPGA芯片的配置方法,其特征在于,所述初始化配置转换模块包括选择单元、转换单元、输出单元,所述方法中将所述用户配置信息转换成初始化配置信息,包括:
所述选择单元根据与所述用户配置信息的信息类型对应的读取方式读取所述用户配置信息;
所述转换单元将读取的所述用户配置信息的格式转换成地址数据格式;
所述输出单元将转换成地址数据格式的所述用户配置信息通过异步FIFO的方式输出为所述初始化配置信息。
6.一种FPGA芯片,其特征在于,包括初始化配置转换模块、通用并行总线路由模块和至少一个可编程逻辑模块;一个所述可编程逻辑模块中包含一个IP核;
所述初始化配置转换模块用于在所述FPGA芯片上电时,接收用户配置信息,并在将所述用户配置信息转换成初始化配置信息之后,将所述初始化配置信息输出至所述通用并行总线路由模块;
所述通用并行总线路由模块用于根据所述初始化配置信息进行数据总线编址,生成第一IP核配置信息;所述第一IP核配置信息包括与所述可编程逻辑模块的数量相等的第一IP核数据以及与各所述第一IP核数据关联的第一IP核地址;
所述可编程逻辑模块用于在检测到所述可编程逻辑模块中的IP核的目标IP核地址与所述第一IP核配置信息中的第一IP核地址匹配时,读取与所述第一IP核地址匹配的所述第一IP核配置信息中的所述第一IP核数据,并将读取的所述第一IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
7.根据权利要求6所述的FPGA芯片,其特征在于,所述通用并行总线路由模块还用于在检测到并口更新配置信息时,根据所述并口更新配置信息进行数据总线编址,生成第二IP核配置信息;所述第二IP核配置信息包括至少一个第二IP核数据以及与各所述第二IP核数据关联的第二IP核地址;
所述可编程逻辑模块还用于在检测到所述可编程逻辑模块中的所述IP核的目标IP核地址与所述第二IP核配置信息中的第二IP核地址匹配时,读取与所述第二IP核地址匹配的所述第二IP核配置信息中的所述第二IP核数据,并将读取的所述第二IP核数据写入与所述目标IP核地址对应IP核的寄存器中。
8.根据权利要求7所述的FPGA芯片,其特征在于,所述FPGA芯片还包括串并转换接口模块,所述串并转换接口模块用于定时或实时扫描串口信息接口,并在所述串口信息接口存在串口信息输入时,将所述串口信息转换成并口更新配置信息之后,将所述并口更新配置信息输出至所述通用并行总线路由模块;
所述通用并行总线路由模块还用于定时或实时检测是否接收到所述串并转换接口模块发送的所述并口更新配置信息。
9.根据权利要求7所述的FPGA芯片,其特征在于,所述通用并行总线路由模块还用于定时或实时扫描并口信息接口是否存在并口更新配置信息输入,并在存在并口更新配置信息输入时,确认检测到所述并口更新配置信息。
10.根据权利要求6所述的FPGA芯片,其特征在于,所述初始化配置转换模块包括:
选择单元,用于根据与所述用户配置信息的信息类型对应的读取方式读取所述用户配置信息;
转换单元,用于将读取的所述用户配置信息的格式转换成地址数据格式;
输出单元,用于将转换成地址数据格式的所述用户配置信息通过异步FIFO的方式输出为所述初始化配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003376.7A CN110515891B (zh) | 2019-10-22 | 2019-10-22 | 一种fpga芯片及其配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003376.7A CN110515891B (zh) | 2019-10-22 | 2019-10-22 | 一种fpga芯片及其配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515891A true CN110515891A (zh) | 2019-11-29 |
CN110515891B CN110515891B (zh) | 2020-02-14 |
Family
ID=68633602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911003376.7A Active CN110515891B (zh) | 2019-10-22 | 2019-10-22 | 一种fpga芯片及其配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515891B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786894A (zh) * | 2020-07-01 | 2020-10-16 | 无锡中微亿芯有限公司 | 实现片上网络传输带宽扩充功能的fpga装置 |
CN114650246A (zh) * | 2020-12-18 | 2022-06-21 | 中国移动通信有限公司研究院 | Ip核调用的检测方法、装置及设备 |
CN114970409A (zh) * | 2022-07-27 | 2022-08-30 | 北极雄芯信息科技(西安)有限公司 | 基于多管芯互联的集成电路 |
US11750510B2 (en) | 2020-07-01 | 2023-09-05 | Wuxi Esiontech Co., Ltd. | FPGA device for implementing expansion of transmission bandwidth of network-on-chip |
CN116756082A (zh) * | 2023-08-16 | 2023-09-15 | 沐曦集成电路(上海)有限公司 | 一种可配置的功能模块文件的生成方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386759B1 (en) * | 2007-12-28 | 2013-02-26 | Altera Corporation | Integrated circuit boot method and apparatus for configuring memory device read mode using programmable circuitry boot code read from the memory device |
CN103792487A (zh) * | 2012-10-31 | 2014-05-14 | 中国科学院电子学研究所 | 一种测试fpga的装置与方法 |
CN105224493A (zh) * | 2015-09-29 | 2016-01-06 | 北京时代民芯科技有限公司 | 一种可通过用户输入输出端口完成fpga重配的配置电路 |
CN106155747A (zh) * | 2016-07-13 | 2016-11-23 | 无锡中微亿芯有限公司 | 一种基于fpga可加速配置的方法和控制系统 |
CN107430586A (zh) * | 2015-07-31 | 2017-12-01 | 吴国盛 | 自适应芯片和配置方法 |
CN108780434A (zh) * | 2016-03-14 | 2018-11-09 | 华为技术有限公司 | 用于计算机系统的可重配置数据接口单元 |
CN109344115A (zh) * | 2018-10-22 | 2019-02-15 | 西安微电子技术研究所 | 一种通用化的fpga配置系统及方法与重配置系统及方法 |
-
2019
- 2019-10-22 CN CN201911003376.7A patent/CN110515891B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386759B1 (en) * | 2007-12-28 | 2013-02-26 | Altera Corporation | Integrated circuit boot method and apparatus for configuring memory device read mode using programmable circuitry boot code read from the memory device |
CN103792487A (zh) * | 2012-10-31 | 2014-05-14 | 中国科学院电子学研究所 | 一种测试fpga的装置与方法 |
CN107430586A (zh) * | 2015-07-31 | 2017-12-01 | 吴国盛 | 自适应芯片和配置方法 |
CN105224493A (zh) * | 2015-09-29 | 2016-01-06 | 北京时代民芯科技有限公司 | 一种可通过用户输入输出端口完成fpga重配的配置电路 |
CN108780434A (zh) * | 2016-03-14 | 2018-11-09 | 华为技术有限公司 | 用于计算机系统的可重配置数据接口单元 |
CN106155747A (zh) * | 2016-07-13 | 2016-11-23 | 无锡中微亿芯有限公司 | 一种基于fpga可加速配置的方法和控制系统 |
CN109344115A (zh) * | 2018-10-22 | 2019-02-15 | 西安微电子技术研究所 | 一种通用化的fpga配置系统及方法与重配置系统及方法 |
Non-Patent Citations (3)
Title |
---|
A. IWASAKI等: "An energy-efficient FPGA-based soft-core processor with a configurable word size ECC arithmetic accelerator", 《2015 IEEE SYMPOSIUM IN LOW-POWER AND HIGH-SPEED CHIPS (COOL CHIPS XVIII)》 * |
杨光辉等: "基于FPGA中IP核的IRL系统设计方法", 《计算机应用研究》 * |
许莉等: "FPGA中嵌入式块存储器的IP软核设计", 《微电子学》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786894A (zh) * | 2020-07-01 | 2020-10-16 | 无锡中微亿芯有限公司 | 实现片上网络传输带宽扩充功能的fpga装置 |
CN111786894B (zh) * | 2020-07-01 | 2021-08-10 | 无锡中微亿芯有限公司 | 实现片上网络传输带宽扩充功能的fpga装置 |
US11750510B2 (en) | 2020-07-01 | 2023-09-05 | Wuxi Esiontech Co., Ltd. | FPGA device for implementing expansion of transmission bandwidth of network-on-chip |
CN114650246A (zh) * | 2020-12-18 | 2022-06-21 | 中国移动通信有限公司研究院 | Ip核调用的检测方法、装置及设备 |
CN114970409A (zh) * | 2022-07-27 | 2022-08-30 | 北极雄芯信息科技(西安)有限公司 | 基于多管芯互联的集成电路 |
CN116756082A (zh) * | 2023-08-16 | 2023-09-15 | 沐曦集成电路(上海)有限公司 | 一种可配置的功能模块文件的生成方法及系统 |
CN116756082B (zh) * | 2023-08-16 | 2023-10-27 | 沐曦集成电路(上海)有限公司 | 一种可配置的功能模块文件的生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110515891B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515891A (zh) | 一种fpga芯片及其配置方法 | |
US8938559B2 (en) | Isochronous data transfer between memory-mapped domains of a memory-mapped fabric | |
KR100488232B1 (ko) | 집적 dma 제어기를 이용한 집적 메모리 테스트 방법 | |
CN106503308A (zh) | 一种基于uvm的can控制器ip验证平台 | |
JP4934222B2 (ja) | 試験装置および試験方法 | |
US5937179A (en) | Integrated circuit design system with shared hardware accelerator and processes of designing integrated circuits | |
US20080306722A1 (en) | Logic verification system | |
US20060052994A1 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
CN107704285A (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
JPH07107916B2 (ja) | 超大規模集積回路 | |
CN107992390A (zh) | 一种基于片上总线的芯片调试方法 | |
US20030110429A1 (en) | Method and system for use of a field programmable function within an application specific integrated circuit (ASIC) to access internal signals for external observation and control | |
CN109783340A (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN108108191A (zh) | 一种soc芯片及soc芯片cpu指令集的配置方法 | |
CN104636290B (zh) | 基于多配置链组的fpga芯片配置结构和配置方法 | |
TWI631355B (zh) | 用於元件集合的高效測試的通信及控制拓撲結構 | |
CN108957301B (zh) | 用于可测试芯片的测试方法、装置及可测试芯片内置电路 | |
CN112382224A (zh) | 一种模组的老化测试方法及系统 | |
CN107632910A (zh) | 一种测试方法和装置 | |
CN104636151B (zh) | 基于应用存储器的fpga芯片配置结构和配置方法 | |
US20110239067A1 (en) | Verification of design information for controlling manufacture of a system on a chip | |
CN108459876A (zh) | 用于缩减面积的控制寄存器电路的方法与装置 | |
CN110717311A (zh) | 一种fpga内部访问系统、fpga验证方法 | |
CN109557459A (zh) | 一种基于JTAG测试的SiP系统及其内部芯片的JTAG测试方法 | |
US6775797B2 (en) | Method of testing an integrated circuit having a flexible timing control |
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 |