CN116029241A - 一种fpga位流配置控制层及位流切换控制方法 - Google Patents
一种fpga位流配置控制层及位流切换控制方法 Download PDFInfo
- Publication number
- CN116029241A CN116029241A CN202211560758.1A CN202211560758A CN116029241A CN 116029241 A CN116029241 A CN 116029241A CN 202211560758 A CN202211560758 A CN 202211560758A CN 116029241 A CN116029241 A CN 116029241A
- Authority
- CN
- China
- Prior art keywords
- bit stream
- bitstream
- fpga
- file
- interface
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本发明涉及一种FPGA位流配置控制层,包括:接口模块,依次通过跳线盒和FPGACLB接口与FPGA内部CLB逻辑单元连接,所述接口模块配置为接收用户定义的语言信息;验证译码模块,配置为验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;位流选择和状态控制模块,配置为根据地址和命令通过外部接口转换模块获取新位流文件;外部接口转换模块,配置为根据位流选择和状态控制模块的指令从外部系统获取新位流文件;位流读写控制模块,配置为根据新位流文件完成位流的读写控制。本发明解决了传统FPGA的位流配置问题,可以根据用户逻辑的计算结果在超过10个甚至数百个位流文件中自由切换,从而大大扩展了FPGA的灵活性和功能。
Description
技术领域
本发明涉及FPGA芯片设计技术领域,特别涉及一种FPGA位流配置控制层及位流切换控制方法。
背景技术
FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。
传统FPGA配置电路,包括Lattice,安陆以及高云等公司的产品,均无法提供在多个位流文件中自由切换的机制,在上电状态下FPGA能使用的位流文件也不会超过4个。用户在使用FPGA的过程中,其具体功能由FPGA位流决定。传统FPGA通常只使用一两个位流文件,并且很少会在使用过程中切换位流文件。
然而在某些应用场合中,需要FGPA根据用户逻辑在各个位流文件之间快速切换,以实现多种具体的功能。而传统FPGA配置电路无法提供在多个位流文件中自由切换的机制。
因此有必要提供一种FPGA位流配置控制层及位流切换控制方法,以解决传统FPGA配置电路无法提供在多个位流文件中自由切换的机制。
发明内容
本发明的目的在于一种FPGA位流配置控制层及位流切换控制方法,以解决传统FPGA配置电路无法提供在多个位流文件中自由切换的机制。
为了解决现有技术中存在的问题,本发明提供了一种FPGA位流配置控制层,包括:
接口模块,依次通过跳线盒和FPGACLB接口与FPGA内部CLB逻辑单元连接,所述接口模块配置为接收用户定义在当前执行位流配置文件中的语言信息;
验证译码模块,配置为验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
位流选择和状态控制模块,配置为根据地址和命令通过外部接口转换模块获取新位流文件;
外部接口转换模块,配置为根据位流选择和状态控制模块的指令从外部系统获取新位流文件;
位流读写控制模块,配置为根据新位流文件完成位流的读写控制。
可选的,在所述FPGA位流配置控制层中,所述语言信息包括待获取位流文件的位置、大小、装载顺序以及装载过程的变量。
可选的,在所述FPGA位流配置控制层中,所述验证译码模块包括有效性验证单元、锁存单元和译码单元。
可选的,在所述FPGA位流配置控制层中,所述外部接口转换模块与外部串行接口、CPU的并行接口、主机模式接口或从机模式接口连接。
可选的,在所述FPGA位流配置控制层中,CPU的并行接口包括但不限于AXI接口、APB接口或AHB接口。
可选的,在所述FPGA位流配置控制层中,还包括位流校验模块,配置为对新位流文件进行校验;
所述位流读写控制模块根据校验无误的位流文件完成位流的读写控制。
可选的,在所述FPGA位流配置控制层中,所述位流选择和状态控制模块还配置为根据校验结果控制所述位流读写控制模块的状态。
可选的,在所述FPGA位流配置控制层中,所述位流读写控制模块完成位流的读写控制后,将形成的配置域位流数据回传至外部接口转换模块。
本发明还提供了一种位流切换控制方法,包括以下步骤:
接收用户定义在当前执行位流配置文件中的语言信息;
验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
根据地址和命令获取新位流文件;
对新位流文件进行校验;
根据校验无误的位流文件完成位流的读写控制。
可选的,在所述位流切换控制方法中,将所述位流文件划分为数据块进行切换、校验和读写控制。
在本发明所提供的FPGA位流配置控制层及位流切换控制方法中,FPGA的灵活性和功能复杂性可以得到大幅度的提高,在FPGA基础硬件资源未变的情况下,可以通过灵活分时段自由选择位流文件从而实现更加复杂的功能和计算能力。特别是在人工智能领域,可以通过本发明极大的提高芯片的有效算力和应用场合。
附图说明
图1为本发明实施例提供的FPGA位流配置控制层的模块图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
并且,在下文中,术语“第一”、“第二”等用于在类似要素之间进行区分,且未必是用于描述特定次序或时间顺序。要理解,在适当情况下,如此使用的这些术语可替换。类似的,如果本文所述的方法包括一系列步骤,则本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法中。
现有技术中,在某些应用场合中,需要FGPA根据用户逻辑在各个位流文件之间快速切换,以实现多种具体的功能。而传统FPGA配置电路无法提供在多个位流文件中自由切换的机制。
因此,有必要提供一种FPGA位流配置控制层,如图1所示,包括:
接口模块,依次通过跳线盒和FPGACLB接口与FPGA内部CLB逻辑单元连接,所述接口模块配置为接收用户定义在当前执行位流配置文件中的语言信息;
验证译码模块,配置为验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
位流选择和状态控制模块,配置为根据地址和命令通过外部接口转换模块获取新位流文件;
外部接口转换模块,配置为根据位流选择和状态控制模块的指令从外部系统获取新位流文件;
位流读写控制模块,配置为根据新位流文件完成位流的读写控制。
进一步的,所述语言信息包括待获取位流文件的位置、大小、装载顺序以及装载过程的变量。并且,所述语言信息为用户自定义的逻辑。
优选的,所述验证译码模块包括有效性验证单元、锁存单元和译码单元,所述效性验证单元验证所述语言信息的有效性,若无效则不再处理,若有效则通过锁存单元锁存所述语言信息,所述译码单元将所述语言信息转换成外部接口转换模块能识别的信息或者编码格式。
较佳的,在所述FPGA位流配置控制层中,所述接口模块依次通过跳线盒和FPGACLB接口与FPGA内部CLB逻辑单元连接,以接收用户定义在当前所执行的位流配置文件中的语言信息,其中FPGACLB为可配置逻辑块(Configurable LogicBlock,CLB),是FPGA芯片的底层元件之一。具体的,用户的控制逻辑通过硬件描述语言信息翻译成位流配置信息并写入位流配置文件中,这些位流配置信息在芯片工作过程中可以通过FPGACLB接口与所述FPGA位流配置控制层做信号交互,从而智能化地决定/选择下一个最佳的位流文件。
进一步的,所述外部接口转换模块与外部串行接口、CPU的并行接口、主机模式接口或从机模式接口连接,例如SPI(SerialPeripheralInterface)外部存储芯片或CPU的并行接口。其中,CPU的并行接口包括但不限于AXI接口、APB接口或AHB接口。从而可以从适当的地址读取所需的位流文件,以实现多功能,灵活切换的目标。
优选的,所述FPGA位流配置控制层还包括位流校验模块,配置为对新位流文件进行校验;所述位流选择和状态控制模块还配置为根据校验结果控制所述位流读写控制模块的状态,若校验无误,则所述位流读写控制模块根据校验无误的位流文件完成位流的读写控制,若校验有异常,则所述位流选择和状态控制模块控制所述位流读写控制模块关闭,即不进行读写操作。
进一步的,如图1所示,经过所述流读写控制模块的读写操作形成位流数据。所述位流读写控制模块完成位流的读写控制后,有能力将形成的配置域位流数据回传至外部接口转换模块,并通过外部串行接口、CPU的并行接口、主机模式接口或从机模式接口传递给外部系统,以供外部系统存储或分析。
本发明还提供了一种位流切换控制方法,包括以下步骤:
接收用户定义在当前执行位流配置文件中的语言信息;
验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
根据地址和命令获取新位流文件;
对新位流文件进行校验;
根据校验无误的位流文件完成位流的读写控制。
可选的,在所述位流切换控制方法中,将所述位流文件划分为数据块(即小块数据)进行切换、校验和读写控制,只有在每一小块数据读写完成后才会处理下一个小块数据。
综上,在本发明所提供的FPGA位流配置控制层及位流切换控制方法中,FPGA的灵活性和功能复杂性可以得到大幅度的提高,在FPGA基础硬件资源未变的情况下,可以通过灵活分时段自由选择位流文件从而实现更加复杂的功能和计算能力。特别是在人工智能领域,可以通过本发明极大的提高芯片的有效算力和应用场合。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
Claims (10)
1.一种FPGA位流配置控制层,其特征在于,包括:
接口模块,依次通过跳线盒和FPGACLB接口与FPGA内部CLB逻辑单元连接,所述接口模块配置为接收用户定义在当前执行位流配置文件中的语言信息;
验证译码模块,配置为验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
位流选择和状态控制模块,配置为根据地址和命令通过外部接口转换模块获取新位流文件;
外部接口转换模块,配置为根据位流选择和状态控制模块的指令从外部系统获取新位流文件;
位流读写控制模块,配置为根据新位流文件完成位流的读写控制。
2.如权利要求1所述的FPGA位流配置控制层,其特征在于,所述语言信息包括待获取位流文件的位置、大小、装载顺序以及装载过程的变量。
3.如权利要求1所述的FPGA位流配置控制层,其特征在于,所述验证译码模块包括有效性验证单元、锁存单元和译码单元。
4.如权利要求1所述的FPGA位流配置控制层,其特征在于,所述外部接口转换模块与外部串行接口、CPU的并行接口、主机模式接口或从机模式接口连接。
5.如权利要求4所述的FPGA位流配置控制层,其特征在于,CPU的并行接口包括但不限于AXI接口、APB接口或AHB接口。
6.如权利要求1所述的FPGA位流配置控制层,其特征在于,还包括位流校验模块,配置为对新位流文件进行校验;
所述位流读写控制模块根据校验无误的位流文件完成位流的读写控制。
7.如权利要求6所述的FPGA位流配置控制层,其特征在于,所述位流选择和状态控制模块还配置为根据校验结果控制所述位流读写控制模块的状态。
8.如权利要求6所述的FPGA位流配置控制层,其特征在于,所述位流读写控制模块完成位流的读写控制后,将形成的配置域位流数据回传至外部接口转换模块。
9.一种位流切换控制方法,其特征在于,包括以下步骤:
接收用户定义在当前执行位流配置文件中的语言信息;
验证所述语言信息,并对验证通过后的语言信息进行锁存和译码,得到地址和命令;
根据地址和命令获取新位流文件;
对新位流文件进行校验;
根据校验无误的位流文件完成位流的读写控制。
10.如权利要求9所述的位流切换控制方法,其特征在于,将所述位流文件划分为数据块进行切换、校验和读写控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211560758.1A CN116029241A (zh) | 2022-12-07 | 2022-12-07 | 一种fpga位流配置控制层及位流切换控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211560758.1A CN116029241A (zh) | 2022-12-07 | 2022-12-07 | 一种fpga位流配置控制层及位流切换控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116029241A true CN116029241A (zh) | 2023-04-28 |
Family
ID=86073087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211560758.1A Pending CN116029241A (zh) | 2022-12-07 | 2022-12-07 | 一种fpga位流配置控制层及位流切换控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116029241A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312185A (zh) * | 2023-10-17 | 2023-12-29 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
CN117422043A (zh) * | 2023-12-19 | 2024-01-19 | 上海芯璐科技有限公司 | 一种具有时钟网络的电路结构及其控制方法 |
-
2022
- 2022-12-07 CN CN202211560758.1A patent/CN116029241A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312185A (zh) * | 2023-10-17 | 2023-12-29 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
CN117312185B (zh) * | 2023-10-17 | 2024-04-09 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
CN117422043A (zh) * | 2023-12-19 | 2024-01-19 | 上海芯璐科技有限公司 | 一种具有时钟网络的电路结构及其控制方法 |
CN117422043B (zh) * | 2023-12-19 | 2024-03-19 | 上海芯璐科技有限公司 | 一种具有时钟网络的电路结构及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116029241A (zh) | 一种fpga位流配置控制层及位流切换控制方法 | |
JP6017034B2 (ja) | 状態機械エンジンが受信したデータを取り扱うための方法およびシステム | |
CN107609644B (zh) | 用于状态机中的数据分析的方法及系统 | |
US11829311B2 (en) | Custom compute cores in integrated circuit devices | |
CN110825464A (zh) | 用于提供由状态机引擎接收的数据的方法及设备 | |
US9904644B2 (en) | Systems and methods of using an SPI controller | |
CN112685240A (zh) | 芯片子系统验证方法和装置 | |
GB2519849A (en) | Memory controller, memory arrangement and memory access method | |
CN210983400U (zh) | 片上系统和微控制器 | |
Nguyen et al. | PR-HMPSoC: A versatile partially reconfigurable heterogeneous Multiprocessor System-on-Chip for dynamic FPGA-based embedded systems | |
US11675009B2 (en) | Converting formal verification testbench drivers with nondeterministic inputs to simulation monitors | |
CN111176926B (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
CN111079922B (zh) | 基于axi-apb的神经网络交互系统、方法、服务器及存储介质 | |
CN111651382A (zh) | 基于局部总线的数据采集系统的并行化存储实现方法 | |
US20230289500A1 (en) | Method and system for building hardware images from heterogeneous designs for eletronic systems | |
US20190012418A1 (en) | Simulation program, method, and device | |
Ujjan et al. | Implementation of 4-bit data transmission for accessing SD card with FPGA Embedded Soft Processor | |
CN115809620B (zh) | 仿真逻辑系统设计的方法、电子设备和存储介质 | |
CN116594830B (zh) | 硬件仿真工具、调试方法和存储介质 | |
Obrizan et al. | Multiversion parallel synthesis of digital structures based on SystemC specification | |
WO2017046941A1 (ja) | アーキテクチャ生成装置およびアーキテクチャ生成プログラム | |
Tomja | Enhancing Versatility and Efficiency of the CCSDS-123 Compression Algorithm through Dynamic Partial Reconfiguration for the HYPSO Mission | |
Staroletov | Towards Model Checking Linux Interrupts Behavior for SMP Systems | |
US20190012191A1 (en) | Simulation program, method, and device | |
del Valle et al. | Communication Buses for SoC Architectures |
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 |