CN111104362A - 配置现场可编程门阵列的装置及方法、现场可编程门阵列 - Google Patents

配置现场可编程门阵列的装置及方法、现场可编程门阵列 Download PDF

Info

Publication number
CN111104362A
CN111104362A CN201911349681.1A CN201911349681A CN111104362A CN 111104362 A CN111104362 A CN 111104362A CN 201911349681 A CN201911349681 A CN 201911349681A CN 111104362 A CN111104362 A CN 111104362A
Authority
CN
China
Prior art keywords
data
storage
unit
initial
protocol
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
Application number
CN201911349681.1A
Other languages
English (en)
Other versions
CN111104362B (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN201911349681.1A priority Critical patent/CN111104362B/zh
Publication of CN111104362A publication Critical patent/CN111104362A/zh
Application granted granted Critical
Publication of CN111104362B publication Critical patent/CN111104362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

一种配置现场可编程门阵列的装置及方法、现场可编程门阵列。该配置现场可编程门阵列的装置包括协议控制器和数据分发器,协议控制器配置为按照数据传输协议读取初始数据,由初始数据转换得到存储数据和与存储数据对应的数据存储地址,并输出存储数据和数据存储地址;数据分发器与协议控制器连接,配置为接收存储数据和数据存储地址,并根据数据存储地址分发存储数据至对应于数据存储地址的至少一个存储单元存储。该装置提高对现场可编程门阵列进行***级验证的效率。

Description

配置现场可编程门阵列的装置及方法、现场可编程门阵列
技术领域
本公开的实施例涉及一种配置现场可编程门阵列的装置及方法、现场可编程门阵列。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)是在PAL(Programmable Array Logic,可编程阵列逻辑)、GAL(generic array logic,通用逻辑阵列)等可编程器件的基础上进一步发展的产物。FPGA是由通过可编程互连连接的可配置逻辑块矩阵构成的半导体器件,并作为ASIC(Application Specific Integrated Circuit,专用集成电路)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
发明内容
本公开至少一个实施例提供了一种配置现场可编程门阵列的装置,包括:协议控制器,配置为按照数据传输协议读取初始数据,由所述初始数据转换得到存储数据和与所述存储数据对应的数据存储地址,并输出所述存储数据和所述数据存储地址;以及数据分发器,与所述协议控制器连接,配置为接收所述存储数据和所述数据存储地址,并根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储。
例如,本公开至少一个实施例提供的一种配置现场可编程门阵列的装置还包括初始存储器,通过数据总线与所述协议控制器连接,其中,所述初始存储器配置为存储所述初始数据,并按照所述数据传输协议向所述协议控制器发送所述初始数据。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述初始存储器包括可反复擦除写入的存储器。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述协议控制器还配置为存储所述数据传输协议。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述协议控制器包括数据传递单元和控制单元,所述数据传递单元配置为按照所述数据传输协议读取所述初始数据,且从所述初始数据转换得到所述数据存储地址和所述存储数据,并配置为输出所述数据存储地址和所述存储数据;以及所述控制单元配置为控制所述数据传递单元读取所述初始数据及输出所述数据存储地址和所述存储数据的操作。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述数据传递单元包括协议实现单元及数据拼接单元,所述协议实现单元配置为按照所述数据传输协议读取所述初始数据,且从所述初始数据转换得到所述数据存储地址和接收数据,所述接收数据具有第一位宽;以及所述数据拼接单元配置为从所述协议实现单元获取所述接收数据且将所述接收数据转换为所述存储数据,且将所述存储数据输出到所述数据分发器,所述存储数据具有第二位宽,其中,所述第二位宽不同于所述第一位宽。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述初始数据包括所述至少一个存储单元的数量、所述至少一个存储单元的容量及所述第二位宽,所述第二位宽为所述至少一个存储单元的数据存储地址的位宽。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述控制单元还配置为将所述第二位宽提供至所述数据拼接单元。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述控制单元还配置为:控制所述协议实现单元读取所述初始数据的操作,以及控制所述数据拼接单元获取所述接收数据和将所述存储数据输出到所述数据分发器的操作。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述控制单元还配置为从所述协议实现单元获取所述数据存储地址,以及将所述存储地址输出至所述数据分发器。
例如,在本公开至少一个实施例提供的一种配置现场可编程门阵列的装置中,所述控制单元还配置为控制所述数据分发器启动根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储的操作。
本公开至少一个实施例还提供了一种现场可编程门阵列,包括:上述任一实施例的配置现场可编程门阵列的装置;至少一个存储单元,与所述配置现场可编程门阵列的装置的数据分发器连接,并配置为能由所述数据分发器根据所述数据存储地址写入所述存储数据;以及功能处理单元,配置为与所述至少一个存储单元连接,从所述至少一个存储单元读取所述存储数据。
例如,在本公开至少一个实施例提供的一种现场可编程门阵列中,所述至少一个存储单元具有写入禁止功能。
本公开至少一个实施例还提供了一种配置现场可编程门阵列的方法,包括:按照数据传输协议读取初始数据,将所述初始数据转换为存储数据,并输出所述存储数据和与所述存储数据对应的数据存储地址;根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储;以及允许功能处理单元从所述至少一个存储单元读取所述存储数据。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开一实施例提供的一种配置现场可编程门阵列的装置的示意图;
图2为本公开一实施例提供的一种配置现场可编程门阵列的方法的流程图;
图3为本公开另一实施例提供的一种配置现场可编程门阵列的装置的示意图;
图4为本公开又一实施例提供的一种配置现场可编程门阵列的装置的示意图;
图5为本公开又一实施例提供的一种配置现场可编程门阵列的装置的示意图;
图6为本公开一实施例提供的一种现场可编程门阵列的示意图;以及
图7为本公开一实施例提供的一种配置现场可编程门阵列的装置的信号时序图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同。
随着人工智能、云计算以及大数据处理等技术的高速发展,FPGA因其并行处理能力及可编程性而受到广泛应用,FPGA的容量也随之逐年扩增以满足庞大的***级验证需求。在FPGA正式运行前,往往需要对FPGA进行***级验证以确保FPGA***级设计的正确性。FPGA中的RTL(Register Transfer Level,寄存器转换级电路)设计经过工具编译、综合以及布线后生成bit文件。bit文件为用于产生由FPGA所需的位流的程序生成的文件,该文件包含在电路中的配置信息。前述bit文件记录了RTL的设计信息并将这些设计信息映射到FPGA硬件从而实现FPGA功能电路。RTL的设计信息包含了启动只读存储器、启动装载器等固件的信息,这些固件(固件包括写入EPROM(Erasable Programmable Read Only Memory,可擦写可编程只读存储器)或EEPROM(Electrically Erasable Programmable Read OnlyMemory,电可擦可编程只读存储器)中的程序)用于完成对***的初始化,启动只读存储器通常以只读存储器的方式实现,所以在FPGA***级验证中启动只读存储器将同RTL设计一起固定成硬件逻辑而无法动态修改。在进行***级验证时,在对启动只读存储器进行修改时需要重新生成bit文件,因此重新编译生成bit文件往往需要数十小时乃至更长时间,使***级测试的效率大大下降,不利于***级验证的快速迭代。
FPGA***级验证往往需要反复修改固件内容以实现***的全面测试,其快速的迭代对提高验证效率非常重要,而固件都以只读存储器的方式实现,一旦生成FPGA的bit文件,该bit文件便不可再更改,且大规模***级设计其FPGA迭代bit文件的时间可超过数十小时,甚至几天。
本公开至少一实施例提供了一种配置现场可编程门阵列的装置。该装置包括协议控制器和数据分发器,该协议控制器配置为按照数据传输协议读取初始数据,由初始数据转换得到存储数据和与存储数据对应的数据存储地址,并输出存储数据和与存储数据对应的数据存储地址;该数据分发器与协议控制器连接,配置为接收存储数据和数据存储地址,并根据数据存储地址分发存储数据至对应于数据存储地址的至少一个存储单元存储。
本公开上述实施例提供的配置现场可编程门阵列(FPGA)的装置,通过协议控制器及数据分发器,可从FPGA外部获取初始数据,并将该初始数据转换为存储数据分发给FPGA的存储单元,从而将存储数据写入存储单元,进而可以有助于对FPGA进行快速迭代***级验证并提高***级验证效率,由此可以降低成本。
本公开至少一实施例还提供了一种配置现场可编程门阵列的方法,以及提供一种包括上述配置现场可编程门阵列的装置的现场可编程门阵列。
下面结合附图对本公开的实施例及其示例进行详细说明。
本公开至少一实施例提供了一种配置现场可编程门阵列的装置,图1为本公开至少一实施例提供的配置现场可编程门阵列的装置10的示意性框图。
如图1所示,该实施例的配置现场可编程门阵列的装置10包括协议控制器110以及数据分发器120,协议控制器110的输出端口与数据分发器120的输入端口连接。
例如,在一些示例中,数据分发器120包括至少一个存储器件(例如,寄存器)。数据分发器120接收数据之后,将数据划分至至少一个存储器件中,并根据数据对应的存储地址将至少一个存储器件中的数据写入数据的存储单元中。
例如,在一些示例中,协议控制器110按照与存储初始数据的存储设备(数据源)之间的数据传输协议,从FPGA外部读取初始数据,并将读取的初始数据转换(例如解析)为存储数据以及与存储数据对应的数据存储地址,并将存储数据及存储地址输出至数据分发器120。数据分发器120接收存储数据及数据存储地址,数据分发器120的输出端口可以与存储单元组130包括的存储单元对应连接。存储单元组130包括至少一个存储单元,数据分发器120包括至少一个输出端口,例如,存储单元与输出端口一一对应连接。数据分发器120根据数据存储地址分发存储数据至对应于该数据存储地址的存储单元存储。存储单元接收存储数据,存储单元中存储的数据可以被FPGA的其他功能处理单元(图中未示出)读取,由此例如可以被用于对FPGA进行快速迭代***级验证并提高***级验证效率。
例如,在本示例中,初始数据包括用于FPGA***级验证的数据,可以被储存于FPGA外部的存储设备中,由配置现场可编程门阵列的装置10读取、并转换为存储数据,将存储数据分发给存储单元组130。存储单元组130设置于FPGA内部,与数据分发器120通信(例如电连接),被写入存储数据,且可以由其他功能处理单元(图中未示出)读取。
例如,存储单元组130包括一个或多个存储单元(例如2个以上),如图1所示,该多个存储单元可以包括存储单元1、存储单元2、存储单元3…存储单元N,N为大于等于2的正整数。本公开实施例不以存储单元的个数为限。
例如,在一些示例中,数据传输协议被设置于协议控制器110中,例如,协议控制器110中存储有数据传输协议,由此协议控制器110在操作中可以调用该数据传输协议;或者,协议控制器110以硬件方式实现数据传输协议。
例如,在一些示例中,用于配置现场可编程门阵列的装置10位于FPGA装置内部,即作为FPGA装置的一部分,而存储初始数据的存储设备位于FPGA装置的外部,通过数据接口(图中未示出)与协议控制器110通信,该数据接口符合前述数据传输协议。本公开的实施例对于数据传输协议以及数据接口不作限定。
在本实施例中,FPGA的***级验证无需为了修改固件内容而重新生成bit文件,可将用于FPGA***级验证的数据存储于FPGA外部的存储设备中,并由配置现场可编程门阵列的装置读取、转换并分发至存储单元,进而可以被用于对FPGA进行快速迭代***级验证并提高***级验证效率。
本公开至少一实施例提供了一种配置现场可编程门阵列的方法,该方法采用了如图1所示的装置。以下参考图2所示的流程图来说明图1所示的配置现场可编程门阵列的装置10的工作原理。
如图2所示,本实施例的配置现场可编程门阵列的方法包括步骤S101~S103。
步骤S101:按照数据传输协议读取初始数据,将初始数据转换为存储数据,并输出存储数据和与存储数据对应的数据存储地址。
例如,在一些示例中,初始数据包括用于FPGA***级验证的数据,可以被储存于FPGA外部的存储设备中。
步骤S102:根据数据存储地址分发存储数据至对应于数据存储地址的至少一个存储单元存储。
步骤S103:允许功能处理单元从至少一个存储单元读取存储数据。
例如,在一些示例中,功能处理单元包括FPGA中用户设计的功能模块,可用于实现数字信号处理、分配计算资源等技术功能。本公开的实施例对功能处理单元的具体形式不做限制。
例如,在一些示例中,该方法可以通过HDL(Hardware Description Language,硬件描述语言)实现。HDL是对电子***硬件进行行为描述、结构描述、数据流描述的语言。利用HDL,可以从顶层到底层(从抽象到具体)逐层描述该方法,每一层次由至少一个模块组成;利用EDA(Electronics Design Automation,电子设计自动化)工具,逐层进行仿真验证,对每一层次中需要变为实际电路的模块进行组合,利用自动综合工具对这些模块进行转换得到门级电路网表;最后利用FPGA中的自动布局布线工具,将门级电路网表转换为具体电路布线结构,通过布线,可在FPGA中实现该方法。
本公开至少一实施例还提供了另一种配置现场可编程门阵列的装置,图3为本公开至少一实施例提供的配置现场可编程门阵列的装置20的示意性框图。
如图3所示,相比于图1所示的实施例,该实施例的配置现场可编程门阵列的装置20除了包括协议控制器210和数据分发器220,还包括初始存储器240。协议控制器210的输出端口与数据分发器220的输入端口连接,协议控制器210通过数据总线与初始存储器240连接。
例如,在一些示例中,协议控制器210按照与存储初始数据的初始存储器240之间的数据传输协议,从初始存储器240读取初始数据,并将读取的初始数据转换(例如解析)为存储数据以及与存储数据对应的数据存储地址,并将存储数据及存储地址输出至数据分发器220。数据分发器220接收存储数据及数据存储地址,数据分发器220的输出端口可以与存储单元组230包括的存储单元对应连接。存储单元组230包括至少一个存储单元,数据分发器220包括至少一个输出端口,例如,存储单元与输出端口一一对应连接。数据分发器220根据数据存储地址分发存储数据至对应于该数据存储地址的存储单元存储。存储单元接收存储数据,存储单元中存储的数据可以被FPGA的其他功能处理单元(图中未示出)读取。
例如,在本示例中,初始数据包括用于FPGA***级验证的数据,储存于初始存储器240,由配置现场可编程门阵列的装置20读取、并转换为存储数据,将存储数据分发给存储单元组230。存储单元组230设置于FPGA内部,与数据分发器220通信(例如电连接),被写入存储数据,且可以由其他功能处理单元(图中未示出)读取。
例如,存储单元组230包括一个或多个存储单元(例如2个以上),该多个存储单元可以包括存储单元1、存储单元2、存储单元3…存储单元N,N为大于等于2的正整数。
例如,在一些示例中,初始存储器240通过数据总线与协议控制器210可插拔地连接,被配置为存储初始数据,并按照数据传输协议向协议控制器210发送初始数据。
例如,在一些示例中,初始存储器240包括可反复擦除写入的存储器,例如电可擦可编程只读存储器(EEPROM)、闪存(Flash)等。本公开的实施例对于初始存储器的具体类型不作限定。
例如,初始存储器240可以选择为Flash且具有SPI(串行接口)(简称SPI Flash),SPI Flash可快速反复烧写,因此可快速地将初始数据烧写到SPI Flash中。又例如,Flash也可以具有CFI接口,由此得到CFI Flash。
例如,在一些示例中,数据传输协议被设置于协议控制器210中,例如,协议控制器210中存储有数据传输协议,由此协议控制器210在操作中可以根据数据传输协议调用不同硬件,以实现数据传输;或者,协议控制器210以硬件方式实现数据传输协议(例如,固定协议)。
例如,在一些示例中,数据传输协议包括寻址指令。初始数据在初始存储器240中存储的地址存储于协议控制器210中,协议控制器210根据数据传输协议读取存储于相应地址的初始数据。
例如,在一些示例中,数据总线可以实现片选、数据传递等功能。
例如,在一些示例中,协议控制器210和数据分发器220位于FPGA装置内部,即作为FPGA装置的一部分。
例如,在一些示例中,初始存储器240可以包括接口以便被写入数据,该接口符合前述数据传输协议。由此初始存储器240可以与协议控制器210等固定设置,初始存储器240设置在FPGA装置内;或者,在另一些示例中,初始存储器240也可从配置现场可编程门阵列的装置20中取出进行擦除写入操作。再将烧写好的初始存储器240通过总线与协议控制器210连接,由此初始存储器240设置在FPGA装置外,即为外部存储装置。
例如,配置现场可编程门阵列的装置20的协议控制器210在从初始存储器240读取初始数据之前,可以对协议控制器210以及数据分发器220进行设置,设置操作包括复位操作等。协议控制器210和数据分发器220的复位端口分别与FPGA的I/O端口(输入/输出端口)连接,当初始存储器240通过总线与协议控制器210连接之后,FPGA向协议控制器210及数据分发器220发送复位信号,将协议控制器210和数据分发器220复位,复位之后的协议控制器210开始从初始存储器240读取初始数据。
在本实施例中,可将初始数据快速写入初始存储器240中,例如,当初始存储器240选择为SPI Flash时,初始数据的写入仅需几分钟。
本公开至少一实施例还提供了一种配置现场可编程门阵列的装置,图4为本公开至少一实施例提供的配置现场可编程门阵列的装置30的示意性框图。
如图4所示,本实施例的配置现场可编程门阵列的装置30包括协议控制器310、数据分发器320和初始存储器340,协议控制器310的输出端口与数据分发器320的输入端口连接,协议控制器310通过数据总线与初始存储器340连接。相比于图3的实施例,在本实施例中,协议控制器310包括数据传递单元311和控制单元312,数据传递单元311与控制单元312连接。
例如,在一些示例中,协议控制器310按照与初始存储器340之间的数据传输协议从初始存储器340读取初始数据,并将读取的初始数据转换为存储数据以及与存储数据对应的数据存储地址,并将存储数据及存储地址输出至数据分发器320。数据分发器320接收存储数据及数据存储地址,数据分发器320的输出端口可以与存储单元组330包括的存储单元对应连接。存储单元组330包括至少一个存储单元,数据分发器320包括至少一个输出端口,例如,存储单元与输出端口一一对应连接。数据分发器320根据数据存储地址,分发存储数据至对应于该数据存储地址的至少一个存储单元存储。存储单元接收存储数据,存储单元中存储的数据可以被FPGA的其他功能处理单元(图中未示出)读取。
例如,在本示例中,初始数据包括用于FPGA***级验证的数据,储存于初始存储器340,由配置现场可编程门阵列的装置30读取、并转换为存储数据,将存储数据分发给存储单元组330。存储单元组330设置于FPGA内部,与数据分发器320通信(例如电连接),被写入存储数据,且可以由其他功能处理单元(图中未示出)读取。
例如,存储单元组330包括一个或多个存储单元(例如2个以上),该多个存储单元可以包括存储单元1、存储单元2、存储单元3…存储单元N,N为大于等于2的正整数。
例如,在一些示例中,初始数据还包括存储单元的数量(N)以及存储单元组330中每个存储单元的容量。
例如,在一些示例中,数据传递单元311的输出端口与数据分发器320的输入端口连接,数据传递单元311通过数据总线与初始存储器340连接,根据数据传输协议从初始存储器340中读取初始数据,并将初始数据转换为存储数据以及与存储数据对应的数据存储地址,并将存储数据及存储地址输出至数据分发器320。
例如,在一些示例中,数据传输协议被设置于数据传递单元311中,例如,数据传递单元311中存储有数据传输协议,由此数据传递单元311在操作中可以根据数据传输协议调用不同硬件,以实现数据传输;或者,数据传递单元311以硬件方式实现数据传输协议(例如,固定协议)。
例如,在一些示例中,数据传递单元311与控制单元312连接,控制单元312配置为控制数据传递单元311读取初始数据及输出数据存储地址和存储数据的操作。例如,控制单元312向数据传递单元311发送第一控制信号以控制数据传递单元311读取初始数据及输出数据存储地址和存储数据的操作。
例如,在一些示例中,初始数据在初始存储器340中存储的地址被存储在控制单元312中,数据传递单元311读取存储于控制单元312中的初始数据的地址。数据传递单元311根据传输协议从初始存储器340中读取的初始数据,初始数据在初始存储器340中被存储的位置对应于初始数据的地址。
例如,在一些示例中,初始存储器340通过数据总线与数据传递单元311可插拔地连接,被配置为存储初始数据,并按照数据传输协议向数据传递单元311发送初始数据。
例如,在一些示例中,初始存储器340包括可反复擦除写入的存储器,例如电可擦可编程只读存储器(EEPROM)、闪存(Flash)等。本公开的实施例对于初始存储器的具体类型不作限定。
例如,初始存储器340可以选择为可以选择为Flash且具有SPI(串行接口)(简称SPI Flash),SPI Flash可快速反复烧写,因此可快速地将初始数据烧写到SPI Flash中。又例如,Flash也可以具有CFI接口,由此得到CFI Flash。
例如,在一些示例中,存储单元组330中的每个存储单元为增加了写端口的只读存储器,例如Flash ROM(Flash Read-Only Memory,快闪只读存储器)。当数据分发器320将全部数据发送至存储单元组330后,存储单元组330的写入数据的功能关闭,此时,存储单元组330改为禁止写入模式,无法再被写入数据,仅能由功能处理单元(图中未示出)对存储单元组330中的存储数据进行读取。
本公开至少一实施例还提供了一种配置现场可编程门阵列的装置,图5为本公开至少一实施例提供的配置现场可编程门阵列的装置40的示意性框图。
如图5所示,本实施例的配置现场可编程门阵列的装置40包括协议控制器410、数据分发器420和初始存储器440,协议控制器410的输出端口与数据分发器420的输入端口连接,协议控制器410通过数据总线与初始存储器440连接。相比图4所示的实施例,在本实施例中,协议控制器410包括数据传递单元411和控制单元412,数据传递单元411与控制单元412连接。数据传递单元411包括协议实现单元413及数据拼接单元414,协议实现单元413与数据拼接单元414连接。
例如,在一些示例中,初始存储器440包括可反复擦除写入的存储器,例如电可擦可编程只读存储器(EEPROM)、闪存(Flash)等。
例如,在本示例中,初始存储器440可以选择为Flash且具有SPI(串行接口)(简称SPI Flash),SPI Flash可快速反复烧写,因此可快速地将初始数据烧写到SPI Flash中。
例如,在一些示例中,协议控制器410按照与初始存储器440之间的数据传输协议从初始存储器440读取初始数据,并将读取的初始数据转换为存储数据以及与存储数据对应的数据存储地址,并将存储数据及存储地址输出至数据分发器420。数据分发器420接收存储数据及数据存储地址,数据分发器420的输出端口可以与存储单元组430包括的存储单元对应连接。存储单元组430包括至少一个存储单元。数据分发器420根据数据存储地址,分发存储数据至对应于该数据存储地址的存储单元组430存储。存储单元接收存储数据,存储单元中存储的数据可以被FPGA的其他功能处理单元(图中未示出)读取。
例如,在本示例中,初始数据包括用于FPGA***级验证的数据,被储存于初始存储器440,由配置现场可编程门阵列的装置40读取、并转换为存储数据,将存储数据分发给存储单元组430。存储单元组430设置于FPGA内部,与数据分发器420通信(例如电连接),被写入存储数据,且可以由其他功能处理单元(图中未示出)读取。
例如,存储单元组430包括一个或多个存储单元(例如2个以上),该多个存储单元可以包括存储单元1、存储单元2、存储单元3…存储单元N,N为大于等于2的正整数。
例如,在一些示例中,协议实现单元413通过数据总线与初始存储器440连接,根据数据传输协议从初始存储器440中读取初始数据,并将初始数据转换为接收数据以及与接收数据对应的数据存储地址。接收数据具有第一位宽。
例如,在一些示例中,数据传输协议被设置于协议实现单元413中,例如,协议实现单元413中存储有数据传输协议,由此协议实现单元413在操作中可以根据数据传输协议调用不同硬件;或者,协议实现单元413以硬件方式实现数据传输协议(例如,固定协议)。
例如,在本示例中,第一位宽为SPI Flash接口标准位宽1字节(8bit)。
例如,在一些示例中,数据拼接单元414与协议实现单元413连接,从协议实现单元413中获取接收数据,将接收数据转换为存储数据,并将存储数据输出至数据分发器420。该存储数据具有第二位宽。
例如,在一些示例中,初始数据还包括至少一个存储单元的数量(N)、存储单元组430中每个存储单元的容量以及第二位宽。
例如,在一些示例中,第二位宽为存储单元组430的存储单元的数据存储地址的位宽。协议实现单元413从初始数据解析得到第二位宽,并将第二位宽发送至数据拼接单元414。
例如,在一些示例中,接收数据具有第一位宽,存储数据具有第二位宽,且第一位宽与第二位宽不同。
例如,在一些示例中,协议实现单元413与控制单元312连接,控制单元412配置为控制协议实现单元413读取初始数据及输出数据存储地址和接收数据的操作。例如,控制单元412向协议实现单元413发送第一控制信号,以控制数据传递单元411读取初始数据及输出数据存储地址和接收数据的操作。
例如,在一些示例中,协议实现单元413读取存储于控制单元412中的初始数据在初始存储器440中存储的地址。
例如,在一些示例中,控制单元412与数据分发器420连接,控制单元412从协议实现单元413中获取与存储数据对应的数据存储地址,并将数据存储地址发送至数据分发器420。
例如,在一些示例中,数据拼接单元414与控制单元412连接,控制单元412配置为控制数据拼接单元414获取接收数据且将接收数据转换为存储数据,且将存储数据输出到数据分发器420的操作。控制单元412向数据拼接单元414发送第二控制信号以控制数据拼接单元414获取接收数据和将存储数据输出到数据分发器的操作。
例如,在一些示例中,存储单元组430中的存储单元的数量N、存储单元组430中的每个存储单元的容量及第二位宽被存储于控制单元412中。控制单元412根据至少一个存储单元的数量N、存储单元组430中的每个存储单元的容量及第二位宽生成数据存储地址,并将数据存储地址发送至数据分发器420,将第二位宽发送至数据拼接单元414。
例如,在一些示例中,存储单元组430中的每个存储单元为增加了写端口的只读存储器,例如Flash ROM(Flash Read-Only Memory,快闪只读存储器)。当数据分发器420将全部数据发送至存储单元组430后,存储单元组430的写入数据的功能关闭,此时,存储单元组430改为禁止写入模式,无法再被写入数据,仅能由功能处理单元(图中未示出)对存储单元组430中的存储数据进行读取。
本公开至少一实施例提供了一种现场可编程门阵列,图6为本公开至少一实施例提供的现场可编程门阵列的示意性框图。
如图6所示,现场可编程门阵列包括如图5所示的配置现场可编程门阵列的装置40、存储单元组530及功能处理单元550。
例如,在一些示例中,功能处理单元550包括用户设计电路,在此对功能处理单元550的具体结构不做限制。功能处理单元550与存储单元组530连接,配置为从数据分发器530中读取存储数据。
FPGA(Field Programmable Gate Array,现场可编程门阵列)通过FPGA输入/输出端口向协议实现单元413、数据拼接单元414、控制单元412及数据分发器420的复位端口Rt发送复位信号,由此使得协议实现单元413、数据拼接单元414、控制单元412及数据分发器420被复位。
控制单元412的第一读使能端口R_en1与协议实现单元413的读使能端口R_en连接,控制单元412的读地址端口R_ad与协议实现单元413的读地址端口R_ad连接,复位信号释放后,控制单元412通过读使能端口R_en向协议实现单元413发送读使能,通过读地址端口R_ad向协议实现单元413发送读地址,使得协议实现单元413在读使能的驱动下根据读地址读取存储于控制单元412中的初始数据。
协议实现单元413通过片选端口cs_n与初始存储器440连接,向初始存储器440发送片选信号,通过时钟端口clk与初始存储器440连接,向初始存储器440发送时钟信号,通过使能端口sdo与初始存储器440连接,根据数据传输协议向初始存储器440发送读地址。初始存储器440通过读取端口sdi与初始存储器440连接,初始存储器440根据协议实现单元413发送的读地址,将对应地址的初始数据通过读取端口sdi返回至协议实现单元413。协议实现单元413通过转换初始数据得到接收数据、存储地址和第二位宽。其中,接收数据具有第一位宽。
协议实现单元413通过第一写地址端口W_ad1与控制单元412的写地址端口W_ad连接,将存储地址和第二位宽发送至控制单元412。
控制单元412通过第二读使能端口R_en2与数据拼接单元414的读使能端口R_en连接,将读使能和第二位宽发送至数据拼接单元414。数据拼接单元414通过数据输入端口In_d与协议实现单元413的读数据端口R_d连接,从协议实现单元413中获取接收数据,并将接收数据转换为存储数据,存储数据具有第二位宽。例如,数据转换方式可以选择数据拼接,已将具有第一位宽的接收数据拼接为具有第二位宽的存储数据。
例如,数据拼接单元414通过写数据端口W_d与数据分发器420的数据输入端口In_d连接,将具有第二位宽的存储数据发送至数据分发器420。
例如,在一些示例中,数据拼接单元414完成对一个具有第二位宽的存储数据的发送生成一个对应的传输完成信号。数据拼接单元414传输完成端口FIN与控制单元412的传输完成端口FIN连接,数据拼接单元414通过传输完成端口FIN发送传输完成信号至控制单元412的传输完成端口FIN。例如,控制单元412通过写使能端口W_en与数据分发器420的写使能端口W_en连接,并通过第二写地址端口W_ad2与数据分发器420的写地址端口W_ad连接。控制单元412在接收到数据拼接单元414发送的传输完成信号之后,将存储地址发送至数据分发器420,并发送写使能至数据分发器420。
例如,存储单元组530与数据分发器420连接,存储单元组530包括至少一个存储单元。存储单元的数量及每个存储单元的容量可根据实际需求设定。
例如,在一些示例中,如图6所示,存储单元组530包括四个存储单元。,四个存储单元分别为存储单元531、存储单元532、存储单元533和存储单元534。数据分发器420通过地址分发端口Mem_ad与存储单元组530连接。数据分发器420分别通过数据分发端口Mem_d_1、Mem_d_2、Mem_d_3和Mem_d_4分别与存储单元531、存储单元532、存储单元533和存储单元534的数据接收端口对应连接,将存储数据按照存储地址分发至对应的存储单元。例如,在其它示例中,数据拼接单元414还可以将具有第二位宽的全部存储数据发送至数据分发器420后,通过传输完成端口FIN发送最终传输完成信号至控制单元412的传输完成端口FIN。
例如,在一些示例中,控制单元412接收到数据拼接单元414发送的最后一个传输完成信号或最终传输完成信号之后,控制单元412通过写使能端口W_en向数据分发器420的写使能端口W_en发送写使能暂停信号,数据分发器420关闭写数据功能,此时,存储单元组530具有禁止写入功能,存储单元组530作为只读存储单元工作,无法再被写入数据,仅能由功能处理单元550对存储单元组530中的存储数据进行读取。
例如,在其它示例中,存储单元组530的总地址容量存储于控制单元412中,当控制单元412通过第二地址端口W_ad2向数据分发器420的写地址端口W_ad发送的存储地址总量达到存储单元组530的总地址容量时,控制单元412通过写使能端口W_en向数据分发器420的写使能端口W_en发送写使能暂停信号,数据分发器420关闭写数据功能,此时存储单元组530的存储单元具有禁止写入功能,存储单元组530作为只读存储单元工作,无法再被写入数据,仅能由功能处理单元550对存储单元组530中的存储数据进行读取。
例如,在一些示例中,数据分发器420关闭写数据功能后,通过复位释放端口R_rt向功能处理单元550的复位端口Rt发送复位信号,使得功能处理单元550正常启动。
例如,在一些示例中,功能处理单元550启动后,从存储单元组530中读取存储数据,实现***级验证。如需修改存储数据,仅需将初始存储器440中当前的初始数据擦除,写入新的初始数据,随后将初始存储器440与协议控制器410连接,开始新一轮的***级验证。
以下参考图7所示的信号时序图来说明图5所示的配置现场可编程门阵列的装置40的工作原理,在图7中共示出五个阶段,包括第一阶段a、第二阶段b、第三阶段c、第四阶段d和第五阶段e,详细过程如下所示。
在第一阶段a(复位阶段)中,FPGA通过输入/输出端口向控制单元412、协议实现单元413、数据拼接单元414及数据分发器420的复位端口Rt发送复位信号,控制单元412、协议实现单元413、数据拼接单元414及数据分发器420被复位。
在第二阶段b中,控制单元412、协议实现单元413、数据拼接单元414及数据分发器420完成复位之后,控制单元412通过第一读使能端口R_en1向协议实现单元413的读使能端口R_en发送读使能,通过读地址端口R_ad向协议实现单元413的读地址端口R_ad发送读使能,以及通过第二读使能端口R_en2向数据拼接单元414的读使能端口R_en发送读使能及第二位宽。
在第三阶段c中,协议实现单元413通过使能端口sdo向初始存储器440发送读地址;初始存储器440根据读地址,将对应的初始数据发送至协议实现单元413的读取端口sdi。
在第四阶段d中,数据拼接单元414通过数据输入端口In_d从协议实现单元413中获取接收数据,接收数据具有第一位宽,数据拼接单元414将接收数据拼接为存储数据,存储数据具有第二位宽。数据拼接单元414通过写数据端口W_d将存储数据发送至数据分发器420,控制单元412通过第二写地址端口W_ad2将存储地址发送至数据分发器420。
在第五阶段e中,存储数据的第二位宽不同于第四阶段d中的第二位宽,数据拼接单元414将接收数据拼接为存储数据所用的时间步长随着第二位宽的变化而改变。
在第四阶段d和第五阶段e中,数据拼接单元414完成对一个具有第二位宽的存储数据的发送生成一个对应的传输完成信号。数据拼接单元414传输完成端口FIN与控制单元412的传输完成端口FIN连接,数据拼接单元414通过传输完成端口FIN发送传输完成信号至控制单元412的传输完成端口FIN。控制单元412接收到数据拼接单元414发送的最后一个传输完成信号后,通过写使能端口W_en向数据分发器420的写使能端口W_en发送写使能暂停信号,数据分发器420关闭写数据功能,此时,存储单元组430具有禁止写入功能,无法再被写入数据,仅能由功能处理单元对存储单元组430中的存储数据进行读取。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种配置现场可编程门阵列的装置,包括:
协议控制器,配置为按照数据传输协议读取初始数据,由所述初始数据转换得到存储数据和与所述存储数据对应的数据存储地址,并输出所述存储数据和所述数据存储地址;以及
数据分发器,与所述协议控制器连接,配置为接收所述存储数据和所述数据存储地址,并根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储。
2.根据权利要求1所述的装置,还包括:
初始存储器,通过数据总线与所述协议控制器连接,
其中,所述初始存储器配置为存储所述初始数据,并按照所述数据传输协议向所述协议控制器发送所述初始数据。
3.根据权利要求2所述的装置,其中,所述初始存储器包括可反复擦除写入的存储器。
4.根据权利要求1所述的装置,其中,所述协议控制器还配置为存储所述数据传输协议。
5.根据权利要求1所述的装置,其中,所述协议控制器包括数据传递单元和控制单元,
所述数据传递单元配置为按照所述数据传输协议读取所述初始数据,且从所述初始数据转换得到所述数据存储地址和所述存储数据,并配置为输出所述数据存储地址和所述存储数据;以及
所述控制单元配置为控制所述数据传递单元读取所述初始数据及输出所述数据存储地址和所述存储数据的操作。
6.根据权利要求5所述的装置,其中,所述数据传递单元包括协议实现单元及数据拼接单元,
所述协议实现单元配置为按照所述数据传输协议读取所述初始数据,且从所述初始数据转换得到所述数据存储地址和接收数据,所述接收数据具有第一位宽;以及
所述数据拼接单元配置为从所述协议实现单元获取所述接收数据且将所述接收数据转换为所述存储数据,且将所述存储数据输出到所述数据分发器,所述存储数据具有第二位宽,
其中,所述第二位宽不同于所述第一位宽。
7.根据权利要求1-6任一所述的装置,其中,所述初始数据包括所述至少一个存储单元的数量、所述至少一个存储单元的容量及所述第二位宽,
所述第二位宽为所述至少一个存储单元的数据存储地址的位宽。
8.根据权利要求7所述的装置,其中,所述控制单元还配置为将所述第二位宽提供至所述数据拼接单元。
9.根据权利要求1-6任一所述的装置,其中,所述控制单元还配置为:
控制所述协议实现单元读取所述初始数据的操作,以及
控制所述数据拼接单元获取所述接收数据和将所述存储数据输出到所述数据分发器的操作。
10.根据权利要求1-6任一所述的装置,其中,所述控制单元还配置为从所述协议实现单元获取所述数据存储地址,以及将所述存储地址输出至所述数据分发器。
11.根据权利要求1-6任一所述的装置,其中,所述控制单元还配置为控制所述数据分发器启动根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储的操作。
12.一种现场可编程门阵列,包括:
权利要求1-11任一所述的配置现场可编程门阵列的装置;
至少一个存储单元,与所述配置现场可编程门阵列的装置的数据分发器连接,并配置为能由所述数据分发器根据所述数据存储地址写入所述存储数据;以及
功能处理单元,配置为与所述至少一个存储单元连接,从所述至少一个存储单元读取所述存储数据。
13.根据权利要求12所述的现场可编程门阵列,其中,所述至少一个存储单元具有写入禁止功能。
14.一种配置现场可编程门阵列的方法,包括:
按照数据传输协议读取初始数据,将所述初始数据转换为存储数据,并输出所述存储数据和与所述存储数据对应的数据存储地址;
根据所述数据存储地址分发所述存储数据至对应于所述数据存储地址的至少一个存储单元存储;以及
允许功能处理单元从所述至少一个存储单元读取所述存储数据。
CN201911349681.1A 2019-12-24 2019-12-24 配置现场可编程门阵列的装置及方法、现场可编程门阵列 Active CN111104362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911349681.1A CN111104362B (zh) 2019-12-24 2019-12-24 配置现场可编程门阵列的装置及方法、现场可编程门阵列

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911349681.1A CN111104362B (zh) 2019-12-24 2019-12-24 配置现场可编程门阵列的装置及方法、现场可编程门阵列

Publications (2)

Publication Number Publication Date
CN111104362A true CN111104362A (zh) 2020-05-05
CN111104362B CN111104362B (zh) 2021-09-10

Family

ID=70424416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911349681.1A Active CN111104362B (zh) 2019-12-24 2019-12-24 配置现场可编程门阵列的装置及方法、现场可编程门阵列

Country Status (1)

Country Link
CN (1) CN111104362B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948200A (zh) * 2021-02-01 2021-06-11 湖南品腾电子科技有限公司 基于mcu存储器可重用性验证***及方法
CN114185611A (zh) * 2021-11-26 2022-03-15 京微齐力(深圳)科技有限公司 一种待配置器件多列自动复制配置方法及电路

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204687B1 (en) * 1999-08-13 2001-03-20 Xilinx, Inc. Method and structure for configuring FPGAS
US7554358B1 (en) * 2006-04-05 2009-06-30 Lattice Semiconductor Corporation Programmable logic devices with user non-volatile memory
CN101615030A (zh) * 2009-01-09 2009-12-30 西安邮电学院 一种嵌入式***测试用的数据采集器
CN102609286A (zh) * 2012-02-10 2012-07-25 株洲南车时代电气股份有限公司 一种基于处理器控制的fpga配置程序远程更新***及其方法
CN103605542A (zh) * 2013-11-18 2014-02-26 曙光信息产业(北京)有限公司 Fpga配置文件的在线升级装置
CN103856210A (zh) * 2012-11-28 2014-06-11 艺伦半导体技术股份有限公司 一种控制fpga编程新地址的方法、装置及编程电路
CN207264382U (zh) * 2017-09-27 2018-04-20 中国科学院微电子研究所 现场可编程门阵列多版本配置的芯片及***
CN108108191A (zh) * 2018-01-09 2018-06-01 湖南国科微电子股份有限公司 一种soc芯片及soc芯片cpu指令集的配置方法
CN108319465A (zh) * 2018-04-09 2018-07-24 中国科学院微电子研究所 对fpga配置数据进行升级的电路及方法
US20190205144A1 (en) * 2017-12-29 2019-07-04 Lattice Semiconductor Corporation Fast boot systems and methods for programmable logic devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204687B1 (en) * 1999-08-13 2001-03-20 Xilinx, Inc. Method and structure for configuring FPGAS
US7554358B1 (en) * 2006-04-05 2009-06-30 Lattice Semiconductor Corporation Programmable logic devices with user non-volatile memory
CN101615030A (zh) * 2009-01-09 2009-12-30 西安邮电学院 一种嵌入式***测试用的数据采集器
CN102609286A (zh) * 2012-02-10 2012-07-25 株洲南车时代电气股份有限公司 一种基于处理器控制的fpga配置程序远程更新***及其方法
CN103856210A (zh) * 2012-11-28 2014-06-11 艺伦半导体技术股份有限公司 一种控制fpga编程新地址的方法、装置及编程电路
CN103605542A (zh) * 2013-11-18 2014-02-26 曙光信息产业(北京)有限公司 Fpga配置文件的在线升级装置
CN207264382U (zh) * 2017-09-27 2018-04-20 中国科学院微电子研究所 现场可编程门阵列多版本配置的芯片及***
US20190205144A1 (en) * 2017-12-29 2019-07-04 Lattice Semiconductor Corporation Fast boot systems and methods for programmable logic devices
CN108108191A (zh) * 2018-01-09 2018-06-01 湖南国科微电子股份有限公司 一种soc芯片及soc芯片cpu指令集的配置方法
CN108319465A (zh) * 2018-04-09 2018-07-24 中国科学院微电子研究所 对fpga配置数据进行升级的电路及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948200A (zh) * 2021-02-01 2021-06-11 湖南品腾电子科技有限公司 基于mcu存储器可重用性验证***及方法
CN114185611A (zh) * 2021-11-26 2022-03-15 京微齐力(深圳)科技有限公司 一种待配置器件多列自动复制配置方法及电路
CN114185611B (zh) * 2021-11-26 2023-09-12 京微齐力(深圳)科技有限公司 一种待配置器件多列自动复制配置方法及电路

Also Published As

Publication number Publication date
CN111104362B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN108572933A (zh) 用于直接存储器存取的数据缓冲器指针找取
CN104951334B (zh) FPGA双片QSPI flash的程序加载方法
CN102422271B (zh) 用于非易失性存储器***的多页准备命令
CN111104362B (zh) 配置现场可编程门阵列的装置及方法、现场可编程门阵列
US11675613B2 (en) Flexible physical function and virtual function mapping
CN112035381B (zh) 一种存储***及存储数据处理方法
CN104126177A (zh) 预交错顺序数据的***及方法
US9870316B2 (en) Bidirectional counter in a flash memory
US10635843B2 (en) Simulation modeling frameworks for controller designs
KR20140111323A (ko) 멀티 칩 패키지 nand 플래시 메모리 시스템에서의 디바이스 선택 방식
TWI506646B (zh) 半導體記憶體互連的方法及半導體記憶體系統
CN104572384A (zh) 一种芯片多fpga验证方法及***
CN107145465B (zh) 串行外设接口spi的传输控制方法、装置及***
CN106648758A (zh) 一种多核处理器boot启动***及方法
US20140089548A1 (en) Systems, Methods, and Articles of Manufacture To Stream Data
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
US8473710B2 (en) Multiple partitioned emulated electrically erasable (EEE) memory and method of operation
CN108694140A (zh) 用于寻址i2c总线上的非易失性存储器的方法和对应的存储器设备
CN111694513A (zh) 包括循环指令存储器队列的存储器器件和方法
US10585793B2 (en) Allocating shared memory blocks to table entries to store in a memory device
US7302667B1 (en) Methods and apparatus for generating programmable device layout information
WO2021208805A1 (zh) 硬件单板的逻辑地址空间的配置方法、设备和存储介质
US7472369B1 (en) Embedding identification information on programmable devices
CN211878599U (zh) 应用于现场可编辑门阵列fpga的仿真验证***
US9628085B1 (en) Method and device for accelerated access to signals of a programmable logic device

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
CB02 Change of applicant information

Address after: 300384 North 2-204 industrial incubation-3-8, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin

Applicant after: Haiguang Information Technology Co., Ltd

Address before: 300384 North 2-204 industrial incubation-3-8, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin

Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant