CN116187241A - 一种fpga配置电路架构、配置方法、存储介质和电子设备 - Google Patents
一种fpga配置电路架构、配置方法、存储介质和电子设备 Download PDFInfo
- Publication number
- CN116187241A CN116187241A CN202310490283.1A CN202310490283A CN116187241A CN 116187241 A CN116187241 A CN 116187241A CN 202310490283 A CN202310490283 A CN 202310490283A CN 116187241 A CN116187241 A CN 116187241A
- Authority
- CN
- China
- Prior art keywords
- configuration
- signal
- address
- register
- core
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供了一种FPGA配置电路架构,包括:配置控制器、动态重配控制模块、配置电路和芯核,所述芯核包括阵列排布的功能模块;其中,配置控制器,用于提供配置信息和控制信号;动态重配控制模块,用于接收所述控制信号并传输至所述配置电路;配置电路,用于接收所述配置信息和所述控制信号,并将所述配置信息传输至芯核,所述控制信号用于选择部分功能模块进行配置;芯核,用于部分功能模块根据所述配置信息实现预定功能。通过优化配置资源的调用过程,加快了配置速度,节省了配置电路能耗。本发明还提供了一种配置方法、存储介质和电子设备。
Description
技术领域
本发明属于可编程逻辑器件技术领域,尤其涉及一种FPGA配置电路架构、配置方法、存储介质和电子设备。
背景技术
在工业制造、航空航天、电子通信领域,广泛应用到可编程逻辑器件,现场可编程门阵列(FPGA)就是一种典型的可编程逻辑器件,其具备高集成度、低风险、便携、易维护、灵活升级的特点,因而得到广泛的应用。FPGA主要组成部分包括,时钟网络模块、控制模块、功能模块、互连线模块、数字信号处理模块、信息存储单元等。其中,配置电路就是控制模块中的重要组成部分。FPGA芯片的逻辑资源、通道资源、存储资源都需要初始化的配置信息,才能实现各自的预定功能。这些配置信息从配置控制器发出,经过配置电路,传往芯核内部。
然而,相关技术中是通过对电路进行全局配置,导致完成配置电路的时间较长。随着芯核规模的扩大,完成一次全局配置的用时随之变长,因此FPGA芯片配置电路对用时较短的区域重构功能的需求逐渐凸显。且全局配置在许多应用场景中无法适应。
目前十分需要研究一种可快速启动,适应多种应用场景的工作环境FPGA配置电路架构及配置方法,以进一步推动FPGA技术的深层次发展及广泛应用。
发明内容
本发明是为解决上述现有技术的全部或部分问题,提供一种FPGA配置电路架构,可适应局部配置的应用环境,以提高配置速度。
本发明提供了一种FPGA配置电路架构,包括:
配置控制器、动态重配控制模块、配置电路和芯核;所述芯核包括阵列排布的功能模块;其中,
所述配置控制器,用于提供配置信息和控制信号;
所述动态重配控制模块,用于接收所述控制信号并传输至所述配置电路;
所述配置电路,用于接收所述配置信息和所述控制信号,并将所述配置信息传输至芯核,所述控制信号用于选择部分功能模块进行配置;
所述芯核,用于部分功能模块根据所述配置信息实现预定功能。
在一些实施例中,所述动态重配控制模块包括:
类型地址译码器,用于接收控制信号输出类型使能信号,所述类型使能信号用于选通不同类型的功能模块;
状态地址译码器,用于接收控制信号输出状态地址信号,所述状态地址信号用于选通功能模块的行地址状态,所述状态地址译码器包括多个顺次连接的第一寄存器,所述第一寄存器输出对应的状态地址信号。
本发明架构通过增加类型地址译码器和状态地址译码器来提前选中需要配置的区域,从而实现区域重配。解决了原有的FPGA芯核配置架构在需要对局部模块进行重新配置时耗费时间过长,速度过慢的问题。
在一些实施例中,所述配置信息包括列地址数据和行地址数据;
所述配置电路包括列地址寄存器链和行地址寄存器链,
所述列地址寄存器链用于接收列地址数据和列地址时钟,输出字线信号,所述列地址寄存器链包括一维寄存器链,采用独热码编码。如此,可以确保同一时间只有一列配置存储器打开来进行配置或回读操作。可以用简单的时序控制每个列地址是否打开,同时,配置芯核时不允许同时开启两列逻辑模块进行配置,因此独热码设计也提高了配置的可靠性。
所述行地址寄存器链用于基于行地址数据和行地址时钟对功能模块进行读写,所述行地址寄存器链包括分别用于配置信息的存储和回读的双向数据通路。如此,提高了读写效率。
在一些实施例中,所述功能模块包括逻辑模块和通道跳转模块;
所述配置信息包括清零信号、全局信号和功能选择信号;
所述类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块进行配置,基于功能选择信号选择逻辑模块和/或通道跳转模块进行配置。
在一些实施例中,所述列地址寄存器链包括:
多个顺次连接的第二寄存器,每一所述第二寄存器的输出分别与功能模块的字线连接,列地址时钟和类型使能信号通过第一与门连接至每一第二寄存器的地址输入端;
多个第一选择器,与所述第二寄存器一一对应,相邻第二寄存器通过所述第一选择器连接,所述第一选择器的地址输入端包括类型使能信号,所述第一选择器的数据输入端分别连接对应第二寄存器的输出端和输入端;
所述行地址寄存器链包括:
多个寄存器组,所述寄存器组包括顺次连接的第三寄存器和第四寄存器,所述寄存器组的数量对应功能模块的行数,记为n,n为大于1的整数;
多个第三寄存器顺次连接形成第三寄存器链;
每一第四寄存器的输出端分别与功能模块的位线连接;
第二选择器,所述第二选择器的第一输入端与第n个第三寄存器的输出端相连接,所述第二选择器的第二输入端与第n-1个数据回读端口相连接,所述第二选择器的控制端输入状态地址信号,所述第二选择器的输出端与第n个数据回读端口相连接;
第三选择器,所述第三选择器的第一输入端与第n个第三寄存器的输出端连接,所述第三选择器的第二输入端用于输入行地址数据,第n-1个状态地址信号通过非门连接至第二与门的第一输入端,第n个状态地址信号连接至第二与门的第二输入端,第二与门的输出端连接至所述第三选择器的控制端;
第四选择器,所述第四选择器的第一输入端与所述第三选择器的输出端相连接,所述第四选择器的第二输入端与第n个第三寄存器的输出端相连接,所述第四选择器的控制端连接读写选择信号;
所述行地址时钟包括第一脉冲信号和第二脉冲信号;
第一脉冲信号输入至第四与门的第一端,第n个状态地址信号输入至第四与门的第二端,第四与门的输出端连接至第一寄存器的地址输入端;
第二脉冲信号输入至第五与门的第一端,第n个状态地址信号输入至第五与门的第二端,第五与门的输出端连接至第二寄存器的地址输入端。
一种FPGA配置电路架构的配置方法,所述FPGA配置电路架构包括配置控制器,动态重配控制模块,配置电路和芯核,所述芯核包括阵列排布的功能模块,所述配置方法包括:
提供配置信息和控制信号;
接收所述控制信号并传输至所述配置电路;
接收所述配置信息和所述控制信号,并将所述配置信息传输至芯核,所述控制信号用于选择部分功能模块进行配置;
部分功能模块根据所述配置信息实现预定功能。
在一些实施例中,接收所述控制信号并传输至所述配置电路,包括:
接收控制信号输出类型使能信号,所述类型使能信号用于选通不同类型的功能模块;和/或,
接收控制信号输出状态地址信号,所述状态地址信号用于选通功能模块的行地址状态。
在一些实施例中,所述功能模块包括逻辑模块和通道跳转模块;
所述配置信息包括清零信号、全局信号和功能选择信号;
所述类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块进行配置,基于功能选择信号选择逻辑模块和/或通道跳转模块进行配置。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上面所述的任意一项所述配置方法的步骤。
本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行上面所述的任意一项所述配置方法的步骤。
与现有技术相比,本发明的主要有益效果:
本发明的FPGA配置电路架构及其配置方法通过增加动态重配控制模块,从而可以支持部分功能模块的局部配置,降低了电路配置的耗时,提高了配置速度,丰富了应用场景。在芯核规模较大且局部重配需求较多的环境中,通过优化配置资源的调用过程,加快了配置速度,节省了配置电路能耗。
附图说明
图1为本发明实施例中的一种FPGA配置电路架构的方框图;
图2为本发明实施例中的另一种FPGA配置电路架构的方框图;
图3为本发明实施例中的一种状态地址译码器的结构示意图;
图4为本发明实施例中的一种列地址寄存器链的结构示意图;
图5为本发明实施例中的一种行地址寄存器链的结构示意图;
图6为本发明实施例中的一种功能模块的结构示意图;
图7为本发明实施例中的一种类型地址译码器的结构示意图;
图8为本发明实施例中的配置方法的流程框图。
具体实施方式
下面将对本发明具体实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在配置芯核时,配置数据信号通过外围的互连线模块(IO_Block)与芯核连通。芯核内部有实现不同功能的模块如下:普通逻辑阵列块(LAB)实现加减法等简单运算;数字信号处理逻辑块(DSP)实现乘法、三角函数等复杂运算;存储逻辑块(MEM)除了简单逻辑还兼容了数据存储功能。在相关技术的芯核总体布局中,互连线模块分布在四周;功能模块分布在互连线模块内部,每列的功能模块为同一类型。
当前一种常见的FPGA芯核配置电路架构,是由水平和竖直方向两条寄存器链组成,通过配置列地址、行地址,将配置控制器(Configuring_Controller)发出的数据存储到芯核对应位置的配置存储器(Configuring_RAM)。
根据配置数据的不同组合,FPGA芯核可以完成布线选通,实现相应的逻辑功能。而行地址、列地址两路信号对应了配置存储器SRAM电路的位线(bit_line)和字线(word_line)端口。
配置时序中,读写选择信号全程为低电平,第一脉冲信号将各行的配置数据传入行地址链的寄存器0,寄存稳定后通过第二脉冲信号将数据并行存入寄存器1,从而输入芯核;回读时序中,读写选择信号起始为高电平,经过第一个脉冲信号将芯核中的数据存入寄存器0,接着读写选择信号恢复低电平,通过连续的第一脉冲信号将寄存器0中的数据从数据回读端口传回配置控制器。
上述架构在所有配置和回读的情景中,都需要对竖直方向的行地址寄存器链进行完全重配,水平方向寄存器链也需要从起始地址开始移位寻址,这一过程所需时间较长。上述架构仅支持全局配置,无法选中某一模块,而是用与示波器扫描类似的方式从左到右逐帧配置。最左侧的一列模块为例,其包含了许多“IIII”这样的帧,每一个配置周期仅能配置一帧“I”。经过许多配置周期后,这一列所有功能模块即可全部配置完成。在许多应用场景中,只需要对芯核局部重新配置选通即可实现需要的逻辑功能。随着芯核规模的扩大,完成一次全局配置的用时随之变长,因此FPGA芯片配置电路对用时较短的区域重构功能的需求凸显。
基于此,参见附图1,本发明实施例中提供了一种FPGA配置电路架构,包括:
配置控制器11,动态重配控制模块12,配置电路13和芯核14,芯核14包括阵列排布的功能模块141;其中,
配置控制器11,用于提供配置信息和控制信号;
动态重配控制模块12,用于接收控制信号并传输至配置电路13;
配置电路13,用于接收配置信息和控制信号,并将配置信息传输至芯核14,控制信号用于选择部分功能模块141进行配置;
芯核14,用于部分功能模块141根据配置信息实现预定功能。
本实施例的FPGA配置电路架构通过增加动态重配控制模块,从而可以支持部分功能模块的局部配置,降低了电路配置的耗时,提高了配置速度,丰富了应用场景。在芯核规模较大且局部重配需求较多的环境中,通过优化配置资源的调用过程,加快了配置速度,节省了配置电路能耗。
例如,可以优先配置部分功能模块以使得FPGA具备基本的通信相应能力,实现快速启动。例如,在FPGA运行过程中,由于部分功能模块发生故障无法正常工作,可以对出错的部分功能模块进行重新配置。本发明在局部重配过程中,其他逻辑模块可以维持原先状态继续工作,为实现不需冻结的芯核重配创造了条件。
在一些实施例中,参见附图2,动态重配控制模块12包括:
类型地址译码器121,用于接收控制信号输出类型使能信号,类型使能信号用于选通不同类型的功能模块141;
状态地址译码器122,用于接收控制信号输出状态地址信号,状态地址信号用于选通功能模块141的行地址状态。
本实施例的FPGA配置电路架构通过增加类型地址译码器和状态地址译码器来提前选中需要配置的区域,从而实现区域重配。解决了原有的FPGA芯核配置架构在需要对局部模块进行重新配置时耗费时间过长,速度过慢的问题。
参见附图3,状态地址译码器122包括多个顺次连接的第一寄存器1221,第一寄存器1221输出对应的状态地址信号row。在一些实施例中,状态地址信号的有效位置必须连续。状态地址信号通过多路选择器控制行地址寄存器链的时钟和数据通路。
在一些实施例中,配置信息包括列地址数据和行地址数据;
参见附图4和附图5,配置电路13包括列地址寄存器链131和行地址寄存器链132,
列地址寄存器链131用于接收列地址数据和列地址时钟,输出字线信号,列地址寄存器链131包括一维寄存器链,采用独热码编码。如此,可以确保同一时间只有一列配置存储器打开来进行配置或回读操作。可以用简单的时序控制每个列地址是否打开,同时,配置芯核时不允许同时开启两列逻辑模块进行配置,因此独热码设计也提高了配置的可靠性。
参见附图4,列地址寄存器链131包括:
多个顺次连接的第二寄存器1311,每一第二寄存器1311的输出分别与功能模块141的字线(word_line)连接,列地址时钟和类型使能信号通过第一与门1312连接至每一第二寄存器1311的地址输入端;
多个第一选择器1313,与第二寄存器1311一一对应,相邻第二寄存器1311通过第一选择器1313连接,第一选择器的地址输入端包括类型使能信号,第一选择器1313的数据输入端分别连接对应第二寄存器的输出端和输入端。
参见附图5,行地址寄存器链132用于基于行地址数据和行地址时钟对功能模块141进行读写,行地址寄存器链132包括分别用于配置信息的存储和回读的双向数据通路。
参见附图5,行地址寄存器链132包括:
多个寄存器组1321,寄存器组1321包括顺次连接的第三寄存器1322和第四寄存器1323,寄存器组1321的数量对应功能模块141的行数,记为n,n为大于1的整数;
多个第三寄存器1322顺次连接形成第三寄存器链1324;
每一第四寄存器1323的输出端分别与功能模块141的位线(bit_line)连接;
第二选择器1325,第二选择器1325的第一输入端与第n个第三寄存器1322的输出端相连接,第二选择器1325的第二输入端与第n-1个数据回读端口(read_back)相连接,第二选择器1325的控制端输入状态地址信号row,第二选择器1325的输出端与第n个数据回读端口相连接;
第三选择器1326,第三选择器1326的第一输入端与第n个第一寄存器的输出端连接,第三选择器1326的第二输入端用于输入行地址数据,第n-1个状态地址信号通过非门连接至第二与门1327的第一输入端,第n个状态地址信号连接至第二与门1327的第二输入端,第二与门1327的输出端连接至第三选择器1326的控制端;
第四选择器,第四选择器1328的第一输入端与第三选择器1327的输出端相连接,第四选择器1328的第二输入端与第n个第三寄存器1322的输出端相连接,第四选择器1328的控制端连接读写选择信号read_or_write;
行地址时钟包括第一脉冲信号和第二脉冲信号;
第一脉冲信号输入至第三与门1329的第一端,第n个状态地址信号输入至第三与门1329的第二端,第三与门1329的输出端连接至第三寄存器1322的地址输入端;
第二脉冲信号输入至第四与门1320的第一端,第n个状态地址信号输入至第四与门1320的第二端,第四与门1320的输出端连接至第四寄存器1324的地址输入端。
行地址链的结构设置了两条通路,分别用于配置数据到芯核存储器以及回读存储器数据到芯核外部。存储配置数据的端口为位线bit_line;回读配置数据的端口为数据回读端口read_back。其中第三寄存器用于配置数据的串行传输,第四寄存器用于并行传输。行地址寄存器链可以存储一帧配置数据,一帧长度的定义是:在竖直方向配置存储器的最大数量。
在实际操作中,状态地址链将行地址链划分为若干可选行,行数记为n,每个可选行根据局部配置的需求包含了芯核中的多行配置存储器,这些存储器在局部配置过程中会有一个共同的状态地址。所有可选行的状态地址记为row[0:n-1],其中高电平代表“选中”,低电平代表“跳过”。状态地址存储在状态地址寄存器链中,寄存器链长度等于可选行的行数n。如图3和图5所示,第三寄存器和第四寄存器的时钟信号替换成可以被状态地址信号关闭的时钟信号;第三寄存器的各个输入端和输出端用多路选择器结构选择不同的数据通路,从而在“选中”区域的两段分别设置配置数据起点和回读数据起点。当需要进行全局配置/回读时,状态地址链通过置位信号row_set将所有可选行设为高电平(选中状态);当需要局部配置/回读时,先将状态地址串行存入寄存器链,要求只有连续一段可选行处于“选中状态”,之后配置/回读数据和时钟信号的通路将绕开“跳过”状态的行地址链结构,用较少的时钟周期完成配置/回读。
在一些实施例中,列地址寄存器链131还包括:
第五与门1314,第五与门1314的第一输入端与第二寄存器1311的输出端相连接,第二寄存器1311的第二输入端与列地址使能信号en连接。如此,在设计时序时加入列地址使能信号,可以提高字线信号的稳定性。由于寄存器链的特性,如果不加入列地址使能信号,有可能出现两个相邻字线信号同时打开,在字线打开时,位线信号直接存入存储器,这样会造成严重的读写错误。
在一些实施例中,参见附图6,功能模块包括逻辑模块1411和通道跳转模块1412;
参见附图7,配置信息包括清零信号、全局信号和功能选择信号;
类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块141进行配置,基于功能选择信号选择逻辑模块1411和/或通道跳转模块1412进行配置。
参见附图7,类型地址译码器的输入端口中,“清零”信号为第一优先级;“全局_局部选择”信号为第二优先级;逻辑_通道选择”信号为第三优先级,共同控制类型地址的译码过程。根据芯核内部功能模块的类型多少,以及局部重配的具体需求,可以对类型地址信号的编码定义进行进一步改动。
在一些实施例中,类型使能信号的编码宽度可以根据芯核模块的复杂程度进行拓展。例如,当整个芯核只有3-4种功能模块类型,则配置控制器需要2bit宽度作为类型使能信号;如果另一种芯核设计的模块类型增长到5-8种,则只需要扩充1bit类型使能信号宽度。这一设计特点是具有较好的可迁移性。
在一些实施例中,配置不同功能模块141所需的列地址、行地址位数不同,可以通过冗余配置位进行取整对齐。冗余配置位包括冗余信息或者无效信息。在实际操作中,例如8bit位宽的通道来传输配置信息,但可能逻辑模块需要的配置位宽需要的配置位数为79,这种配置位数无法被8整除,通过加入冗余信息或者无效信息以凑齐80位,使得满足通道的位宽。
以局部重配为例,只需要对特定区域两行的普通逻辑阵列块的逻辑部分进行重配,而与其同一行或同一列的其他区域维持原有的配置状态。先通过状态地址译码器,将区域所在行的状态地址设为选中,其余行跳过。再通过类型地址译码器,将类型地址译码器的“清零”信号设为“否”;“全局_局部选择”信号设为“局部”;“逻辑_通道选择”信号设为“逻辑”。上述设置完成后,每次串行输入行地址的数据长度由原先芯核的高度减少为两个普通逻辑阵列块区域的高度,列地址的配置位宽由全局宽度减少到两个普通逻辑阵列块逻辑部分对应的列地址位宽。
需要理解的是,本发明实施例中可实现局部重配的同时,仍然可以满足全局重配的应用场景。以全局配置芯核为例,首先经过类型地址译码器,使所有类型的列地址位有效;状态地址寄存器链通过清零操作,指定所有行地址位为选中状态。接着串行输入行地址,存储完成后通过使能逻辑打开列地址的起始位,该列配置存储器存储完成即配置好了第一列,关闭列地址,通过移位寄存的方式将列地址指向下一列位置。之后重复对行地址、列地址进行改写、移位操作,直至末位列地址完成配置。相比于相关技术中的配置电路,本实施例对芯核全局配置的流程只在最开始多出了类型地址译码器与状态地址译码器的配置过程,接下来的配置流程基本一致,能够完全实现全部功能模块配置、回读功能。
结合参考图8,本发明实施例还提供了一种FPGA配置电路架构的配置方法,FPGA配置电路架构包括配置控制器,动态重配控制模块,配置电路和芯核,芯核包括阵列排布的功能模块,配置方法包括:
步骤801:提供配置信息和控制信号;
步骤802:接收控制信号并传输至配置电路;
步骤803:接收配置信息和控制信号,并将配置信息传输至芯核,控制信号用于选择部分功能模块进行配置;
步骤804:部分功能模块根据配置信息实现预定功能。
在一些实施例中,接收控制信号并传输至配置电路,包括:
接收控制信号输出类型使能信号,类型使能信号用于选通不同类型的功能模块。
在一些实施例中,接收控制信号并传输至配置电路,包括:
接收控制信号输出状态地址信号,状态地址信号用于选通功能模块的行地址状态。
在一些实施例中,配置信息包括清零信号、全局信号和功能选择信号;
类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块进行配置,基于功能选择信号选择逻辑模块和/或通道跳转模块进行配置。
本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器运行时,执行:提供配置信息和控制信号;接收控制信号并传输至配置电路;接收配置信息和控制信号,并将配置信息传输至芯核,控制信号用于选择部分功能模块进行配置;部分功能模块根据配置信息实现预定功能。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器,也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。
本发明实施例中还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,处理器用于运行计算机程序时,执行上面的任意一项配置方法的步骤。
综上可知,本发明的FPGA配置电路架构及其配置方法通过增加动态重配控制模块,从而可以支持部分功能模块的局部配置,降低了电路配置的耗时,提高了配置速度,丰富了应用场景。在芯核规模较大且局部重配需求较多的环境中,通过优化配置资源的调用过程,加快了配置速度,节省了配置电路能耗。
本发明为了便于叙述清楚而采用的一些常用的英文名词或字母只是用于示例性指代而非限定性解释或特定用法,不应以其可能的中文翻译或具体字母来限定本发明的保护范围。还需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
Claims (10)
1.一种FPGA配置电路架构,其特征在于,包括:
配置控制器、动态重配控制模块、配置电路和芯核;所述芯核包括阵列排布的功能模块;其中,
所述配置控制器,用于提供配置信息和控制信号;
所述动态重配控制模块,用于接收所述控制信号并传输至所述配置电路;
所述配置电路,用于接收所述配置信息和所述控制信号,并将所述配置信息传输至所述芯核,所述控制信号用于选择部分功能模块进行配置;
所述芯核,用于部分功能模块根据所述配置信息实现预定功能。
2.根据权利要求1所述的配置电路架构,其特征在于,所述动态重配控制模块包括:
类型地址译码器,用于接收控制信号输出类型使能信号,所述类型使能信号用于选通不同类型的功能模块;
状态地址译码器,用于接收控制信号输出状态地址信号,所述状态地址信号用于选通功能模块的行地址状态,所述状态地址译码器包括多个顺次连接的第一寄存器,所述第一寄存器输出对应的状态地址信号。
3.根据权利要求2所述的配置电路架构,其特征在于,
所述配置信息包括列地址数据和行地址数据;
所述配置电路包括列地址寄存器链和行地址寄存器链,
所述列地址寄存器链用于接收列地址数据和列地址时钟,输出字线信号,所述列地址寄存器链包括一维寄存器链,采用独热码编码;
所述行地址寄存器链用于基于行地址数据和行地址时钟对功能模块进行读写,所述行地址寄存器链包括分别用于配置信息的存储和回读的双向数据通路。
4.根据权利要求2所述的配置电路架构,其特征在于,
所述功能模块包括逻辑模块和通道跳转模块;
所述配置信息包括清零信号、全局信号和功能选择信号;
所述类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块进行配置,基于功能选择信号选择逻辑模块和/或通道跳转模块进行配置。
5.根据权利要求3所述的配置电路架构,其特征在于,
所述列地址寄存器链包括:
多个顺次连接的第二寄存器,每一所述第二寄存器的输出分别与功能模块的字线连接,列地址时钟和类型使能信号通过第一与门连接至每一第二寄存器的地址输入端;
多个第一选择器,与所述第二寄存器一一对应,相邻第二寄存器通过所述第一选择器连接,所述第一选择器的地址输入端包括类型使能信号,所述第一选择器的数据输入端分别连接对应第二寄存器的输出端和输入端;
所述行地址寄存器链包括:
多个寄存器组,所述寄存器组包括顺次连接的第三寄存器和第四寄存器,所述寄存器组的数量对应功能模块的行数,记为n,n为大于1的整数;
多个第三寄存器顺次连接形成第三寄存器链;
每一第四寄存器的输出端分别与功能模块的位线连接;
第二选择器,所述第二选择器的第一输入端与第n个第三寄存器的输出端相连接,所述第二选择器的第二输入端与第n-1个数据回读端口相连接,所述第二选择器的控制端输入状态地址信号,所述第二选择器的输出端与第n个数据回读端口相连接;
第三选择器,所述第三选择器的第一输入端与第n个第三寄存器的输出端连接,所述第三选择器的第二输入端用于输入行地址数据,第n-1个状态地址信号通过非门连接至第二与门的第一输入端,第n个状态地址信号连接至第二与门的第二输入端,第二与门的输出端连接至所述第三选择器的控制端;
第四选择器,所述第四选择器的第一输入端与所述第三选择器的输出端相连接,所述第四选择器的第二输入端与第n个第三寄存器的输出端相连接,所述第四选择器的控制端连接读写选择信号;
所述行地址时钟包括第一脉冲信号和第二脉冲信号;
第一脉冲信号输入至第四与门的第一端,第n个状态地址信号输入至第四与门的第二端,第四与门的输出端连接至第一寄存器的地址输入端;
第二脉冲信号输入至第五与门的第一端,第n个状态地址信号输入至第五与门的第二端,第五与门的输出端连接至第二寄存器的地址输入端。
6.一种FPGA配置电路架构的配置方法,其特征在于,所述FPGA配置电路架构包括配置控制器、动态重配控制模块、配置电路和芯核,所述芯核包括阵列排布的功能模块,所述配置方法包括:
提供配置信息和控制信号;
接收所述控制信号并传输至所述配置电路;
接收所述配置信息和所述控制信号,并将所述配置信息传输至芯核,所述控制信号用于选择部分功能模块进行配置;
部分功能模块根据所述配置信息实现预定功能。
7.根据权利要求6所述的配置方法,其特征在于,接收所述控制信号并传输至所述配置电路,包括:
接收控制信号输出类型使能信号,所述类型使能信号用于选通不同类型的功能模块;和/或,
接收控制信号输出状态地址信号,所述状态地址信号用于选通功能模块的行地址状态。
8.根据权利要求7所述的配置方法,其特征在于,
所述功能模块包括逻辑模块和通道跳转模块;
所述配置信息包括清零信号、全局信号和功能选择信号;
所述类型使能信号基于清零信号控制芯核列地址的配置的开启,基于全局信号选择部分功能模块进行配置或全部功能模块进行配置,基于功能选择信号选择逻辑模块和/或通道跳转模块进行配置。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至8任意一项所述配置方法的步骤。
10.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行权利要求6至8任意一项所述配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490283.1A CN116187241B (zh) | 2023-05-04 | 2023-05-04 | 一种fpga配置电路架构、配置方法、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490283.1A CN116187241B (zh) | 2023-05-04 | 2023-05-04 | 一种fpga配置电路架构、配置方法、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116187241A true CN116187241A (zh) | 2023-05-30 |
CN116187241B CN116187241B (zh) | 2023-08-11 |
Family
ID=86442688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310490283.1A Active CN116187241B (zh) | 2023-05-04 | 2023-05-04 | 一种fpga配置电路架构、配置方法、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187241B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
CN104981807A (zh) * | 2013-02-11 | 2015-10-14 | 帝斯贝思数字信号处理和控制工程有限公司 | 在运行中改变fpga的信号值 |
CN105224493A (zh) * | 2015-09-29 | 2016-01-06 | 北京时代民芯科技有限公司 | 一种可通过用户输入输出端口完成fpga重配的配置电路 |
CN115577396A (zh) * | 2022-10-28 | 2023-01-06 | 中国科学院微电子研究所 | 一种内存安全性检测方法和片上系统 |
-
2023
- 2023-05-04 CN CN202310490283.1A patent/CN116187241B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104981807A (zh) * | 2013-02-11 | 2015-10-14 | 帝斯贝思数字信号处理和控制工程有限公司 | 在运行中改变fpga的信号值 |
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
CN105224493A (zh) * | 2015-09-29 | 2016-01-06 | 北京时代民芯科技有限公司 | 一种可通过用户输入输出端口完成fpga重配的配置电路 |
CN115577396A (zh) * | 2022-10-28 | 2023-01-06 | 中国科学院微电子研究所 | 一种内存安全性检测方法和片上系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116187241B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5670904A (en) | Programmable digital delay unit | |
US7808825B2 (en) | Non-volatile memory device and method of programming the same | |
CN107145465B (zh) | 串行外设接口spi的传输控制方法、装置及系统 | |
CN111309665B (zh) | 并行写操作、读操作控制系统及方法 | |
US4718039A (en) | Intermediate memory array with a parallel port and a buffered serial port | |
KR100495917B1 (ko) | 고속 데이터 출력을 위한 파이프래치 회로 | |
US7840885B2 (en) | Distributed ring control circuits for Viterbi traceback | |
JP4808318B2 (ja) | メモリアプリケーション用のハイブリッドデータi/oのデータ転送方法 | |
CN116187241B (zh) | 一种fpga配置电路架构、配置方法、存储介质和电子设备 | |
CN103809769B (zh) | 一种block ram级联实现结构 | |
CN103198854B (zh) | FPGA中具有多种写入模式的Block RAM | |
US20080117710A1 (en) | Look-up table cascade circuit, look-up table cascade array circuit and a pipeline control method thereof | |
CN110097902B (zh) | 针对同一端口的读写控制模块及方法、双端口存储器 | |
US20090292946A1 (en) | Repair module for memory, repair device using the same and method thereof | |
CN105808474A (zh) | 现场可编程器件fpga的block ram级联结构 | |
EP1638108B1 (en) | Multi-port memory | |
CN107293318B (zh) | 一种可配位宽的嵌入式存储器 | |
JP3909509B2 (ja) | シリアルインタフェース回路 | |
CN103594110A (zh) | 替代双端口静态存储器的存储器结构 | |
CN117457040A (zh) | 一种fpga芯片中的初始化电路和初始化方法 | |
KR0176845B1 (ko) | 마이크로컴퓨터의 입출력포트 확장 방법 및 회로 | |
CN111755038A (zh) | 半导体存储装置 | |
US8854895B2 (en) | Semiconductor memory device | |
CN117253439A (zh) | 一种适用于大规模像素阵列行驱动的数控电路及驱动方法 | |
JPH07273640A (ja) | フィールドプログラマブルゲートアレー素子 |
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 |