CN106383936B - 一种fpga存储器拆分方法 - Google Patents

一种fpga存储器拆分方法 Download PDF

Info

Publication number
CN106383936B
CN106383936B CN201610807949.1A CN201610807949A CN106383936B CN 106383936 B CN106383936 B CN 106383936B CN 201610807949 A CN201610807949 A CN 201610807949A CN 106383936 B CN106383936 B CN 106383936B
Authority
CN
China
Prior art keywords
ram
primitive
primitives
instance
splitting
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.)
Active
Application number
CN201610807949.1A
Other languages
English (en)
Other versions
CN106383936A (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.)
Jingwei Qili Beijing Technology Co ltd
Original Assignee
Jingwei Qili (beijing) 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 Jingwei Qili (beijing) Technology Co Ltd filed Critical Jingwei Qili (beijing) Technology Co Ltd
Priority to CN201610807949.1A priority Critical patent/CN106383936B/zh
Publication of CN106383936A publication Critical patent/CN106383936A/zh
Application granted granted Critical
Publication of CN106383936B publication Critical patent/CN106383936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明涉及一种FPGA存储器拆分方法,该方法根据RAM实例的实例尺寸以及FPGA芯片上存在的多种RAM原语的原语尺寸确定最小粒度,并根据最小粒度对RAM实例进行拆分获得原语矩阵,再合并原语矩阵的地址总线和/或数据总线获得由一种RAM原语组成的RAM实例。本发明实施例提供的拆分方法简单易实现、拆分结果接近或达到最优;并且拆分获得的RAM实例为规则的矩阵,极大地方便了后续的映射操作,也使得拆分与映射操作相对独立,当优化组合策略时,无需修改映射操作。

Description

一种FPGA存储器拆分方法
技术领域
本发明涉及电子技术领域,尤其涉及一种FPGA存储器拆分方法。
背景技术
现场可编程门阵列(Field Programmable Gate Array,FPGA),它是作为专用集成电路(Application Specific Integrated Circuit,ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。适用于逻辑控制、信号处理、图像处理等多种领域,仅在中国,FPGA芯片的市场就超过百亿人民币,并且以30%每年的速度增长,重要性不言而喻。
在FPGA的具体设计过程中,由于用户所设计的随机存取存储器(random accessmemory,简称RAM)实例尺寸可以是任意的,但是FPGA芯片上的RAM原语尺寸是固定的,当实例尺寸超出原语尺寸时,需要考虑如何由多个原语尺寸的小RAM组成实例尺寸的大RAM,上述问题为存储器拆分问题。FPGA存储器通常有许多端口和参数,尤其是当需要多块存储器拼接成一个更大的存储器时,存储器的映射操作将会变得非常复杂。而且一款具体型号的FPGA芯片通常具有多种不同尺寸的RAM原语,这进一步增加了问题的复杂性。现有技术解决上述问题存在一定的技术缺陷,如:拆分方法复杂、拆分结果不便于后续操作等。
发明内容
本发明实施例提供了一种存储器拆分方法,该方法包括:获取RAM实例的实例尺寸以及芯片上多种RAM原语的原语尺寸;根据多种RAM原语的原语尺寸确定最小粒度,并根据实例尺寸以最小粒度对RAM实例进行拆分,获得RAM实例的原语矩阵;根据多种RAM原语的原语尺寸合并原语矩阵的地址总线,完成对RAM实例的地址拆分,其中,地址拆分后的RAM实例由多种RAM原语的一种组成。
可选地,在上述方法中,还包括:计算地址拆分后的RAM实例中每块RAM原语的利用率,当利用率小于利用阈值时,合并原语矩阵的数据总线,完成对RAM实例的数据拆分,其中,数据拆分后的RAM实例由多种RAM原语的一种组成。
可选地,在上述方法中,利用阈值根据芯片的设计需求进行设定。
可选地,在上述方法中,原语尺寸包括RAM原语的原语地址总线宽度、原语数据总线宽度和RAM原语的工作模式。
可选地,在上述方法中,根据多种RAM原语的原语尺寸确定最小粒度,包括:以多种RAM原语中原语尺寸最小的RAM原语为最小粒度,当RAM实例的地址线宽度大于最小粒度RAM原语的原语地址总线宽度时,最小粒度RAM原语的工作模式为×1。
本发明实施例提供了另一种存储器拆分方法,该方法包括:获取RAM实例的实例尺寸以及芯片上多种RAM原语的原语尺寸;根据多种RAM原语的原语尺寸确定最小粒度,并根据实例尺寸以最小粒度对RAM实例进行拆分,获得RAM实例的原语矩阵;根据多种RAM原语的原语尺寸合并原语矩阵的地址总线,完成对RAM实例的地址拆分;并且/或者根据多种RAM原语的原语尺寸合并原语矩阵的数据总线,完成对RAM实例的数据拆分,其中,地址拆分或数据拆分后的RAM实例由多种RAM原语的一种组成。
本发明实施例所提供一种存储器拆分方法,根据RAM实例的实例尺寸以及FPGA芯片上存在的多种RAM原语的原语尺寸确定最小粒度,并根据最小粒度对RAM实例进行拆分获得原语矩阵,再合并原语矩阵的地址总线(或者还包括数据总线)获得由一种RAM原语组成的RAM实例,拆分方法简单易实现、拆分结果接近或达到最优;并且拆分获得的RAM实例为规则的矩阵,极大地方便了后续的映射操作,也使得拆分与映射操作相对独立,当优化组合策略时,无需修改映射操作。
附图说明
图1为本发明实施例提供的一种存储器拆分方法流程示意图;
图2为本发明实施例一的RAM实例拆分流程示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
在FPGA进行存储器拆分时,将RAM实例拆分成RAM原语矩阵,存储器拆分的结果是RAM原语矩阵和周边逻辑资源(LUT/REG),因此较好的拆分策略应该是使RAM原语数量和周边逻辑资源数量同时达到最小。由于周边逻辑资源主要来源于存储器地址扩展,数据扩展不需要引入额外逻辑,因此需要尽量避免地址扩展。在RAM实例拆分中所用RAM原语的数量取决于每块RAM原语的利用率。在实际RAM尺寸固定的情况下,每块RAM原语资源利用率越高,需要的RAM原语的数量就会越少。如果每块RAM资源地址总线得到充分利用,利用率就能达到或接近最高,从而使耗费的RAM原语数量达到最小。
但在现有技术的实际拆分过程中,拆分方法复杂、差分结果不便于后续操作(映射等)。本发明提供一种FPGA存储器拆分方法,根据RAM实例的实例尺寸以及FPGA芯片上存在的多种RAM原语的原语尺寸确定最小粒度,并根据最小粒度对RAM实例进行拆分获得原语矩阵,再合并原语矩阵的地址总线(或者还包括数据总线)获得由一种RAM原语组成的RAM实例。
图1为本发明实施例提供的一种存储器拆分方法流程示意图,如图1所示,该方法包括:
步骤S101,获取RAM实例的实例尺寸以及芯片上多种RAM原语的原语尺寸。
需要说明的是,RAM实例是用户RTL(Register Transfer Level)设计推断出的,包括RAM实例的实例尺寸(地址总线宽度、数据总线宽度)。RAM原语是FPGA芯片上的,FPGA芯片上具有多种RAM原语,每种RAM原语的原语尺寸不同。
步骤S102,根据多种RAM原语的原语尺寸确定最小粒度,并根据实例尺寸以最小粒度对所述RAM实例进行拆分,获得RAM实例的原语矩阵。
需要说明的是,此时所获得的原语矩阵由选定的最小粒度的RAM原语组成。
可选地,以多种RAM原语中原语尺寸最小的RAM原语为最小粒度,当RAM实例的地址总线宽度大于最小粒度RAM原语的原语地址总线宽度时,为了便于拆分将最小粒度RAM原语的工作模式选为×1。
步骤S103,根据多种RAM原语的原语尺寸合并原语矩阵的地址总线和/或数据总线,完成对RAM实例的拆分,其中,拆分后的RAM实例由多种RAM原语的一种组成。
具体地,根据所述多种RAM原语的原语尺寸合并所述原语矩阵的地址总线,完成对所述RAM实例的地址拆分;而后计算地址拆分后的RAM实例中每块RAM原语的利用率,当利用率小于利用阈值时,合并原语矩阵的数据总线,完成对RAM实例的数据拆分,其中,数据拆分后的RAM实例由多种RAM原语的一种组成。其中,在本发明实施例中RAM原语的利用率是指RAM原语地址总线的利用率;利用阈值则根据FPGA芯片实际设计的具体要求进行设定,如50%。
需要说明的是,由于步骤S102所获得的原语矩阵由最小粒度的RAM原语组成,但FPGA芯片中具有多种RAM原语,为了更好的完成拆分,需对原语矩阵的地址总线进行合并,以便将RAM实例拆分为由多种RAM原语的其中一种RAM原语组成。
下面结合更为具体的实施例对本发明实施例所提供的方法进行进一步的说明。
实施例一
在FPGA芯片中存在三款RAM原语,分别为RAM4K、RAM8K和RAM16K,三种RAM原语的具体原语尺寸详见表1:
表1原语尺寸参数
Figure BDA0001111053850000051
需要说明的是,RAM8K由两块RAM4K组成,RAM16K由四块RAM4K组成,AW表示地址总线宽度,DW表示数据总线宽度。对于RAM4K而言,当其工作模式为×1时,其地址总线宽度为12、数据总线宽度为1,此时用A12D1对RAM4K进行描述。
用户RTL设计中推断出一块地址总线宽度15位,数据总线宽度8位的RAM实例,则根据本发明实施例所提供的方法,对RAM实例(AW=15,DW=8)进行拆分,图2为本发明实施例一的RAM实例拆分流程示意图,如图2所示,RAM实例的具体拆分过程为:
第一步,确定RAM实例的尺寸以及该FPAG芯片上RAM原语的尺寸;则游标已可知:RAM实例(AW=15,DW=8)、RAM4K(AW=12,DW=16)、RAM8K(AW=13,DW=32)以及RAM16K(AW=14,DW=64),如图2-1即为RAM实例示意图。
第二步,由于RAM4K的尺寸最小,因此最小粒度为RAM4K,又由于RAM实例的地址总线宽度15大于RAM4K的原语地址总线宽度12,因此最小粒度RAM4K的工作模式为×1;而后将RAM4K作为最小粒度对RAM实例进行拆分,将RAM实例拆分成8×8块A12D1的RAM4K(如图2-2)。
第三步,合并原语矩阵的地址总线,由于FPGA中三种RAM原语的存在大小差距,可以将四块RAM4K合并其地址总线成为一块A14D1的RAM16K,则进一步地可以将8×8块A12D1的RAM4K合并成2×8块A14D1的RAM16K(如图2-3)。
第四步,对每块RAM16K利用率进行计算,在本实施例中RAM16K的利用率为100%大于利用阈值50%,因此无需继续数据总线的合并,结束此次RAM实例的拆分。
显而易见的,根据本发明实施例所提供的方法对RAM实例进行拆分,获得的拆分结果是非常规则的矩阵极大的方便了后续的映射操作,并且拆分与映射相对独立,互不影响。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种存储器拆分方法,其特征在于,所述方法包括:
获取RAM实例的实例尺寸以及芯片上多种RAM原语的原语尺寸;
根据所述多种RAM原语的原语尺寸确定最小粒度,以所述多种RAM原语中原语尺寸最小的RAM原语为所述最小粒度;
根据所述实例尺寸以所述最小粒度对所述RAM实例进行拆分,获得RAM实例的原语矩阵;
根据所述多种RAM原语的原语尺寸合并所述原语矩阵的地址总线,完成对所述RAM实例的地址拆分,其中,地址拆分后的所述RAM实例由所述多种RAM原语的一种组成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算地址拆分后的所述RAM实例中每块所述RAM原语的利用率,所述RAM的原语利用率是指RAM原语地址总线的利用率;当所述利用率小于利用阈值时,合并所述原语矩阵的数据总线,完成对所述RAM实例的数据拆分,其中,数据拆分后的所述RAM实例由所述多种RAM原语的一种组成。
3.根据权利要求2所述的方法,其特征在于,所述利用阈值根据芯片的设计需求进行设定。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多种RAM原语的原语尺寸确定最小粒度,包括:
当所述RAM实例的地址总线宽度大于所述最小粒度RAM原语的原语地址总线宽度时,所述最小粒度RAM原语的工作模式选为×1。
5.一种存储器拆分方法,其特征在于,所述方法包括:
获取RAM实例的实例尺寸以及芯片上多种RAM原语的原语尺寸;
根据所述多种RAM原语的原语尺寸确定最小粒度,以所述多种RAM原语中原语尺寸最小的RAM原语为所述最小粒度;
根据所述实例尺寸以所述最小粒度对所述RAM实例进行拆分,获得RAM实例的原语矩阵;
根据所述多种RAM原语的原语尺寸合并所述原语矩阵的地址总线,完成对所述RAM实例的地址拆分;并且
根据所述多种RAM原语的原语尺寸合并所述原语矩阵的数据总线,完成对所述RAM实例的数据拆分,其中,地址拆分或数据拆分后的所述RAM实例由所述多种RAM原语的一种组成。
CN201610807949.1A 2016-09-07 2016-09-07 一种fpga存储器拆分方法 Active CN106383936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610807949.1A CN106383936B (zh) 2016-09-07 2016-09-07 一种fpga存储器拆分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610807949.1A CN106383936B (zh) 2016-09-07 2016-09-07 一种fpga存储器拆分方法

Publications (2)

Publication Number Publication Date
CN106383936A CN106383936A (zh) 2017-02-08
CN106383936B true CN106383936B (zh) 2020-01-31

Family

ID=57939105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610807949.1A Active CN106383936B (zh) 2016-09-07 2016-09-07 一种fpga存储器拆分方法

Country Status (1)

Country Link
CN (1) CN106383936B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948324A (zh) * 2021-04-16 2021-06-11 山东高云半导体科技有限公司 存储器映射处理方法、装置及fpga芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63183693A (ja) * 1987-01-23 1988-07-29 Mitsubishi Electric Corp 半導体記憶装置
CN102946502A (zh) * 2012-10-10 2013-02-27 西安诺瓦电子科技有限公司 一种高速数据多路拆分传输处理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123609B (zh) * 2013-03-13 2015-07-15 中国科学院上海微系统与信息技术研究所 存储器的分块管理方法
CN105426314B (zh) * 2014-09-23 2018-09-11 京微雅格(北京)科技有限公司 一种fpga存储器的工艺映射方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63183693A (ja) * 1987-01-23 1988-07-29 Mitsubishi Electric Corp 半導体記憶装置
CN102946502A (zh) * 2012-10-10 2013-02-27 西安诺瓦电子科技有限公司 一种高速数据多路拆分传输处理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Small Virtual Channel Routers on FPGAs Through Block RAM Sharing;Jimmy Kwa 等;《2012 International Conference on Field-Programmable Technology》;20121212;第71-79页 *
粗粒度动态可重构处理器中的高能效关键配置技术研究;王延升;《中国博士学位论文全文数据库 信息科技辑》;20160515(第5期);第I137-1页 *

Also Published As

Publication number Publication date
CN106383936A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
Llamocca et al. Separable FIR filtering in FPGA and GPU implementations: Energy, Performance, and Accuracy considerations
DE112013003250B4 (de) Kontaktloser Stresstest von Speicher-E/A-Schnittstellen
GB2590859A (en) Improved process of programming field programmable gate arrays using partial reconfiguration
US20240211535A1 (en) Sparse matrix accelerated computing method and apparatus, device, and medium
CN108388527B (zh) 直接存储器存取引擎及其方法
US20210326687A1 (en) Neural Network System and Data Processing Technology
CN109726822B (zh) 运算方法、装置及相关产品
US10838645B2 (en) Memory writing operations with consideration for thermal thresholds
US9513658B2 (en) Multi-bit flip-flop reorganization techniques
EP3958149A1 (en) Data processing method and device, storage medium and electronic device
CN106383936B (zh) 一种fpga存储器拆分方法
TWI537980B (zh) 用於寫入經遮罩資料至緩衝器之裝置及方法
US20200349433A1 (en) Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal
US20240176585A1 (en) Data processing method, computer device and storage medium
CN112102860B (zh) 存储单元的连接方法以及处理器
CN104021250A (zh) Fpga rom存储数据的工艺映射方法
US20200311330A1 (en) Method for simulating a dynamic system
CN204440489U (zh) 一种用于红外图像处理的可配置多功能数据路径结构
CN113610704A (zh) 图像生成方法、装置、设备和可读存储介质
US10250278B2 (en) Compression of a set of integers
WO2016177083A1 (zh) 一种数据存储方法、存储装置和计算机存储介质
CN112132275B (zh) 一种并行计算方法及装置
CN109544653B (zh) 一种基于教育操作系统的WebGL独立进程渲染方法及电子设备
CN113495786A (zh) 一种图像卷积处理方法和电子设备
CN115713453A (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190102

Address after: 901-903, 9th Floor, Satellite Building, 63 Zhichun Road, Haidian District, Beijing, 100080

Applicant after: JINGWEI QILI (BEIJING) TECHNOLOGY Co.,Ltd.

Address before: 100080 Beijing Haidian A62, East of Building No. 27, Haidian Avenue, 4th Floor, A District, Haidian District

Applicant before: BEIJING SHENWEI TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 601, Floor 6, Building 5, Yard 8, Kegu 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing, 100176 (Yizhuang Cluster, High-end Industrial Zone, Beijing Pilot Free Trade Zone)

Patentee after: Jingwei Qili (Beijing) Technology Co.,Ltd.

Country or region after: China

Address before: 901-903, 9th Floor, Satellite Building, 63 Zhichun Road, Haidian District, Beijing, 100080

Patentee before: JINGWEI QILI (BEIJING) TECHNOLOGY Co.,Ltd.

Country or region before: China