CN116187270A - 一种自动化验证原理图中标识符的测试方法及装置 - Google Patents
一种自动化验证原理图中标识符的测试方法及装置 Download PDFInfo
- Publication number
- CN116187270A CN116187270A CN202310485702.2A CN202310485702A CN116187270A CN 116187270 A CN116187270 A CN 116187270A CN 202310485702 A CN202310485702 A CN 202310485702A CN 116187270 A CN116187270 A CN 116187270A
- Authority
- CN
- China
- Prior art keywords
- module
- cell
- net
- cells
- file
- 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
Links
Images
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/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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
一种自动化验证原理图中标识符的测试方法及装置,解析文本文件得到所有模块名的字典、每个cell所包含的输入和输出端口的字典、所有信号的字典、模块序号和各自的输入输出的id的字典,解析网表文件、布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中,调用解析方法,验证cell的名称端口是否一致,net的名称以及经过的cell是否一致,因此能够自动验证cell、net信息,高效判断生成的原理图是否正确,从而极大地缩短测试时间,有效地提升测试效率。
Description
技术领域
本发明涉及数字集成电路中FPGA EDA软件测试的技术领域,尤其涉及一种自动化验证原理图中标识符的测试方法,以及一种自动化验证原理图中标识符的测试装置。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种通用的逻辑电路,与CPU,DSP并称为三大通用信号处理器件。具有灵活性高、并行性高、开发风险低的优点,已广泛地应用于工业控制、航空航天、通信、汽车电子、数据中心、智能处理等领域,并且占据着越来越多的市场份额。FPGA EDA(Electronics Design Automation,电子设计自动化)软件是一种自动化设计电子电路的工具,是集成电路产业产能性能的源头。FPGA EDA工具涵盖了从仿真、综合到布局、布线、生成配码,从前端到后端,以及后续的工艺制造等方面。
电路设计通过FPGA EDA综合之后会有相应电路的电路图,对于比较大的电路,内部的模块、每个模块的端口、以及电路中信号的连接很多,可能会有成千上万甚至更多。测试人员需要通过一定的规则根据网表文件、布线的文件去逐个检查原理图中每个模块、每个模块的端口是否正确、信号数量以及信号连接是否正确,同时测试的电路也不止一个,这使得测试人员的工作量加剧。若是使用一种自动化验证原理图中信号、端口等的方法, 则可以极大地缩短测试时间,有效地提升测试效率。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种自动化验证原理图中标识符的测试方法,其能够自动验证cell、net 信息,可以高效的判断生成的原理图是否正确,从而极大地缩短测试时间,有效地提升测试效率。
本发明的技术方案是:这种自动化验证原理图中标识符的测试方法,其包括以下步骤:
(1)开始;
(2)判断文件路径是否存在,是则执行步骤(3),否则执行步骤(6);
(3)解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module序号和各自的input和output 的id的字典module_dict_1;
(4)解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
(5)调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致;
(6)结束。
本发明通过解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1,通过解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中,调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致,因此能够自动验证cell、net 信息,可以高效的判断生成的原理图是否正确,从而极大地缩短测试时间,有效地提升测试效率。
还提供了一种自动化验证原理图中标识符的测试装置,其包括:
判断模块,其配置来判断文件路径是否存在,是则执行第一解析模块,否则结束;
第一解析模块,其配置来解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1;
第二解析模块,其配置来解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
调用模块,其配置来调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致。
附图说明
图1示出了根据本发明的自动化验证原理图中标识符的测试方法的流程图。
具体实施方式
如图1所示,这种自动化验证原理图中标识符的测试方法,其包括以下步骤:
(1)开始;
(2)判断文件路径是否存在,是则执行步骤(3),否则执行步骤(6);
(3)解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module序号和各自的input和output 的id的字典module_dict_1;
(4)解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
(5)调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致;
(6)结束。
本发明通过解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1,通过解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中,调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致,因此能够自动验证cell、net 信息,可以高效的判断生成的原理图是否正确,从而极大地缩短测试时间,有效地提升测试效率。
优选地,所述步骤(3)中,文本文件是软件通过实际的电路而建立的一个文件,包括了所有的module以及其id,所有的cell和其id,所有的net和其id,各个net经过的cell,以及cell_id和其所有的端口,以txt文件的形式保存,电路的原理图通过这个文件进行解析,通过引入python中的sys 和re模块,进行文本文件的解析,解析后最后生成三个字典module_cell_dict、module_net_dict、module_dict_1。
优选地,所述步骤(4)中,网表文件中包含所有cell及其所有的端口和信号,其中,以cell_name_or为key,此cell下端口信号为value所建立的一个字典cell_or_dict;解析布线文件时,key是信号名, 此信号经过的cell,路径作为value建立一个route_dict_or。
优选地,所述步骤(4)中,验证cell的名称端口是否一致时,首先判断文本文件的cell是否都在网表文件的cell_or_dict中,若是某个cell在,则继续验证两个cell端口是否一致;验证端口时,通过sort函数对两个cell中的端口列表进行排序后验证,如此,便可验证端口的数量和名称是否完全一致。
优选地,所述步骤(4)中,验证cell的名称端口是否一致时,去除端口对应的net验证。
优选地,所述步骤(4)中,验证net的名称以及经过的cell是否一致时,在oute_dict_or里面,信号位置重新计算,将计算后的位置重新生成一个字典route_dict,和步骤(3)中module_net_dict进行比对;若是module_net_dict中的net都在route_dict中,则继续验证,利用sort函数判断两个cell中每个net所经过的cell列表是否一致;验证route_dict中的net信息是否都在module_net_dict中。
优选地,通过步骤(3)、(4)中的比对,若是cell信息不一致,则将此cell名打印出来,最后生成比对的结果文件;若是net信息不一致,则将此net名打印出来,最后生成比对的结果文件,对于module_net_dict中是缺少信号还是多出信号,都打印出来,并标明原因。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种自动化验证原理图中标识符的测试装置,该装置通常以与方法各步骤相对应的功能模块的形式表示。该装置包括:
判断模块,其配置来判断文件路径是否存在,是则执行第一解析模块,否则结束;
第一解析模块,其配置来解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1;
第二解析模块,其配置来解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
调用模块,其配置来调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致。
优选地,所述第一解析模块中,文本文件是软件通过实际的电路而建立的一个文件,包括了所有的module以及其id,所有的cell和其id,所有的net和其id,各个net经过的cell,以及cell_id和其所有的端口,以txt文件的形式保存,电路的原理图通过这个文件进行解析,通过引入python中的sys 和re模块,进行文本文件的解析,解析后最后生成三个字典module_cell_dict、module_net_dict、module_dict_1。
优选地,所述第二解析模块中,网表文件中包含所有cell及其所有的端口和信号,其中,以cell_name_or为key,此cell下端口信号为value所建立的一个字典cell_or_dict;解析布线文件时,key是信号名, 此信号经过的cell,路径作为value建立一个route_dict_or;
验证cell的名称端口是否一致时,首先判断文本文件的cell是否都在网表文件的cell_or_dict中,若是某个cell在,则继续验证两个cell端口是否一致;验证端口时,通过sort函数对两个cell中的端口列表进行排序后验证,如此,便可验证端口的数量和名称是否完全一致;
验证cell的名称端口是否一致时,去除端口对应的net验证;
验证net的名称以及经过的cell是否一致时,在oute_dict_or里面,信号位置重新计算,将计算后的位置重新生成一个字典route_dict,和步骤(3)中module_net_dict进行比对;若是module_net_dict中的net都在route_dict中,则继续验证,利用sort函数判断两个cell中每个net所经过的cell列表是否一致;验证route_dict中的net信息是否都在module_net_dict中。
以下更详细地说明本发明的主要步骤。
1.解析文本文件:
文本文件是软件通过实际的电路而建立的一个文件,包括了所有的module以及其id(此module是界面原理图中所有的页数),所有的cell和其id(界面原理图中所有的cell名),所有的net和其id (原理图中用来连接各个cell的线),各个net经过的cell,以及cell_id和其所有的端口,以txt文件的形式保存,本发明中所有电路的原理图都通过这个文件进行解析,通过引入python中的sys 和re模块,进行文本文件的解析,解析后最后生成三个字典module_cell_dict、module_net_dict、以及module_dict_1,其中,module_cell_dict是cell名和它的所有的输入和输出端口,如下所示:
{'mrk_1': {'input': ['address[0]', 'address[1]', 'address[2]', 'address[3]', 'address[4]', 'address[5]', 'address[6]', 'address[7]', 'data[0]', 'data[1]', 'data[2]', 'data[3]', 'data[4]', 'data[5]', 'data[6]', 'data[7]', 'wren', 'clock'], 'output': ['q[0]', 'q[1]', 'q[2]', 'q[3]', 'q[4]', 'q[5]', 'q[6]', 'q[7]']}, 'altsyncram:altsyncram_component': {'input': ['address[0]', 'address[1]', 'address[2]', 'address[3]', 'address[4]', 'address[5]', 'address[6]', 'address[7]', 'data[0]', 'data[1]', 'data[2]', 'data[3]','data[4]', 'data[5]', 'data[6]', 'data[7]', 'wren', 'clock'], 'output': ['\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[0]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[1]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[2]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[3]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[4]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[5]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[6]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[7]']}, 'altsyncram_aep1:auto_generated': {'input': ['address[0]', 'address[1]', 'address[2]', 'address[3]', 'address[4]', 'address[5]', 'address[6]', 'address[7]', 'data[0]', 'data[1]', 'data[2]', 'data[3]', 'data[4]', 'data[5]', 'data[6]', 'data[7]', 'wren', 'clock'], 'output': ['\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[0]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[1]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[2]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[3]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[4]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[5]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[6]', '\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[7]']}};
其中mrk_1,altsyncram:altsyncram_component,altsyncram_aep1:auto_generated在文本文中表示的cell名,input表示输入, address[1], address[2],address[3]等表示的是此cell中包含的输入端口;output表示输出,\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[0],\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[1],\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|q_a[2]等表示此cell中包含的输出端口名;
module_net_dict 是net名和它所经过的路径,如下所示:
{'address[0]':[('address[0]','3'), [('\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|ram_block1a0~porta_address_reg0FITTER_CREATED_FF_I','1')], ('\\altsyncram:altsyncram_component|altsyncram_aep1:auto_generated|ram_block1a0~porta_address_reg0FITTER_CREATED_FF_I', '1',)]}
address[0] 为net名称,后面list中是此net经过的所有cell以及cell的信息;
module_dict_1是模块id 和其名称
如下所示:
{'1': 'altsyncram:altsyncram_component', '2': 'altsyncram_h2c1:auto_generated', '0': 'mrk_1'};
其中,数字代表的是序列号,altsyncram:altsyncram_component表示的是module名。
2.解析网表文件以及布线文件
网表文件中包含了所有cell及其所有的端口和信号,其中,以cell_name_or为key,此cell下端口信号为value所建立的一个字典cell_or_dict,如下所示:
{cell_name_or1: {port_1: [sig…], port_2: [sig…],.. }, cell_name_or2: {port_1: [sig…], port_2: [sig…],.. }}
解析布线文件时,key是信号名, 此信号经过的cell,路径作为value建立一个route_dict_or
{sig1: [(cell1,port1), (cell2,port2)…], sig2: [(cell3,port3),(cell4,port4)…]… }。
3.验证cell的名称端口是否一致
界面上综合后的原理图,每个cell的名字在cell的上方,左边是输入,右边是输出。
由1、2中,已经得到各自的cell信息,首先判断文本文件的cell(遍历1中的module_cell_dict)是否都在网表文件的cell_or_dict中,若是某个cell在,则继续验证两个cell端口是否一致。验证端口时,通过sort函数对两个cell中的端口列表进行排序后验证,如此,便可验证端口的数量和名称是否完全一致。在此函数中,不进行端口对应的net验证,因为在4中验证net经过的cell时已经包括了net的信息。
4.验证net的名称以及经过的cell是否一致
需要保证net的数量、每个net经过的cell信息必须完全一致。在1/2中,已经得到各自的route信息,但这两个字典并不是完全一致,其中,在oute_dict_or里面,信号位置需要重新计算,将计算后的位置重新生成一个字典route_dict,才能和1中module_net_dict进行比对。若是module_net_dict中的net都在route_dict中(不在,则说明原理图中多出信号),在则继续验证,利用sort函数判断两个cell中每个net所经过的cell列表是否一致。反之,验证route_dict中的net信息是否都在module_net_dict中(不在,则说明原理图中少了信号),在就无需验证(上一步已经验证过经过的cell信息是否一致)。
5.生成结果文件
通过3、4中的比对,若是cell信息不一致,则会将此cell名打印出来,最后生成比对的结果文件;对于net信息也是如此,对于module_net_dict中是缺少信号还是多出信号,都会打印出来,并标明原因 。如果不一致,则结果如表1所示:
表1
本发明生成的结果文件一目了然,对于原理图中的cell、net的验证,可以清晰的看出,哪些cell、net缺失或者多出,net经过的cell、走过的路径信息是否正确。在大电路中,cell和net数量庞大,测试人员手动逐一比对,工作量极大。本发明可以自动验证cell、net 信息,可以高效的判断生成的原理图是否正确,从而提高测试效率,节省了时间成本。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (10)
1.一种自动化验证原理图中标识符的测试方法,其特征在于:其包括以下步骤:
(1)开始;
(2)判断文件路径是否存在,是则执行步骤(3),否则执行步骤(6);
(3)解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1;
(4)解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
(5)调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致;
(6)结束。
2.根据权利要求1所述的自动化验证原理图中标识符的测试方法,其特征在于:所述步骤(3)中,文本文件是软件通过实际的电路而建立的一个文件,包括了所有的module以及其id,所有的cell和其id,所有的net和其id,各个net经过的cell,以及cell_id和其所有的端口,以txt文件的形式保存,电路的原理图通过这个文件进行解析,通过引入python中的sys和re模块,进行文本文件的解析,解析后最后生成三个字典module_cell_dict、module_net_dict、module_dict_1。
3.根据权利要求2所述的自动化验证原理图中标识符的测试方法,其特征在于:所述步骤(4)中,网表文件中包含所有cell及其所有的端口和信号,其中,以cell_name_or为key,此cell下端口信号为value所建立的一个字典cell_or_dict;解析布线文件时,key是信号名, 此信号经过的cell,路径作为value建立一个route_dict_or。
4.根据权利要求3所述的自动化验证原理图中标识符的测试方法,其特征在于:所述步骤(4)中,验证cell的名称端口是否一致时,首先判断文本文件的cell是否都在网表文件的cell_or_dict中,若是某个cell在,则继续验证两个cell端口是否一致;验证端口时,通过sort函数对两个cell中的端口列表进行排序后验证,如此,便可验证端口的数量和名称是否完全一致。
5.根据权利要求4所述的自动化验证原理图中标识符的测试方法,其特征在于:所述步骤(4)中,验证cell的名称端口是否一致时,去除端口对应的net验证。
6.根据权利要求5所述的自动化验证原理图中标识符的测试方法,其特征在于:所述步骤(4)中,验证net的名称以及经过的cell是否一致时,在oute_dict_or里面,信号位置重新计算,将计算后的位置重新生成一个字典route_dict,和步骤(3)中module_net_dict进行比对;若是module_net_dict中的net都在route_dict中,则继续验证,利用sort函数判断两个cell中每个net所经过的cell列表是否一致;验证route_dict中的net信息是否都在module_net_dict中。
7.根据权利要求6所述的自动化验证原理图中标识符的测试方法,其特征在于:通过步骤(3)、(4)中的比对,若是cell信息不一致,则将此cell名打印出来,最后生成比对的结果文件;若是net信息不一致,则将此net名打印出来,最后生成比对的结果文件,对于module_net_dict中是缺少信号还是多出信号,都打印出来,并标明原因。
8.根据权利要求1所述的自动化验证原理图中标识符的测试方法的装置,其特征在于:其包括:
判断模块,其配置来判断文件路径是否存在,是则执行第一解析模块,否则结束;
第一解析模块,其配置来解析文本文件,得到所有模块名的字典module_id_dict、每个cell所包含的输入和输出端口的字典module_cell_dict、所有信号的字典module_net_dict、以及module 序号和各自的input和output 的id的字典module_dict_1;
第二解析模块,其配置来解析网表文件以及布线文件,将所有的模块文件存储到module_dict中,将所有的cell以及cell下所有的端口存储到cell_dcit中,解析布线文件后,将布线文件中所有的信号经过的路径存储到route_dict中;
调用模块,其配置来调用解析方法,验证cell的名称端口是否一致,验证net的名称以及经过的cell是否一致。
9.根据权利要求8所述的自动化验证原理图中标识符的测试装置,其特征在于:所述第一解析模块中,文本文件是软件通过实际的电路而建立的一个文件,包括了所有的module以及其id,所有的cell和其id,所有的net和其id,各个net经过的cell,以及cell_id和其所有的端口,以txt文件的形式保存,电路的原理图通过这个文件进行解析,通过引入python中的sys 和re模块,进行文本文件的解析,解析后最后生成三个字典module_cell_dict、module_net_dict、module_dict_1。
10.根据权利要求9所述的自动化验证原理图中标识符的测试装置,其特征在于:所述第二解析模块中,网表文件中包含所有cell及其所有的端口和信号,其中,以cell_name_or为key,此cell下端口信号为value所建立的一个字典cell_or_dict;解析布线文件时,key是信号名, 此信号经过的cell,路径作为value建立一个route_dict_or;
验证cell的名称端口是否一致时,首先判断文本文件的cell是否都在网表文件的cell_or_dict中,若是某个cell在,则继续验证两个cell端口是否一致;验证端口时,通过sort函数对两个cell中的端口列表进行排序后验证,如此,便可验证端口的数量和名称是否完全一致;
验证cell的名称端口是否一致时,去除端口对应的net验证;
验证net的名称以及经过的cell是否一致时,在oute_dict_or里面,信号位置重新计算,将计算后的位置重新生成一个字典route_dict,和步骤(3)中module_net_dict进行比对;若是module_net_dict中的net都在route_dict中,则继续验证,利用sort函数判断两个cell中每个net所经过的cell列表是否一致;验证route_dict中的net信息是否都在module_net_dict中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485702.2A CN116187270B (zh) | 2023-05-04 | 2023-05-04 | 一种自动化验证原理图中标识符的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485702.2A CN116187270B (zh) | 2023-05-04 | 2023-05-04 | 一种自动化验证原理图中标识符的测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116187270A true CN116187270A (zh) | 2023-05-30 |
CN116187270B CN116187270B (zh) | 2023-08-22 |
Family
ID=86442659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310485702.2A Active CN116187270B (zh) | 2023-05-04 | 2023-05-04 | 一种自动化验证原理图中标识符的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187270B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400992A (zh) * | 2020-02-26 | 2020-07-10 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化验证装箱布局布线的测试方法及系统 |
CN113515455A (zh) * | 2021-07-15 | 2021-10-19 | 华云数据控股集团有限公司 | 自动化测试方法以及系统 |
CN115238616A (zh) * | 2022-07-11 | 2022-10-25 | 新华三半导体技术有限公司 | 一种芯片网表自动修改方法、装置及电子设备 |
CN115544929A (zh) * | 2022-11-30 | 2022-12-30 | 中科亿海微电子科技(苏州)有限公司 | 对fpga eda软件中路径时序延时的测试方法及装置 |
-
2023
- 2023-05-04 CN CN202310485702.2A patent/CN116187270B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400992A (zh) * | 2020-02-26 | 2020-07-10 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化验证装箱布局布线的测试方法及系统 |
CN113515455A (zh) * | 2021-07-15 | 2021-10-19 | 华云数据控股集团有限公司 | 自动化测试方法以及系统 |
CN115238616A (zh) * | 2022-07-11 | 2022-10-25 | 新华三半导体技术有限公司 | 一种芯片网表自动修改方法、装置及电子设备 |
CN115544929A (zh) * | 2022-11-30 | 2022-12-30 | 中科亿海微电子科技(苏州)有限公司 | 对fpga eda软件中路径时序延时的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116187270B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115544929B (zh) | 对fpga eda软件中路径时序延时的测试方法及装置 | |
CN113065300B (zh) | 芯片eda仿真中回溯仿真波形的方法、系统及装置 | |
CN111965530A (zh) | 一种基于jtag的fpga芯片自动化测试方法 | |
CN110632499A (zh) | 基于测试对象的测试向量生成方法及存储介质 | |
CN111400992A (zh) | 一种自动化验证装箱布局布线的测试方法及系统 | |
CN115684896B (zh) | 芯片可测性设计测试方法、测试平台及其生成方法及装置 | |
CN115858336A (zh) | 测试向量生成方法及装置、计算设备和存储介质 | |
CN116187270B (zh) | 一种自动化验证原理图中标识符的测试方法及装置 | |
CN116956801B (zh) | 芯片验证方法、装置、计算机设备和存储介质 | |
Huang et al. | Errortracer: Design error diagnosis based on fault simulation techniques | |
CN115684894B (zh) | 芯片可测性设计的测试方法及测试平台 | |
CN116227398B (zh) | 一种自动化生成ip核测试激励的方法及系统 | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
CN109543316B (zh) | 提取版图不同模块连接关系的方法 | |
CN115421020A (zh) | 一种集成电路测试信号的生成方法与测试方法 | |
CN114168399A (zh) | 一种信号处理单元测试方法及系统 | |
CN115348200A (zh) | 一种can通信功能测试方法及测试系统 | |
CN114756463A (zh) | 一种测试环境开发方法、系统、设备以及介质 | |
CN114253909A (zh) | 一种仿真结果的分析方法、系统、计算机设备及存储介质 | |
CN108363567B (zh) | 一种基于数据库的验证平台激励器自动化生成方法 | |
CN106707144B (zh) | 一种应用于反熔丝fpga测试向量的逆向分析方法 | |
CN116861829B (zh) | 用于定位逻辑系统设计中错误的方法、电子设备 | |
CN111427731B (zh) | 一种自动化拆分码流及验证码流的测试方法和系统 | |
CN117762718B (zh) | 一种指令监测方法、装置、设备及存储介质 | |
US10614181B2 (en) | Electronic design tools using non-synthesizable circuit elements |
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 |