CN116644703B - 一种位图文件的生成方法及装置 - Google Patents
一种位图文件的生成方法及装置 Download PDFInfo
- Publication number
- CN116644703B CN116644703B CN202310622458.XA CN202310622458A CN116644703B CN 116644703 B CN116644703 B CN 116644703B CN 202310622458 A CN202310622458 A CN 202310622458A CN 116644703 B CN116644703 B CN 116644703B
- Authority
- CN
- China
- Prior art keywords
- bitmap file
- word
- bit
- coordinates
- generated
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013515 script Methods 0.000 claims abstract description 59
- 238000013507 mapping Methods 0.000 claims abstract description 52
- 230000003068 static effect Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 238000004088 simulation Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- ZZUFCTLCJUWOSV-UHFFFAOYSA-N furosemide Chemical compound C1=C(Cl)C(S(=O)(=O)N)=CC(C(O)=O)=C1NCC1=CC=CO1 ZZUFCTLCJUWOSV-UHFFFAOYSA-N 0.000 description 4
- 229940054541 urex Drugs 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/10—Processors
-
- 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
- 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)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种位图文件的生成方法及装置,其方法包括获取与电路结构匹配的初始版图;基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;当接收到执行指令时,生成位图文件。本申请具有提高位图文件生成效率的效果。
Description
技术领域
本申请涉及集成电路技术领域,尤其是涉及一种位图文件的生成方法及装置。
背景技术
bitmap文件,又称位图、栅格图或点阵图,是使用像素阵列来表示的位图图像文件。目前,大多采用手动方式获取存储器单元(bitcell)的位置与wl(字线)、bl(位线)的映射关系,并整理为指定格式输出bitmap文件,但该方式需要耗费大量时间,并且不能保证提取的bitmap文件数据的准确性。
针对上述中的相关技术,发明人发现现有的位图文件生成方法存在有耗时和对工作人员的专业能力要求高,人工成本较高的问题。
发明内容
为了提高位图文件的生成效率,降低人工成本,本申请提供了一种位图文件的生成方法及装置。
第一方面,本申请提供一种位图文件的生成方法。
本申请是通过以下技术方案得以实现的:
一种位图文件的生成方法,包括以下步骤,
获取与电路结构匹配的初始版图;
基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
当接收到执行指令时,生成位图文件。
通过采用上述技术方案,基于待生成的位图文件的目标格式,编写运行skill脚本,得到目标存储器单元与字线和位线的映射关系,由与电路结构匹配的初始版图直接生成期望格式的位图文件,无需进行电路仿真,节省了仿真时间以及人力成本,并且大大简化了生成位图文件所需的步骤,提高了目标存储器的位图文件的生成效率,降低了人工成本,利用自动化替代人工提取位图文件数据,避免了人工错误带来的风险,提高了位图文件数据的准确性;同时,编译的skill脚本具有灵活性,可迭代适应不同的电路结构,若位图文件需要的格式发生变化,可直接通过修改skill脚本生成新的位图文件格式,操作方便,适用性更强。
本申请在一较佳示例中可以进一步配置为:所述位图文件包括应用于静态随机存取存储器的位图文件和应用于动态随机存取存储器的位图文件。
通过采用上述技术方案,针对静态随机存取存储器和动态随机存取存储器的结构特点,获取目标存储器单元与字线和位线的映射关系,由与电路结构匹配的初始版图直接生成期望格式的位图文件,应用于静态随机存取存储器或动态随机存取存储器,提高静态随机存取存储器或动态随机存取存储器的位图的生成效率,降低人工成本。
本申请在一较佳示例中可以进一步配置为:当所述位图文件为应用于静态随机存取存储器的位图文件时,所述基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系的步骤包括,
获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
获取所述字线和所述位线的标字在顶层的标字坐标;
根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系。
通过采用上述技术方案,在顶层跨阶层地获得初始版图中存储器单元的bBox坐标、字线坐标和位线坐标,无需获得所有存储器单元的bBox坐标和层次信息,再根据bBox坐标、字线坐标、位线坐标和标字坐标目标,用于获取目标存储器单元与字线和位线的映射关系,进而自动化生成位图文件。
本申请在一较佳示例中可以进一步配置为:根据所述bBox坐标、所述字线坐标和所述标字坐标,得到目标存储器单元与字线的映射关系,确定待生成的位图文件的字线序号的步骤包括,
基于任一字线,比较所述标字坐标中的纵坐标与所述bBox坐标的第一角纵坐标、第二角纵坐标的大小;
若bBox坐标的第一角纵坐标<标字坐标中的纵坐标<bBox坐标的第二角纵坐标,则判定所述字线穿过此行的目标存储器单元,并将此行的目标存储器单元的字线时序作为所述字线的字线序号。
通过采用上述技术方案,采用比较标字坐标中的纵坐标与bBox坐标的第一角纵坐标、第二角纵坐标的方式确定目标存储器单元与字线的映射关系,并得到待生成的位图文件的字线序号,实现方式简单快捷,有利于更快地生成位图文件。
本申请在一较佳示例中可以进一步配置为:根据所述bBox坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与位线的映射关系,确定待生成的位图文件的位线序号的步骤包括,
基于任一位线,比较所述标字坐标中的横坐标与所述bBox坐标的第一角横坐标、第二角横坐标的大小;
若bBox坐标的第一角横坐标<标字坐标中的横坐标<bBox坐标的第二角横坐标,则判定所述位线穿过此列的目标存储器单元,并将此列的目标存储器单元的位线时序作为所述位线的位线序号。
通过采用上述技术方案,采用比较标字坐标中的横坐标与bBox坐标的第一角横坐标、第二角横坐标的方式确定目标存储器单元与位线的映射关系,并得到待生成的位图文件的位线序号,实现方式简单快捷,有利于更快地生成位图文件。
本申请在一较佳示例中可以进一步配置为:所述bBox坐标的第一角和第二角通过逐层获取所述目标存储器单元的属性中关于翻转方式的属性确定。
通过采用上述技术方案,Box坐标的第一角和第二角通过逐层获取目标存储器单元的属性中关于翻转方式的属性确定,可借助脚本文件自动实现,无需人工操作,减少人为误差,以更准确反映目标存储器单元在顶层的翻转关系。
本申请在一较佳示例中可以进一步配置为:预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的比特值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/数据选择器的数量进行取整,将取整结果作为待生成的位图文件的比特值。
通过采用上述技术方案,根据数据选择器的数量,对位线序号/数据选择器的数量进行取整,以计算待生成的位图文件的比特值,实现方式简单,有利于更快地生成位图文件。
本申请在一较佳示例中可以进一步配置为:预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/所述数据选择器的数量进行取余,将取余结果作为待生成的位图文件的字值。
通过采用上述技术方案,根据数据选择器的数量,对位线序号/数据选择器的数量进行取余,以计算待生成的位图文件的字值,获取方式简单快捷,有利于更快地生成位图文件。
本申请在一较佳示例中可以进一步配置为:所述编译待生成的位图文件的地址位的步骤包括,
采用二进制转换,得到待生成的位图文件的地址位。
通过采用上述技术方案,采用二进制转换得到待生成的位图文件的地址位,生成方式简单快捷,有利于更快地生成位图文件。
本申请在一较佳示例中可以进一步配置为:还包括以下步骤,
基于目标存储器单元的所述bBox坐标、不同的字线在顶层的所述字线坐标和不同的位线在顶层的所述位线坐标,生成对应的验证版图。
通过采用上述技术方案,基于目标存储器单元的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标,生成对应的验证版图,以借助验证版图检验提取的版图中的位置是否正确,进一步提高生成的位图文件的准确性。
第二方面,本申请提供一种位图文件的生成装置。
本申请是通过以下技术方案得以实现的:
一种位图文件的生成装置,包括,
初始版图模块,用于获取与电路结构匹配的初始版图;
映射模块,用于基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
计算模块,用于预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
地址位模块,用于编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
执行模块,用于在接收到执行指令时,生成位图文件。
本申请在一较佳示例中可以进一步配置为:所述映射模块包括,
第一数据单元,用于编写skill脚本,获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
第二数据单元,用于编写skill脚本,获取所述字线和所述位线的标字在顶层的标字坐标;
映射单元,用于根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系。
综上所述,与现有技术相比,本申请提供的技术方案带来的有益效果至少包括:
编写运行skill脚本,在顶层跨阶层地获得初始版图中存储器单元的bBox坐标、字线坐标和位线坐标,无需获得所有存储器单元的bBox坐标和层次信息,再通过目标存储器单元与字线和位线的映射关系,由与电路结构匹配的初始版图直接生成期望格式的位图文件,无需进行电路仿真,节省了仿真时间以及人力成本,并且大大简化了生成位图文件所需的步骤,提高了目标存储器的位图文件的生成效率,降低了人工成本,利用自动化替代人工提取位图文件数据,避免了人工错误带来的风险,提高了位图文件数据的准确性;同时,编译的skill脚本具有灵活性,可迭代适应不同的电路结构,若位图文件需要的格式发生变化,可直接通过修改skill脚本生成新的位图文件格式,操作方便,适用性更强。
附图说明
图1为本申请一个示例性实施例提供的一种位图文件的生成方法的主要流程图。
图2为本申请又一个示例性实施例提供的一种位图文件的生成方法的bBox坐标的翻转关系示意图。
图3为本申请另一个示例性实施例提供的一种位图文件的生成方法的确定待生成的位图文件的字线序号和位线序号的示意图。
图4为本申请一个示例性实施例提供的一种位图文件的生成方法的效果示意图。
图5为本申请一个示例性实施例提供的一种位图文件的生成装置的结构框图。
具体实施方式
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
现有的自动进行映射的方法,通过对电路网表和版图执行LVS验证,获得如静态随机存取存储器SRAM的所有目标存储器单元的坐标和层次信息;采用测量文件测量每个目标存储器单元的活动时间;再建立电路仿真环境进行电路仿真,以仿真所有目标存储器单元的活动时间;获取逻辑地址与仿真时间的对应关系,以查找表的数据结构,整理得到期望格式的位图文件;即该方式需要先进行仿真,再分析仿真结果得到映射关系,再将得到的结果处理为位图需要的格式文件,实现步骤繁琐,效率低,同时,对于较大体积的静态随机存取存储器仿真,仿真时间较长,并且需要工作人员具有分析仿真结果的专业能力。
本申请基于与电路结构匹配的初始版图,针对SRAM(Static Random-AccessMemory,静态随机存取存储器)或DRAM(动态随机存取存储器)等的结构特点,利用skill脚本语言获取bitcell(存储器单元)在顶层的bBox坐标,以及不同的wl(字线)、bl(位线)编号在顶层的位置坐标,通过对比两个坐标,获得存储器单元的位置和wl/bl顺序的映射关系;并且通过skill脚本语言,预设的数据选择器的数量,直接编译待生成的位图文件的地址位;当接收到执行指令时,自动生成期望格式的位图文件,应用于集成电路设计。
本申请实施例提供一种位图文件的生成方法,包括以下步骤,
获取与电路结构匹配的初始版图;
基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
当接收到执行指令时,生成位图文件。
下面结合说明书附图对本申请实施例作进一步详细描述。
参照图1,本申请实施例提供一种位图文件的生成方法,以静态随机存取存储器为例,所述方法的主要步骤描述如下。
S1:获取与电路结构匹配的初始版图;
基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号,包括,
S2:获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
S3:获取所述字线和所述位线的标字在顶层的标字坐标;
S4:根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
S5:预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
S6:编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
S7:当接收到执行指令时,生成位图文件。
本申请针对SRAM或DRAM等的结构特点,编写运行skill脚本,在顶层跨阶层地获得初始版图中存储器单元的bBox坐标、字线坐标和位线坐标,无需获得所有存储器单元的bBox坐标和层次信息,再通过目标存储器单元与字线和位线的映射关系,由与电路结构匹配的初始版图直接生成期望格式的位图文件,应用于SRAM或DRAM。
在一实施例中,根据所述bBox坐标、所述字线坐标和所述标字坐标,得到目标存储器单元与字线的映射关系,确定待生成的位图文件的字线序号的步骤包括,
基于任一字线,比较所述标字坐标中的纵坐标y与所述bBox坐标的第一角纵坐标lly、第二角纵坐标ury的大小;
若lly<y<ury,则判定所述字线穿过此行的目标存储器单元,并将此行的目标存储器单元的字线时序作为所述字线的字线序号。
采用比较标字坐标中的纵坐标与bBox坐标的第一角纵坐标、第二角纵坐标的方式确定目标存储器单元与字线的映射关系,并得到待生成的位图文件的字线序号,实现方式简单快捷,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,根据所述bBox坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与位线的映射关系,确定待生成的位图文件的位线序号的步骤包括,
基于任一位线,比较所述标字坐标中的横坐标x与所述bBox坐标的第一角横坐标llx、第二角横坐标urx的大小;
若llx<x<urx,则判定所述位线穿过此列的目标存储器单元,并将此列的目标存储器单元的位线时序作为所述位线的位线序号。
采用比较标字坐标中的横坐标与bBox坐标的第一角横坐标、第二角横坐标的方式确定目标存储器单元与位线的映射关系,并得到待生成的位图文件的位线序号,实现方式简单快捷,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,所述bBox坐标的第一角和第二角通过逐层获取所述目标存储器单元的属性中关于翻转方式的属性确定。
Box坐标的第一角和第二角通过逐层获取目标存储器单元的属性中关于翻转方式的属性确定,可借助脚本文件自动实现,无需人工操作,减少人为误差,以更准确反映目标存储器单元在顶层的翻转关系。
在一实施例中,预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的比特值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/数据选择器的数量进行取整,将取整结果作为待生成的位图文件的比特值,以计算待生成的位图文件的比特值,实现方式简单,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/所述数据选择器的数量进行取余,将取余结果作为待生成的位图文件的字值,获取方式简单快捷,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,所述编译待生成的位图文件的地址位的步骤包括,
采用二进制转换,得到待生成的位图文件的地址位。
采用二进制转换得到待生成的位图文件的地址位,生成方式简单快捷,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,为了便于检查和修改skill脚本,可依据具体功能对skill脚本进行划分,如,用于获取初始版图中目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标的skill脚本,用于获取字线和位线的标字在顶层的标字坐标的skill脚本,用于采用二进制转换编译待生成的位图文件的地址位的skill脚本等等,还包括以下步骤,
将所有的skill脚本集合到一脚本文件中,并将集合的所述脚本文件添加至用户端;
当接收到执行指令时,自动加载所述脚本文件,生成当前静态随机存取存储器名字为前缀的位图文件。
通过将所有的skill脚本集合到一脚本文件中,以方便添加至用户端,无需一一添加相应的脚本文件至用户端,且当接收到执行指令时,自动加载脚本文件生成当前如静态随机存取存储器名字为前缀的位图文件,操作更便捷,有利于更快地生成静态随机存取存储器的位图文件。
在一实施例中,还包括以下步骤,
基于目标存储器单元的所述bBox坐标、不同的字线在顶层的所述字线坐标和不同的位线在顶层的所述位线坐标,生成对应的验证版图,以借助验证版图检验提取的版图中的位置是否正确,进一步提高静态随机存取存储器生成的位图文件的准确性。
上述各个实施例的具体描述步骤如下。
针对SRAM或DRAM等的结构特点,编写运行skill脚本,在顶层跨阶层地获得初始版图中目标存储器单元的bBox坐标、字线坐标和位线坐标。
其中,bBox坐标指矩形对角的坐标列表。
参照图2,本实施例中,初始版图中的目标存储器单元可以为一个2x2的存储单元矩阵。
通过编写skill脚本,获取cell1/cell2/cell3/cell4在顶层的bBox坐标:
((llx lly)(urx ury)),其中,(llx lly)为cell矩形的第一角坐标,(urx ury)为cell矩形的第二角坐标。
bBox坐标:((llx lly)(urx ury))通过设计skill脚本自动返回cell的属性中关于翻转方式的属性,逐层确定cell在调用时的翻转方式,以准确反映cell在顶层的翻转关系,进而确定bBox坐标选取cell矩形的哪两个角。
本实施例中,(llx lly)可以为cell矩形的左下角坐标,(urx ury)可以为cell矩形的右上角坐标。
通过编写skill脚本,获取不同的wl(wordline,字线)编号、bl(bitline,位线)编号在顶层的位置坐标。
编写skill脚本,获取wl0/wl1/bl0/bl1的label(标字)在顶层的位置坐标:(x y)。
参照图3,通过对比坐标,得到存储器单元与字线和位线的映射关系,以用于判断是哪一条wl/bl穿过了对应的存储器单元,从而获得位图(bitmap)文件中wl/bl的序号。
具体地,基于任一字线,比较label坐标(x y)中的y方向坐标,与cell矩形的bBox坐标((llx lly)(urx ury))中的y方向坐标lly和ury。
若lly<y<ury,则认定此条wl穿过了此行cell,那么此行cell的字line序号为此条wl的序号。
基于任一位线,比较label坐标(x y)中的x方向坐标,与cell矩形的bBox坐标((llx lly)(urx ury))中的x方向坐标llx和urx。
若llx<x<urx,则认定此条bl穿过了此列cell,那么此列cell的bitline序号为此条bl的序号。
其中,序号依赖于电路和版图中给出的对应序号。
本实施例中,wl0的序号为电路和版图中的对应序号0,那么cell1和cell2的wordline序号为0;wl1的序号为电路和版图中的对应序号1,那么cell3和cell4的wordline序号为1;bl0的序号为电路和版图中的对应序号0,那么cell1和cell3的bitline序号为0;bl1的序号为电路和版图中的对应序号1,那么cell2和cell4的bitline序号为1。
再者,通过skill脚本,根据设置的数据选择器的数量mux,结合位线序号bitline,计算待生成的位图文件的字值/比特值。
具体地,根据所述数据选择器的数量,对所述位线序号/数据选择器的数量进行取整,将取整结果作为待生成的位图文件的比特值。
例如,若mux为1,则比特值等于bitline/mux取整数的值,比特值等于bitline的值;
若mux为2,bitline为0时,0/2=0,取整为0,则比特值为0;
bitline为1时,1/2=0.5,取整为0,则比特值为0;
bitline为2时,2/2=1,取整为1,则比特值为1;
bitline为3时,3/2=1.5,取整为1,则比特值为1;
……
根据所述数据选择器的数量,对所述位线序号/所述数据选择器的数量进行取余,将取余结果作为待生成的位图文件的字值。
例如,若mux为1,则字值等于bitline/mux取余数的值都为0,则字值全部为0;
若mux为2,bitline为0时,0/2的余数为0,则字值为0;
bitline为1时,1/2的余数为1,则字值为1;
bitline为2时,2/2的余数为0,则字值为0;
bitline为3时,3/2的余数为1,则字值为1;
……
编写skill脚本,进行二进制转换,直接将对应的二进制地址编译出来,从而编译出来位图文件中需要的地址位,并且按照指定的格式输出到位图文件。
将所有的skill脚本集合到一脚本文件中,例如脚本文件:gen_bitmap.il,再将此脚本文件添加到用户的.cdsinit文件中,在启动virtuoso时将自动加载该脚本文件。
参照图4,使用集合的脚本文件时,在CIW命令行输入gen_bitmap()执行脚本,在启动virtuoso的文件夹时,即接收到执行指令,生成当前静态随机存取存储器名字为前缀的bitmap文件:name.bitmap。
本申请需要电路设计者和版图设计者配合给出配置文件,其中需要提供数据选择器的数量mux和存储器单元bitcell的名称,以及能够搜索到wl/bl的名称和序号的模块的器件名称,以及wl/bl在其中的名字(除序号外的基础名称)。
本申请根据配置文件和编写运行的skill脚本,实现由与电路结构匹配的初始版图直接生成期望格式的位图文件的目的。
skill脚本作为Cadence公司提供的程序接口语言,具有灵活性的特点,可迭代适应不同的电路结构。若位图文件需要的格式发生变化,可直接通过修改skill脚本生成所需的新格式的位图文件。
在一实施例中,还包括以下步骤,
基于目标存储器单元的所述bBox坐标、不同的字线在顶层的所述字线坐标和不同的位线在顶层的所述位线坐标,生成对应的验证版图。
根据提取出来的存储器单元的bBox坐标以及wl/bl坐标,生成对应的验证版图,用于检查是否正确地提取了实际版图中的位置,进一步提高了生成数据的准确性。
综上所述,一种位图文件的生成方法,针对SRAM或DRAM等的结构特点,设计skill脚本,在顶层跨阶层地获得初始版图中存储器单元的bBox坐标、字线坐标和位线坐标,无需获得所有存储器单元的bBox坐标和层次信息;通过存储器单元bitcell位置和wl/bl顺序的映射关系,由与电路结构匹配的初始版图直接生成期望格式的位图文件,无需进行电路仿真,节省了仿真时间以及人力成本,并且大大简化了生成位图文件所需的步骤,提高了静态随机存取存储器的位图文件的生成效率,降低了人工成本,利用自动化替代人工提取位图文件数据,避免了人工错误带来的风险,提高了位图文件数据的准确性;同时,编译的skill脚本具有灵活性,可迭代适应不同的电路结构,若位图文件需要的格式发生变化,可直接通过修改skill脚本生成新的位图文件格式,操作方便,适用性更强。
通过skill脚本,能够真实反映存储器单元在顶层的翻转关系,使得生成的静态随机存取存储器的期望格式的位图文件的精度更高。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
参照图5,本申请实施例还提供一种位图文件的生成装置,该一种位图文件的生成装置与上述实施例中一种位图文件的生成方法一一对应。该一种位图文件的生成装置包括,
初始版图模块,用于获取与电路结构匹配的初始版图;
映射模块,用于基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
计算模块,用于预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
地址位模块,用于编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
执行模块,用于在接收到执行指令时,生成位图文件。
其中,映射模块包括,
第一数据单元,用于获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
第二数据单元,用于获取所述字线和所述位线的标字在顶层的标字坐标;
映射单元,用于根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系。
一种位图文件的生成装置还包括,
验证模块,用于基于目标存储器单元的所述bBox坐标、不同的字线在顶层的所述字线坐标和不同的位线在顶层的所述位线坐标,生成对应的验证版图。
关于一种位图文件的生成装置的具体限定可以参见上文中对于一种位图文件的生成方法的限定,在此不再赘述。
上述一种位图文件的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任意一种位图文件的生成方法。
在一个实施例中,提供了一种计算机可读存储介质,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取与电路结构匹配的初始版图;
基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号;
预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
当接收到执行指令时,生成位图文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (12)
1.一种位图文件的生成方法,其特征在于,包括以下步骤,
获取与电路结构匹配的初始版图;
基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号,包括,
获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的 bBox 坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
获取所述字线和所述位线的标字在顶层的标字坐标;
根据所述 bBox 坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系;
预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
当接收到执行指令时,生成位图文件。
2.根据权利要求1所述的位图文件的生成方法,其特征在于,所述位图文件包括应用于静态随机存取存储器的位图文件和应用于动态随机存取存储器的位图文件。
3.根据权利要求2所述的位图文件的生成方法,其特征在于,当所述位图文件为应用于静态随机存取存储器的位图文件时,所述基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系的步骤包括,
获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
获取所述字线和所述位线的标字在顶层的标字坐标;
根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系。
4.根据权利要求3所述的位图文件的生成方法,其特征在于,根据所述bBox坐标、所述字线坐标和所述标字坐标,得到目标存储器单元与字线的映射关系,确定待生成的位图文件的字线序号的步骤包括,
基于任一字线,比较所述标字坐标中的纵坐标与所述bBox坐标的第一角纵坐标、第二角纵坐标的大小;
若bBox坐标的第一角纵坐标<标字坐标中的纵坐标<bBox坐标的第二角纵坐标,则判定所述字线穿过此行的目标存储器单元,并将此行的目标存储器单元的字线时序作为所述字线的字线序号。
5.根据权利要求3所述的位图文件的生成方法,其特征在于,根据所述bBox坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与位线的映射关系,确定待生成的位图文件的位线序号的步骤包括,
基于任一位线,比较所述标字坐标中的横坐标x与所述bBox坐标的第一角横坐标llx、第二角横坐标urx的大小;
若bBox坐标的第一角横坐标<标字坐标中的横坐标<bBox坐标的第二角横坐标,则判定所述位线穿过此列的目标存储器单元,并将此列的目标存储器单元的位线时序作为所述位线的位线序号。
6.根据权利要求4-5任意一项所述的位图文件的生成方法,其特征在于,所述bBox坐标的第一角和第二角通过逐层获取所述目标存储器单元的属性中关于翻转方式的属性确定。
7.根据权利要求1所述的位图文件的生成方法,其特征在于,预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的比特值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/数据选择器的数量进行取整,将取整结果作为待生成的位图文件的比特值。
8.根据权利要求1所述的位图文件的生成方法,其特征在于,预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值的步骤包括,
根据所述数据选择器的数量,对所述位线序号/所述数据选择器的数量进行取余,将取余结果作为待生成的位图文件的字值。
9.根据权利要求1所述的位图文件的生成方法,其特征在于,所述编译待生成的位图文件的地址位的步骤包括,
采用二进制转换,得到待生成的位图文件的地址位。
10.根据权利要求3所述的位图文件的生成方法,其特征在于,还包括以下步骤,
基于目标存储器单元的所述bBox坐标、不同的字线在顶层的所述字线坐标和不同的位线在顶层的所述位线坐标,生成对应的验证版图。
11.一种位图文件的生成装置,其特征在于,包括,
初始版图模块,用于获取与电路结构匹配的初始版图;
映射模块,用于基于待生成的位图文件的目标格式,编写skill脚本,得到目标存储器单元与字线和位线的映射关系,确定待生成的位图文件的字线序号和位线序号,包括,获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的 bBox 坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;获取所述字线和所述位线的标字在顶层的标字坐标;根据所述 bBox 坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系;
计算模块,用于预设数据选择器的数量,结合所述位线序号,计算待生成的位图文件的字值和比特值;
地址位模块,用于编译待生成的位图文件的地址位,并按照目标格式输出至待生成的位图文件;
执行模块,用于在接收到执行指令时,生成位图文件。
12.根据权利要求11所述的位图文件的生成装置,其特征在于,所述映射模块包括,
第一数据单元,用于编写skill脚本,获取所述初始版图中静态随机存取存储器的目标存储器单元在顶层的bBox坐标、不同的字线在顶层的字线坐标和不同的位线在顶层的位线坐标;
第二数据单元,用于编写skill脚本,获取所述字线和所述位线的标字在顶层的标字坐标;
映射单元,用于根据所述bBox坐标、所述字线坐标、所述位线坐标和所述标字坐标,得到目标存储器单元与字线和位线的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310622458.XA CN116644703B (zh) | 2023-05-29 | 2023-05-29 | 一种位图文件的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310622458.XA CN116644703B (zh) | 2023-05-29 | 2023-05-29 | 一种位图文件的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116644703A CN116644703A (zh) | 2023-08-25 |
CN116644703B true CN116644703B (zh) | 2023-11-24 |
Family
ID=87639477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310622458.XA Active CN116644703B (zh) | 2023-05-29 | 2023-05-29 | 一种位图文件的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644703B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777956A (zh) * | 2003-03-20 | 2006-05-24 | 皇家飞利浦电子股份有限公司 | 同时从/向不同的存储单元的读取/写入 |
WO2009032149A1 (en) * | 2007-08-28 | 2009-03-12 | Parata Systems, Llc | Methods, systems, and computer program products for compiling information for use in a command script for a product dispensing system |
CN101814032A (zh) * | 2010-02-08 | 2010-08-25 | 河南大学 | 利用Delphi资源文件生成Windows应用程序的资源封装方法 |
CN104750937A (zh) * | 2015-04-08 | 2015-07-01 | 西安电子科技大学 | 基于Hadoop的集成电路版图转换方法 |
CN106407538A (zh) * | 2016-09-08 | 2017-02-15 | 西安电子科技大学 | 基于Hadoop的位图版图向CIF版图转换方法 |
CN111386573A (zh) * | 2018-06-29 | 2020-07-07 | 闪迪技术有限公司 | 非易失性存储器装置的多个单元的同时编程 |
CN111445502A (zh) * | 2020-03-06 | 2020-07-24 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 集成电路图像匹配方法及系统 |
CN112464593A (zh) * | 2020-11-25 | 2021-03-09 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN112466379A (zh) * | 2020-11-23 | 2021-03-09 | 海光信息技术股份有限公司 | 存储器位映射关系确定方法、装置、处理器芯片及服务器 |
CN115169277A (zh) * | 2022-07-31 | 2022-10-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于版图文件建模方法、系统、设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775796B2 (en) * | 2001-08-31 | 2004-08-10 | International Business Machines Corporation | Creation of memory array bitmaps using logical to physical server |
-
2023
- 2023-05-29 CN CN202310622458.XA patent/CN116644703B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777956A (zh) * | 2003-03-20 | 2006-05-24 | 皇家飞利浦电子股份有限公司 | 同时从/向不同的存储单元的读取/写入 |
WO2009032149A1 (en) * | 2007-08-28 | 2009-03-12 | Parata Systems, Llc | Methods, systems, and computer program products for compiling information for use in a command script for a product dispensing system |
CN101814032A (zh) * | 2010-02-08 | 2010-08-25 | 河南大学 | 利用Delphi资源文件生成Windows应用程序的资源封装方法 |
CN104750937A (zh) * | 2015-04-08 | 2015-07-01 | 西安电子科技大学 | 基于Hadoop的集成电路版图转换方法 |
CN106407538A (zh) * | 2016-09-08 | 2017-02-15 | 西安电子科技大学 | 基于Hadoop的位图版图向CIF版图转换方法 |
CN111386573A (zh) * | 2018-06-29 | 2020-07-07 | 闪迪技术有限公司 | 非易失性存储器装置的多个单元的同时编程 |
CN111445502A (zh) * | 2020-03-06 | 2020-07-24 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 集成电路图像匹配方法及系统 |
CN112466379A (zh) * | 2020-11-23 | 2021-03-09 | 海光信息技术股份有限公司 | 存储器位映射关系确定方法、装置、处理器芯片及服务器 |
CN112464593A (zh) * | 2020-11-25 | 2021-03-09 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN115169277A (zh) * | 2022-07-31 | 2022-10-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于版图文件建模方法、系统、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于软件的集成电路版图提取系统设计;田文雅;计算机时代(10);第15-17页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116644703A (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105839B (zh) | 芯片测试方法、装置、电子设备及计算机可读介质 | |
CN111459982A (zh) | 一种数据查询方法、装置、终端设备及存储介质 | |
CN112464593B (zh) | Rom位映射关系生成方法、装置、处理器芯片及服务器 | |
CN112560372B (zh) | 一种芯片原型验证方法、装置、设备及介质 | |
CN113094252B (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN111680463A (zh) | 一种文件检查方法和装置 | |
CN112466379B (zh) | 存储器位映射关系确定方法、装置、处理器芯片及服务器 | |
CN116644703B (zh) | 一种位图文件的生成方法及装置 | |
CN113177020A (zh) | 数据处理方法及装置 | |
TWI822301B (zh) | 一種應用app測試方法、裝置、電子設備及存儲介質 | |
CN106920576A (zh) | 一种检验Nand Flash质量的方法及系统 | |
CN116663489A (zh) | 一种rtl模块复位方法、装置、电子设备及存储介质 | |
CN115129590A (zh) | 一种测试用例的生成方法及装置、电子设备、存储介质 | |
CN115543769A (zh) | 一种单元测试方法、装置、电子设备及存储介质 | |
CN113176877A (zh) | 实体类生成方法、装置及存储介质 | |
CN116719682B (zh) | 数据保持测试方法和系统、电子设备、存储介质 | |
CN117008972B (zh) | 一种指令分析方法、装置、计算设备及存储介质 | |
CN115658036A (zh) | 一种寄存器模型验证输出方法、装置、设备及存储介质 | |
CN117112452A (zh) | 寄存器模拟配置方法、装置、计算机设备和存储介质 | |
CN118504491A (zh) | Fpga位流数据分析系统和方法 | |
CN117290234A (zh) | 抽奖规则sql文件的快速验证方法、装置、计算机设备及介质 | |
CN116737584A (zh) | Ui自动化测试方法、装置、设备、介质及产品 | |
CN116343887A (zh) | Nor flash的验证方法、装置、设备及存储介质 | |
CN117271326A (zh) | 一种数据迁移的测试方法、装置、设备及介质 | |
CN114281689A (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 |