CN113392611B - 一种针对eda工具中将电路描述综合为m4k模块的方法及装置 - Google Patents

一种针对eda工具中将电路描述综合为m4k模块的方法及装置 Download PDF

Info

Publication number
CN113392611B
CN113392611B CN202110941873.2A CN202110941873A CN113392611B CN 113392611 B CN113392611 B CN 113392611B CN 202110941873 A CN202110941873 A CN 202110941873A CN 113392611 B CN113392611 B CN 113392611B
Authority
CN
China
Prior art keywords
read
write
memory
unit
port
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
CN202110941873.2A
Other languages
English (en)
Other versions
CN113392611A (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.)
Ehiway Microelectronic Science And Technology Suzhou Co ltd
Original Assignee
Ehiway Microelectronic Science And Technology Suzhou 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 Ehiway Microelectronic Science And Technology Suzhou Co ltd filed Critical Ehiway Microelectronic Science And Technology Suzhou Co ltd
Priority to CN202110941873.2A priority Critical patent/CN113392611B/zh
Publication of CN113392611A publication Critical patent/CN113392611A/zh
Application granted granted Critical
Publication of CN113392611B publication Critical patent/CN113392611B/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)

Abstract

本发明提供了一种针对EDA工具中将电路描述综合为M4K模块的方法及装置,通过将电路描述文件中各存储器上进行读写操作的memory类型数据,数据端口信号及其连接关系等信息提取出来,并将读写操作的memory类型数据转换为读写单元,然后根据读写分别进行分类最后合并成一个综合存储器单元,将综合存储器单元根据读写地址端口信息和读写单元数量推导出M4K类型,并将综合存储器单元的端口参数信息赋值给与M4K类型相对应的M4K单元,从而替代用逻辑单元来实现,大量减少逻辑单元数量,降低芯片使用率,为后续处理提高效率。

Description

一种针对EDA工具中将电路描述综合为M4K模块的方法及装置
技术领域
本发明属于EDA工具设计领域,尤其是涉及一种针对EDA工具中将电路描述综合为M4K模块的方法及装置。
背景技术
近年来,现场可编程门阵列(Field Programmable Gate Array.FPGA)在互联网、通信、图像处理、汽车电子、航空航天和现在军事装备等领域的应用越来越广泛。我国有着巨大的FPGA市场需求,而EDA软件又是FPGA设计必不可少的工具之一。具体涉及EDA工具中综合(synthesis)模块将电路描述的memory型数据存储器,包含随机存储器(RandomAccess Memory.RAM)、只读存储器(Read-Only Memory.ROM),以及对这些存储器进行的读写操作综合为M4K(即4K存储量的存储器模块)模块单元的方法。
综合是将硬件描述语言(verilog HDL),综合为适配FPGA芯片架构中的模块单元。综合模块是EDA软件中的一个重要组成部分,可以说没有综合,后续的流程就无法继续进行。将RAM,ROM等memory型存储数据读写操作综合为M4K模块可以替代用逻辑单元来实现,大量减少逻辑单元数量,降低芯片使用率,为后续处理提高效率。
发明内容
本发明要解决的技术问题是怎样大量减少逻辑单元的数量,提出了一种针对EDA工具中将电路描述综合为M4K模块的方法及装置。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于EDA工具将电路描述综合为M4K模块的方法,包括以下步骤:
步骤1:读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
步骤2:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元;
步骤3:根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
步骤4:根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
步骤5:遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
进一步地,步骤2中将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元的方法是:
步骤2.1:对每个存储器,收集该存储器上所有读写单元以及初始化单元的地址端口信号、数据端口信号、使能信号、读写单元数量信息、读写地址位宽和读写数据位宽信息;
步骤2.2:将各端口信号分别按照读写功能进行分类合并;
步骤2.3:将分类合并后的各端口信号连接到一个存储单元上,所述存储单元为一个虚构的拥有与存储器类似的读写处理端口及参数信息,并将读写地址位宽和读写数据位宽信息赋值给所述存储单元的相应参数,该存储单元即为综合存储单元。
进一步地,步骤3中根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的读写地址端口信号推导出与所述综合存储器单元相适应的M4K类型的方法是:
当合并后的读地址端口信号与写地址端口信号相同,则所述M4K类型为单端口类型SINGLE_PORT;
当合并后的读地址端口信号与写地址端口信号不同,并且读写单元数量为1,则所述M4K类型为简单双端口类型DUAL_PORT;
当合并后的读地址端口信号与写地址端口信号不同,并且读写单元数量为2,则所述M4K类型为真双端口类型BIDIR_DUAL_PORT;
如果仅有读地址端口信号,无写地址端口信号则所述M4K类型为只读端口类型ROM。
进一步地,步骤4中根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元的方法是:
根据所述综合存储器单元上的参数信息即地址位宽和数据位宽信息,从预定义的M4K模块规则库中按照地址位宽和数据位宽综合利用率最高为原则,从所述M4K模块规则库中选择出与所述综合存储器单元相适应的M4K单元。
进一步地,如果所述综合存储单元其与预定义的M4K模块规则库中的每种M4K单元的地址位宽以及数据位宽综合利用率低于设定的阈值,则将所述综合存储器单元综合为逻辑单元。
进一步地,当存储器容量大于4K时,将与该存储器相对应的综合存储器单元拆分成多个容量小于等于4K大小的M4K单元。
进一步地,所述地址位宽和数据位宽综合利用率的计算方法是:
综合利用率=Max((2 wr_abits ×wr_dbits)/(wr_n×dbits×2 abits ),
(2 rd_abits ×rd_dbits)/(rd_n×dbits×2 abits ));
其中wr_abits为综合存储器单元中的写地址位宽,wr_dbits为写数据位宽,rd_ abits为综合存储器单元中的读地址位宽,rd_dbits为读数据位宽,abits为M4K预定义的规则组合中的地址位宽,dbits为M4K预定义的规则组合中的数据位宽,wr_n为一个综合存储器单元按写地址位宽数据组合计算所拆分的M4K单元数量,rd_n为一个综合存储器单元按读地址位宽数据组合计算所拆分的M4K单元数量。
本发明还提供了一种基于EDA工具将电路描述综合为M4K模块的装置,包括以下模块:
解析单元:用于读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
综合单元:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元;
M4K类型匹配单元:用于根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
M4K目标单元生成单元:用于根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
综合网表文件输出单元:用于遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
采用上述技术方案,本发明具有如下有益效果:
本发明提供的是一种针对EDA工具中将电路描述综合为M4K模块的方法及装置,通过将电路描述文件中各存储器上进行读写操作memory类型数据,地址和数据端口信号及其连接关系等信息提取出来,通过将memory类型数据转换为读写单元和初始化单元,然后将端口信号根据读写分别进行分类合并成一个综合存储器单元,将综合存储器单元根据读写地址端口信息和读写单元数量推导出M4K类型,根据M4K类型在预先定义的M4K规则库中找出适合综合存储器单元的M4K目标单元,并将综合存储器单元的端口参数信息赋值给与M4K类型相对应的M4K单元,从而替代用逻辑单元来实现,大量减少逻辑单元数量,降低芯片使用率,为后续处理提高效率。
附图说明
图1为本发明系统流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面给出了一种基于EDA工具将电路描述综合为M4K模块的方法的具体实施例,如图1所示,包括以下步骤:
步骤1:读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
如下表1所示的电路描述文件,从该电路描述文件中可以解析出的进行读写操作的memory类型数据有2个读地址端口addr1、addr2,同时addr1、addr2也为写地址端口,输入数据端口有两个分别为data1、data2,输出数据端口也有2个分别为q1、q2。
表1电路描述文件
Figure 126487DEST_PATH_IMAGE001
对于具有读写操作memory数据类型来说,其可以转换成3种类型单元,分别是读单元memrd,写单元memwr和初始化单元meminit。表1所解析出的memory类型数据可以转换成2个读单元$memrd和2个写单元$memwr,并且读写单元数量分别为2。
步骤2:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元。
根据步骤1所解析出的不同类型的读写单元,根据读写单元类型的不同,分别进行整理合并。
本实施例中,整理合并的具体方法是:
步骤2.1:对每个存储器,收集该存储器上所有读写单元以及初始化单元的地址端口信号、数据端口信号、使能信号、读写单元数量信息、读写地址位宽和读写数据位宽信息;
步骤2.2:将各端口信号分别按照读写功能进行分类合并;
本实施例将一个存储器上的端口信息根据读写分别进行分类合并,比如将一个个存储器上所有的地址端口信号按照读写分类成读地址端口和写地址端口,然后将所有的读地址端口合并成一个总的读地址端口,所有的写地址端口合并成一个总的写地址端口,将所有的数据端口按照读写功能分类成读数据端口和写数据端口,然后将所有的读数据端口信号合并成一个总的读数据端口信号,所有的写数据端口合并成一个总的写数据端口信号。并且在进行端口信号合并时,也同时统计读单元数量和写单元数量,用于后续M4K类型的推导。
步骤2.3:将分类合并后的各端口信号连接到一个存储单元上,所述存储单元为一个虚构的拥有与存储器类似的读写处理端口及参数信息,并将读写地址位宽和读写数据位宽信息赋值给所述存储单元的相应参数,该存储单元即为综合存储单元。本实施例中,读写地址位宽和读写数据位宽信息为解析存储器所获取的参数信息,将这些参数信息赋值给综合存储器单元即可。
在本实施例中,对于meminit类型,这是一个为memory数据设置初始值的单元,一般用于ROM型只读存储器,ROM可由数据文件对整个memory存储器数据赋初始值,然后通过地址访问。
对于读单元memrd类型,这是对memory进行读操作的单元,将所有该类型单元的数据、地址端口信号汇总合并为1个读数据信号,1个读地址信号并对所汇总的memrd读单元个数统计为rd_ports,其他时钟信号、使能信号也同样如此处理;
对于写单元memwr类型,这是对memory进行写操作的单元,将所有该类型单元的数据、地址端口信号收集汇总为1个写数据信号,1个写地址信号并对所汇总的memwr写单元个数统计为wr_ports,其他时钟信号使能信号也同样处理。
本实施例中,对于综合存储单元来说,其具有读地址端口RD_ADDR,写地址端口WR_ADDR,读数据端口RD_DATA,写数据端口WR_DATA,将合并后的读数据信号、读地址信号、写数据信号、写地址信号与综合存储单元相应的端口进行连接,并将汇总得到的参数写单元数量WR_PORTS,读单元数量RD_PORTS,写地址位宽ABITS_A,读地址位宽ABITS_B,和写数据位宽WIDTH_A,读数据位宽WIDTH_B赋值给存储器单元。
步骤3:根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
如将2个$memwr写单元总的地址ADDR端口信号合并汇总为一个写地址信号addr_sig_wr,将2个$memrd读单元中的地址ADDR端口信号合并汇总为一个读地址信号addr_sig_rd,读写单元数量分别为写单元数量wr_ports为2,读单元数量rd_ports等于2。由地址信号以及读写单元数量来推导出相应的M4K类型。
本实施例中,根据所述综合存储器单元中的读写地址端口信号,读写单元数量信息推导出与所述综合存储器单元相适应的M4K类型的方法是:
当合并后的读地址端口信号与写地址端口信号相同,则所述M4K类型为单端口类型,并为所述综合存储单元的类型参数operation_mode赋值SINGLE_PORT;
当合并后的读地址端口信号与写地址端口信号不同,并且读写单元数量分别为1,则所述M4K类型为简单双端口类型,并为所述综合存储单元的类型参数operation_mode赋值DUAL_PORT;
当合并后的读地址端口信号与写地址端口信号不同,并且读写单元数量分别为2,则所述M4K类型为真双端口类型,并为所述综合存储单元类型参数的operation_mode赋值BIDIR_DUAL_PORT;
如果仅有读地址端口信号,无写地址端口信号则所述M4K类型为只读端口类型,并为所述综合存储单元的类型参数operation_mode赋值ROM。
综合存储单元的端口及参数不同,M4K类型不同,综合存储单元端口中的读地址端口信号RD_ADDR,写地址端口信息WR_ADDR,读数据信号RD_DATA,写数据信号WR_DATA和参数中写单元数量WR_PORTS,读单元数量RD_PORTS,读地址位宽ABITS_B,读数据位宽WIDTH_B,写地址位宽ABITS_A,写数据位宽WIDTH_A,类型参数operation_mode是因M4K类型而有可能不连接或不赋值的。
步骤4:根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
本实施例中,根据所述综合存储器单元上的参数信息中读写地址位宽和读写数据位宽信息,从预定义的M4K模块规则库中按照地址位宽和数据位宽综合利用率最高为原则,从所述M4K模块规则库中选择出与所述综合存储器单元相适应的M4K单元。预先定义的M4K模块规则库是具有各种地址位宽和数据位宽的M4K标准模块,本实施例中是具有9种规格的M4K标准模块,需要将综合存储器单元上的地址位宽和数据位宽与预先定义的M4K模块规则库中的M4K标准模块的地址位宽和数据位宽进行比对,选择出地址位宽和数据位宽综合利用率较高的M4K标准模块作为与综合存储器单元相对应的M4K目标单元。
本实施例中,地址位宽和数据位宽综合利用率的计算方法是:
综合利用率=Max((2 wr_abits ×wr_dbits)/(wr_n×dbits×2 abits ),
(2 rd_abits ×rd_dbits)/(rd_n×dbits×2 abits ));
其中wr_abits为综合存储器单元中的写地址位宽,wr_dbits为写数据位宽,rd_ abits为综合存储器单元中的读地址位宽,rd_dbits为读数据位宽,abits为M4K预定义的规则组合中的地址位宽,dbits为M4K预定义的规则组合中的数据位宽,wr_n为一个综合存储器单元按写地址位宽数据组合计算所拆分的M4K单元数量,rd_n为一个综合存储器单元按读地址位宽数据组合计算所拆分的M4K单元数量。表2为预先定义的M4K模块规则库brams_map.v映射文件中对于真双端口的M4K类型的映射库定义。用表2中生成的综合存储器单元结合brams.txt匹配规则文件,如表2中有M1-M9共9条匹配规则,将综合存储器单元中的读写地址位宽,读写数据位宽参数与预先定义的M4K规则库种的9条规则逐条匹配计算利用率(含地址利用率,数据利用率综合考量)。如表2所示的9种标准单元,分别给出了9种标准单元规则下的地址位宽abits和数据位宽dbits,将综合存储器单元上的读写地址位宽和读写数据位宽根据综合利用率最优的原则匹配出一个合适的M4K单元。将综合存储器单元中的端口信号,参数信息全部赋值给该M4K单元,从而例化出一个M4K目标单元,此时M4K综合的关键全部完成。
表2 预先定义的M4K模块规则库brams.txt文件
Figure 437383DEST_PATH_IMAGE002
步骤5:遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
本发明中真双端口类型是四种M4K类型中最为复杂的类型,因此我们将其作为实例说明,其他三种类型的M4K电路处理流程与之类似,不再一一赘述。
本实施例中,如果所述综合存储单元其与预定义的M4K模块规则库中的每种M4K单元的地址位宽利用率以及数据位宽利用率低于设定的阈值,则将所述综合存储器单元综合为逻辑单元。虽然可以将电路描述文件中进行读写的存储器综合成一个存储器单元,然后映射到M4K目标单元,但是如果综合后的综合存储器单元其在预先定义的M4K规则库中的地址位宽利用率和数据位宽利用率较低,低于预设的阈值,也就说明没有综合的必要,将其综合为逻辑单元即可。
本实施例中,当存储器容量大于4K时,将与该存储器相对应的综合存储器单元拆分成多个容量小于等于4K大小的综合存储器单元。对于存储器容量大于4k的,将其拆分,保证综合出的每个综合存储器单元的容量满足M4K的容量定义。
本发明提供的是一种针对EDA工具中将电路描述综合为M4K模块的方法,通过将电路描述文件中关于memory型存储器读写操作的地址,数据端口信号及其连接关系等信息提取出来,然后根据读写分别进行分类合并成一个综合存储器单元,将综合存储器单元根据读写地址端口信息推导出M4K类型,并将综合存储器单元的端口参数信息赋值给与M4K类型相对应的M4K单元,从而替代用逻辑单元来实现,大量减少逻辑单元数量,降低芯片使用率,为后续处理提高效率。
本发明还提供了一种基于EDA工具将电路描述综合为M4K模块的装置,包括以下模块:
解析单元:用于读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
综合单元:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元;
M4K类型匹配单元:用于根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
M4K目标单元生成单元:用于根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
综合网表文件输出单元:用于遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种基于EDA工具将电路描述综合为M4K模块的方法,其特征在于,
步骤1:读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
步骤2:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元;
步骤3:根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
推导出与所述综合存储器单元相适应的M4K类型的方法是:
当合并后的综合存储器单元其读地址端口信号与写地址端口信号相同,则所述M4K类型为单端口类型SINGLE_PORT;
当合并后的综合存储器单元其读地址端口信号与写地址端口信号不同,并且读写单元数量为1,则所述M4K类型为简单双端口类型DUAL_PORT;
当合并后的综合存储器单元其读地址端口信号与写地址端口信号不同,并且读写单元数量为2,则所述M4K类型为真双端口类型BIDIR_DUAL_PORT;
如果仅有读地址端口信号,无写地址端口信号则所述M4K类型为只读端口类型ROM;
步骤4:根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
步骤5:遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
2.根据权利要求1所述的方法,其特征在于,步骤2中将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元的方法是:
步骤2.1:对每个存储器,收集该存储器上所有读写单元以及初始化单元的地址端口信号、数据端口信号、使能信号、读写单元数量信息、读写地址位宽和读写数据位宽信息;
步骤2.2:将各端口信号分别按照读写功能进行分类合并;
步骤2.3:将分类合并后的各端口信号连接到一个存储单元上,所述存储单元为一个虚构的拥有与存储器类似的读写处理端口及参数信息,并将读写地址位宽和读写数据位宽信息赋值给所述存储单元的相应参数,该存储单元即为综合存储单元。
3.根据权利要求2所述的方法,其特征在于,步骤4中根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元的方法是:
根据所述综合存储器单元上的参数信息即地址位宽和数据位宽信息,从预定义的M4K模块规则库中按照地址位宽和数据位宽综合利用率最高为原则,从所述M4K模块规则库中选择出与所述综合存储器单元相适应的M4K单元。
4.根据权利要求3所述的方法,其特征在于,如果所述综合存储单元其与预定义的M4K模块规则库中的每种M4K单元的地址位宽以及数据位宽综合利用率低于设定的阈值,则将所述综合存储器单元综合为逻辑单元。
5.根据权利要求3所述的方法,其特征在于,当存储器容量大于4K时,将与该存储器相对应的综合存储器单元拆分成多个容量小于等于4K大小的M4K单元。
6.根据权利要求5所述的方法,其特征在于,所述地址位宽和数据位宽综合利用率的计算方法是:
综合利用率=Max((2 wr_abits ×wr_dbits)/(wr_n×dbits×2 abits ),
(2 rd_abits ×rd_dbits)/(rd_n×dbits×2 abits ));
其中wr_abits为综合存储器单元中的写地址位宽,wr_dbits为写数据位宽,rd_abits为综合存储器单元中的读地址位宽,rd_dbits为读数据位宽,abits为M4K预定义的规则组合中的地址位宽,dbits为M4K预定义的规则组合中的数据位宽,wr_n为一个综合存储器单元按写地址位宽数据组合计算所拆分的M4K单元数量,rd_n为一个综合存储器单元按读地址位宽数据组合计算所拆分的M4K单元数量。
7.一种基于EDA工具将电路描述综合为M4K模块的装置,其特征在于,包括以下模块:
解析单元:用于读入电路描述文件,从所述电路描述文件中解析出每个存储器上进行读写操作的memory类型数据以及读写地址位宽和读写数据位宽信息,并将所述memory类型数据转换为读写单元、初始化单元,统计读写单元数量;
综合单元:将每个存储器上的所有读写单元以及初始化单元整理合并成一个综合存储器单元,并将每个存储器上整理合并后的端口参数信息赋值给所述综合存储器单元;
M4K类型匹配单元:用于根据每个存储器上的读写单元数量信息、以及与每个存储器相对应的综合存储器单元中的端口信息推导出与所述综合存储器单元相适应的M4K类型;
推导出与所述综合存储器单元相适应的M4K类型的方法是:当合并后的综合存储器单元其读地址端口信号与写地址端口信号相同,则所述M4K类型为单端口类型SINGLE_PORT;当合并后的综合存储器单元其读地址端口信号与写地址端口信号不同,并且读写单元数量为1,则所述M4K类型为简单双端口类型DUAL_PORT;当合并后的综合存储器单元其读地址端口信号与写地址端口信号不同,并且读写单元数量为2,则所述M4K类型为真双端口类型BIDIR_DUAL_PORT;如果仅有读地址端口信号,无写地址端口信号则所述M4K类型为只读端口类型ROM;
M4K目标单元生成单元:用于根据所推导出的M4K类型,结合预定义的M4K模块规则库文件将所述综合存储器单元映射为M4K目标单元;
综合网表文件输出单元:用于遍历所有存储器,得到与每个存储器相对应的M4K目标单元,将所有M4K目标单元生成综合网表文件输出。
CN202110941873.2A 2021-08-17 2021-08-17 一种针对eda工具中将电路描述综合为m4k模块的方法及装置 Active CN113392611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110941873.2A CN113392611B (zh) 2021-08-17 2021-08-17 一种针对eda工具中将电路描述综合为m4k模块的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110941873.2A CN113392611B (zh) 2021-08-17 2021-08-17 一种针对eda工具中将电路描述综合为m4k模块的方法及装置

Publications (2)

Publication Number Publication Date
CN113392611A CN113392611A (zh) 2021-09-14
CN113392611B true CN113392611B (zh) 2021-10-29

Family

ID=77622641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110941873.2A Active CN113392611B (zh) 2021-08-17 2021-08-17 一种针对eda工具中将电路描述综合为m4k模块的方法及装置

Country Status (1)

Country Link
CN (1) CN113392611B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4062707B2 (ja) * 2006-05-01 2008-03-19 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び携帯端末装置
CN102957993B (zh) * 2011-08-30 2015-05-20 中国科学院微电子研究所 低功耗wola滤波器组及其分析阶段电路
CN104349260B (zh) * 2011-08-30 2017-06-30 中国科学院微电子研究所 低功耗wola滤波器组及其综合阶段电路

Also Published As

Publication number Publication date
CN113392611A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
Pestana et al. A full featured configurable accelerator for object detection with YOLO
CN104112053B (zh) 一种面向图像处理的可重构架构平台设计方法
US11194747B2 (en) Custom compute cores in integrated circuit devices
US10698697B2 (en) Adaptive routing to avoid non-repairable memory and logic defects on automata processor
CN110825464A (zh) 用于提供由状态机引擎接收的数据的方法及设备
CN111027266A (zh) 一种多个fpga的设计分割的方法、系统、存储介质及终端
CN107992800A (zh) 一种基于svm和随机森林的指纹图像质量判断方法
CN105141352A (zh) 一种卫星高速数传基带数据误码统计及帧排序处理系统及方法
CN104978749A (zh) 一种基于fpga的sift图像特征提取系统
CN105404728B (zh) 一种基于fpga芯片多控制信号的布局方法
CN104111468A (zh) 一种实现符合判定的系统及方法
CN113392611B (zh) 一种针对eda工具中将电路描述综合为m4k模块的方法及装置
WO2015094721A2 (en) Apparatuses and methods for writing masked data to a buffer
CN104573696B (zh) 用于处理人脸特征数据的方法和装置
CN103019303A (zh) 时序路径上保持时间的调节装置与方法
KR20200122707A (ko) 프로세싱 엘리먼트 및 프로세싱 시스템
CN116167330A (zh) 时钟树综合方法、装置、电子设备及计算机可读存储介质
US20230119051A1 (en) Method and apparatus for constructing fpga chip top-level schematic and storage medium
CN113111013A (zh) 一种闪存数据块绑定方法、装置及介质
CN115328401B (zh) 一种基于fpga的高速数据存储、回读系统
CN111913881B (zh) 一种应用程序I/O trace的生成方法
CN111932436B (zh) 一种用于智慧泊车的深度学习处理器架构
CN108427672A (zh) 文字翻译的方法及终端设备
CN111881715B (zh) 一种人脸检测硬件加速方法、系统和设备
CN112884678A (zh) 一种图像算法的调试方法及系统

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