CN202049755U - 一种可编程器件 - Google Patents
一种可编程器件 Download PDFInfo
- Publication number
- CN202049755U CN202049755U CN2011201489680U CN201120148968U CN202049755U CN 202049755 U CN202049755 U CN 202049755U CN 2011201489680 U CN2011201489680 U CN 2011201489680U CN 201120148968 U CN201120148968 U CN 201120148968U CN 202049755 U CN202049755 U CN 202049755U
- Authority
- CN
- China
- Prior art keywords
- data
- configuration
- unit
- configurable unit
- configurable
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本实用新型涉及一种可编程器件。本实用新型包括至少一个可配置单元以及包括配置控制器和模式寄存器。该配置控制器一端与一外部存储器相连,另一端连接至可配置单元、模式寄存器,以便其从该存储器中读取配置比特流,并从该配置比特流中获取重配置数据和模式数据,进而向该模式寄存器发送相应可配置单元的模式数据,或者对相应可配置单元进行数据重配置。该模式寄存器与可配置单元相连,以便其根据接收到的且来自配置控制器的模式数据,并对所述至少一个可配置单元进行模式配置。其中,在该模式寄存器对该至少一个可配置单元进行模式配置基础上,该配置控制器对相应可配置单元进行数据重配置。本实用新型成本低,能够应用于可编程器件中。
Description
技术领域
本实用新型涉及可编程器件。
背景技术
可编程器件如FPGA、CPLD、DPGA等,其能够为用户提供可编程资源。可编程器件通常被用做测试、调试、仿真等,并且可编程器件的内部逻辑结构形式由配置数据来决定,因此,对可编程器件中的数据进行配置至关重要。可编程器件的数据重配置包括对引脚、时钟等数据的重配置。然而,无论哪种可编程器件,在对其进行重配置时,都需要通过可编程器件的外部控制器或者内部控制模块按照一定的时序发送指令,进而实现对该可编程器件的重配置。
现有技术的可编程器件的重配置,或者不区分是否要在用户模式下来完成,或者是通过单独的命令使可编程器件强制退出用户模式,然后才会启动重配置操作。此种不区分用户模式和非用户模式的方式,可编程器件的重配置不够灵活。而通过单独命令使可编程器件退出用户模式然后再启动重配置操作,则不能实现在用户模式下的重配置。
实用新型内容
本实用新型提供了一种能解决以上问题的可编程器件。
在第一方面,本实用新型提供了一种可编程器件。该可编程器件包括至少一个可配置单元、配置控制器、模式寄存器。该配置控制器一端与一外部存储器相连,另一端连接至可配置单元、模式寄存器,以便其从该存储器中读取配置比特流,并从该配置比特流中获取重配置数据和模式数据,进而向该模式寄存器发送相应可配置单元的模式数据,或者对相应可配置单元进行数据重配置。该模式寄存器与可配置单元相连,以便其根据接收到的且来自配置控制器的模式数据,并对该至少一个可配置单元进行模式配置。其中,在该模式寄存器对该至少一个可配置单元进行模式配置基础上,该配置控制器对相应可配置单元进行数据重配置。
进一步地,上述可编程器件与一个外部的重配置触发单元相连,以便该重配置触发单元向该配置控制器提供重配置命令以及提供上述配置比特流在存储器中的地址,从而使该配置控制器在接收到该重配置命令后从该存储器地址中读取上述配置比特流。
本实用新型通过调用不同配置比特流在完成重配置的同时,通过比特流的内容来区分是否在用户模式下完成数据重配置,从而实现了对可编程器件的动态重配置。本实用新型仅需要外部控制器或内部控制模块发送一种命令,并且本实用新型大大降低了可编程器件的外部控制器或内部控制模块的设计复杂度,成本更低。
附图说明
下面将参照附图对本实用新型的具体实施方案进行更详细的说明,在附图中:
图1是本实用新型一个实施例的可编程逻辑器件的动态重配置系统框图。
具体实施方式
图1是本实用新型一个实施例的可编程逻辑器件的动态重配置系统框图。该动态重配置系统包括重配置触发单元110、NVM存储器120、配置控制器131、模式寄存器132、可配置单元,且该可配置单元数量为若干个(包括可配置单元1、可配置单元2......可配置单元n)。其中,配置控制器131、模式寄存器132、可配置单元(包括可配置单元1、可配置单元2......可配置单元n)构成一个可编程器件,且其集成在一个芯片(即可配置芯片)上。
图1中,NVM存储器120可以是现有技术中的任意一种外部非易失存储器,如EEPROM、Flash等。该NVM存储器120用于存储多个配置比特流(包括重配置数据和模式数据),并且各配置比特流是根据用户需求而设定的。举例说明,用户的一个需求是:可配置单元1、可配置单元3被配置成用户模式,其他配置单元则被配置成非用户模式等。
上述用户模式是指,在重配置某可配置单元时(此重配置是指对可配置单元的数据进行的重配置,如对引脚、时钟等数据进行重配置),该可配置单元的功能仍旧能够正常使用。上述非用户模式是指,在重配置某可配置单元时,该可配置单元正在执行的功能需要被中断才能够完成对相应数据的重配置,也就是说,需要退出该可配置单元正在执行的功能。举例说明,若该动态重配置系统已经将可配置单元——IO单元(输入/输出单元)配置成用户模式,则在对该IO单元进行数据重配置时,该IO单元的输入输出功能仍可以正常使用而不会受到影响;若动态重配置系统已经将可配置单元——IO单元(输入/输出单元)配置成非用户模式,则在对该IO单元进行数据重配置时,则该IO单元是在其输入输出功能被中断的情况下完成的重配置。
该重配置触发单元110用于向配置控制器131发送重配置命令,并将配置比特流(包括重配置数据和模式数据)在NVM存储器120中的存储地址发送至该配置控制器131中。其中,NVM存储器120中存储的是以帧为单位,且每一配置比特流中包含若干帧(下面有对该帧格式进行详细阐述)。
一个例子中,该重配置触发单元110由若干开关来实现。
该配置控制器131在接收到来自该重配置触发单元110的重配置命令后,其从该重配置触发单元110所指定的NVM存储器中相应地址开始读取配置比特流,并根据所读取的配置比特流,来对该模式寄存器132进行设置或者对各可配置单元进行数据重配置。其中,该NVM存储器120所存储的地址中包含:各可配置单元的模式数据(包括用户模式和非用户模式),以及各可配置单元的重配置数据或某些可配置单元的重配置数据。
该模式寄存器132依据配置控制器131的设置,对各个可配置单元(包括可配置单元1、可配置单元2......可配置单元n)的模式进行配置,即将各可配置单元配置成用户模式或非用户模式。
下面对该NVM存储器、配置控制器、模式寄存器、可配置单元的工作原理做进一步阐述。
图1中,该配置控制器131的作用是读取外部NVM存储器120中的数据再做分析,并将分析得到的结果写入该模式寄存器131或者相应可配置单元中。一个例子中,该配置控制器131读取数据的方式是:上电时从0地址开始读取并完成第一次配置,并在该重配置触发单元110发起重配置命令时,该配置控制器131从该重配置触发单元110所指示的地址开始读取数据。
在NVM存储器120中,其存储数据是按照一定的格式来实现的。
具体地,该NVM存储器120存储的数据以帧为基本单位,且每一配置比特流包含若干个帧。一个例子中,该NVM存储器120中的每一帧包含一个32比特的Header(指令)和一个Nx32(32的整数倍)比特的Data(数据),并且该帧用于配置模式寄存器132和可配置单元。其中,Header用于指示配置的对象,以及配置对象所需要的数据长度;Data是配置指定对象所需的数据。具体的帧格式参见表2,Header格式参见表1。
Header格式为:
表1
由表1可知,Header的第28位到第31位用于表明所要配置的对象。其中,[31:28]==0000表示配置模式寄存器;[31:28]==0001表示配置可配置单元1;[31:28]==0010表示配置可配置单元2;[31:28]==0011表示配置可配置单元3;......。Header的第27位是最后一帧的标志位,且[27]==1表示最后一帧,[27]==0表示非最后一帧。Header的第0位到第26位用于表明帧数据长度。帧格式为:
表2
由表2可知,该配置控制器131从NVM存储器120中读取数据的顺序是从表2的第一帧到最后一帧。在第一帧中,Header=32’h 0000_001f,由于[31:28]==0000,表示用于配置模式寄存器;并且由于十六进制的1f为十进制的31,31+1=32bit,因此需要1行的32bit数据表示。由于第一帧中的Header表示配置模式寄存器,则该第一帧中的Data表示该模式寄存器可获得的具体配置数据,即其需要配置的可配置单元的模式数据,具体模式寄存器获取的数据格式参见表3。在第一帧的Data中,Data=32’h0000_0003,表示可配置单元1和可配置单元2处于用户模式,其他可配置单元处于非用户模式。理由参见表3,表3中,模式寄存器中的Data,在第0比特为1时表示可配置单元1是用户模式,在第1bit为1时表明可配置单元2是用户模式;由于32’h0000_0003中十六进制的3为二进制的11,因此,在32’h0000_0003中,第0bit为1,第1bit为1,其他bit为0。由此可知,可配置单元1为用户模式,可配置单元2为用户模式,其他可配置单元为非用户模式。
表2中,第二帧的Header=32’h1000_00ff,其[31:28]==0001,表示用于配置可配置单元1;[26:0]==ff,表示数据长度为256bit,由于每行数据32bit,因此供需8行数据。第二帧的Data=32’h1234_5678表示读取的第一行数据为32’h1234_5678;Data=32’habcd_1234表示所读取的第二行数据为32’habcd_1234;......;Data=32’h1122_3344表示所读取的第八行数据为32’h1122_3344。当配置控制器从NVM存储器获取的数据为Header=32’hf800_001f时,其第27位为1,表明此帧为最后一帧,因此结束此次重配置过程。
模式寄存器数据格式为:
表3
综上,当配置控制器131从NVM存储器120中读取比特流时,首先读取到32比特数据是Header,通过分析该Header即可知道该帧数据配置的对象、配置数据的长度以及在该NVM存储器120中所占用的行数N。然后该配置控制器131将该N行数据依次读出并送到模式寄存器132或者相应可配置单元中,从而完成了本帧数据的配置。然后该配置控制器继续读取下一个Header,......。直到该配置控制器131接收到的Header中表明其接收到的帧数据为最后一帧数据,则在读完该帧之后结束本次配置。
需要说明的是,图1中的模式寄存器132也可以处于配置控制器131内,也就是说,该模式寄存器132与该配置控制器131可处于同一模块或同一单元中。
显而易见,在不偏离本实用新型的真实精神和范围的前提下,在此描述的本实用新型可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本实用新型所要求保护的范围仅由所述的权利要求书进行限定。
Claims (3)
1.一种可编程器件,其特征在于,包括至少一个可配置单元以及包括配置控制器和模式寄存器;
所述配置控制器一端与一外部存储器相连,另一端连接至所述可配置单元、模式寄存器,以便其从该存储器中读取配置比特流,并从该配置比特流中获取重配置数据和模式数据,进而向该模式寄存器发送相应可配置单元的模式数据,或者对相应可配置单元进行数据重配置;
所述模式寄存器与所述可配置单元相连,以便其根据接收到的且来自所述配置控制器的模式数据,对所述至少一个可配置单元进行模式配置;
其中,在该模式寄存器对该至少一个可配置单元进行模式配置基础上,该配置控制器对相应可配置单元进行数据重配置。
2.如权利要求1所述的一种可编程器件,其特征在于,所述存储器为NVM存储器。
3.如权利要求1所述的一种可编程器件,其特征在于,所述可编程器件与一个外部的重配置触发单元相连,以便该重配置触发单元向该配置控制器提供重配置命令以及提供所述配置比特流在存储器中的地址,从而使该配置控制器在接收到该重配置命令后从该存储器地址中读取所述配置比特流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011201489680U CN202049755U (zh) | 2011-05-11 | 2011-05-11 | 一种可编程器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011201489680U CN202049755U (zh) | 2011-05-11 | 2011-05-11 | 一种可编程器件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202049755U true CN202049755U (zh) | 2011-11-23 |
Family
ID=44990056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011201489680U Expired - Lifetime CN202049755U (zh) | 2011-05-11 | 2011-05-11 | 一种可编程器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202049755U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106098104A (zh) * | 2016-06-11 | 2016-11-09 | 复旦大学 | Fpga芯片内嵌bram核的测试系统及方法 |
CN111857866A (zh) * | 2020-06-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
-
2011
- 2011-05-11 CN CN2011201489680U patent/CN202049755U/zh not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106098104A (zh) * | 2016-06-11 | 2016-11-09 | 复旦大学 | Fpga芯片内嵌bram核的测试系统及方法 |
CN111857866A (zh) * | 2020-06-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
CN111857866B (zh) * | 2020-06-29 | 2022-06-17 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101154190B (zh) | 映射信息管理设备和方法 | |
CN1932789B (zh) | 利用usb和外设部件互连功能的增强ccid电路和系统 | |
CN105404525A (zh) | 管理计算机系统中的基本输入输出系统配置的方法及装置 | |
CN105930186B (zh) | 多cpu的软件加载方法及基于多cpu的软件加载装置 | |
CN110083554A (zh) | 用于配置混合存储器模块的存储器的i/o的设备及方法 | |
CN103744713A (zh) | 基于fpga的嵌入式双核系统的自主配置方法 | |
JP6643568B2 (ja) | 不揮発制御によるrfモジュール初期化システム及び方法 | |
CN102866865B (zh) | 一种fpga专用配置存储器多版本码流存储电路架构 | |
CN105095569A (zh) | 一种基于arm和flash的fpga重配置系统 | |
CN109815171A (zh) | 用于存储器控制器发现供应商特定非易失性存储器设备的方法和装置 | |
CN103678187A (zh) | 一种微控制单元及其控制方法 | |
JP2012203940A (ja) | 半導体記憶装置及びその動作環境設定方法 | |
CN102622257A (zh) | 电表在线自更新方法及其装置 | |
CN104679547A (zh) | 一种mcu中的系统配置信息的读取方法和系统 | |
CN100485810C (zh) | 逻辑与非快闪存储器芯片存取方法及与非快闪存储器芯片 | |
US8627119B2 (en) | Script engine for control of power management controllers | |
CN202049755U (zh) | 一种可编程器件 | |
CN100437485C (zh) | 用于配置计算机系统的系统和方法 | |
JP2003044303A (ja) | コンピュータ装置 | |
CN102985916A (zh) | 微控制器及其控制方法 | |
CN102708081A (zh) | 用户可编程的plc串口通讯扩展模块 | |
CN109814888A (zh) | NandFlash控制器EFUSE代替方法及装置 | |
KR20090120675A (ko) | 불휘발성 메모리 소자의 어드레스 입력 방법 및 동작 방법 | |
US8825912B2 (en) | Dynamic state configuration restore | |
CN211878599U (zh) | 应用于现场可编辑门阵列fpga的仿真验证系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180601 Granted publication date: 20111123 |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20111123 |