CN117332727A - 一种基于ast的时钟信号提取方法和系统 - Google Patents
一种基于ast的时钟信号提取方法和系统 Download PDFInfo
- Publication number
- CN117332727A CN117332727A CN202311266440.7A CN202311266440A CN117332727A CN 117332727 A CN117332727 A CN 117332727A CN 202311266440 A CN202311266440 A CN 202311266440A CN 117332727 A CN117332727 A CN 117332727A
- Authority
- CN
- China
- Prior art keywords
- event control
- sensitive
- signals
- sentences
- ast
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 28
- 230000035945 sensitivity Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000014509 gene expression Effects 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004088 simulation Methods 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/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于AST的时钟信号提取方法和系统,包括获取原始设计文件,进行词法、语法分析,得到抽象语法树AST;在AST上遍历所有被always控制的事件控制语句,保留不包含电平敏感的事件控制语句,提取每一事件控制语句敏感列表中的所有信号,形成对应事件控制语句的敏感信号集合;遍历被对应事件控制语句敏感列表控制的if语句,提取if语句的条件信号,若条件信号在对应事件控制语句的敏感信号集合中,则从敏感信号集中删除条件信号,其余的信号则为提取的时钟信号。可直接在AST上实现时钟信号的提取,能减少资源占用,加速整个流程;相比于在网表上提取,本发明速度更快、内存开销更小。
Description
技术领域
本发明属于电子设计自动化(EDA)技术领域,特别是涉及一种基于AST的时钟信号提取方法和系统。
背景技术
时钟网络的识别和提取,在硬件设计自动化过程中是非常重要的一个环节。只有有效识别出设计中的时钟信号和与之关联的时钟网络,才能基于该时钟网络信息确定各个模块之间的时序关系,进而基于时序关系进行一系列分析。而传统时钟信号的识别通常都是基于网表实现的,如专利CN202310162381.2提出了一种基于RTL网表的时钟网络提取方法,该方法首先将硬件设计编译综合为网表描述,然后在网表上实施一系列算法,最终提取出硬件设计的时钟网络。又比如专利CN201511005377.7也提出了一种基于网表和约束文件的时钟网络提取系统,该系统通过时钟模式分析单元、时钟域分析单元、原始时钟网络输出单元等模块对输入文件进行一系列处理,最终输出原始时钟文件和重构模板文件。因此该专利所涉及的时钟网络提取系统也是将网表作为输入文件。
但是通常来说,从原始HDL(硬件描述语言)设计到网表需要经历将原始设计编译为AST(抽象语法树)、将AST综合为网表两个主要过程。其中将AST综合为网表的过程通常需要耗费比较多的处理器时间和内存资源,对于如功能仿真、规则检查等场景,生成网表的过程并不是必须的,因此,提出一种基于AST的时钟信号提取方法。
发明内容
针对以上技术问题,本发明提供一种基于AST的时钟信号提取方法和系统。
本发明解决其技术问题采用的技术方案是:
一种基于AST的时钟信号提取方法,方法包括以下步骤:
S100:获取原始设计文件,对原始设计文件进行词法、语法分析,得到抽象语法树AST;
S200:在AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合;
S300:遍历被对应event control语句敏感列表控制的if语句,提取if语句的条件信号,若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,其余的信号则为提取的时钟信号。
优选地,S200包括:
S210:在AST上遍历所有被always控制的event control语句,判断每一条eventcontrol语句的敏感列表中是否包含电平敏感;
S220:若当前条event control语句的敏感列表中不包含电平敏感,则提取当前event control语句敏感列表中的所有信号,形成敏感信号集合。
优选地,S220还包括:
若当前条event control语句的敏感列表中包含电平敏感,则跳过当前eventcontrol语句,判断下一条event control语句的敏感列表中是否包含电平敏感。
优选地,S300包括:
S310:遍历被对应event control语句敏感列表控制的if语句,从当前if语句的条件表达式中提取当前if语句的条件信号;
S320:若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,若删除了条件信号后的敏感信号集合中还剩余有信号,则剩余的信号即为时钟信号。
优选地,S320还包括:
若条件信号不在对应event control语句的敏感信号集合中,则对应eventcontrol语句的敏感信号集合中的信号均为是时钟信号。
一种基于AST的时钟信号提取系统,包括:
抽象语法树形成模块,用于获取原始设计文件,对原始设计文件进行词法、语法分析,得到抽象语法树AST;
敏感信号集合形成模块,用于在AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合;
时钟信号提取模块,用于遍历被对应event control语句敏感列表控制的if语句,提取if语句的条件信号,若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,其余的信号则为提取的时钟信号。
上述一种基于AST的时钟信号提取方法和系统,可直接在AST上实现时钟信号的提取,能减少资源占用,加速整个流程;相比于在网表上提取,本发明速度更快、内存开销更小。
附图说明
图1为本发明一实施例中一种基于AST的时钟信号提取方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
在一个实施例中,如图1所示,一种基于AST的时钟信号提取方法,方法包括以下步骤:
S100:获取原始设计文件,对原始设计文件进行词法、语法分析,得到抽象语法树AST。
S200:在AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合。
具体地,event control语句对应为事件控制语句。
在一个实施例中,S200包括:
S210:在AST上遍历所有被always控制的event control语句,判断每一条eventcontrol语句的敏感列表中是否包含电平敏感;
S220:若当前条event control语句的敏感列表中不包含电平敏感,则提取当前event control语句敏感列表中的所有信号,形成敏感信号集合。
在一个实施例中,S220还包括:
若当前条event control语句的敏感列表中包含电平敏感,则跳过当前eventcontrol语句,判断下一条event control语句的敏感列表中是否包含电平敏感。
具体地,在AST上遍历所有被always控制的event control语句,如果该eventcontrol语句的敏感列表中包含电平敏感,则跳过该event control语句,否则进入下一步;提取当前event control语句敏感列表中的所有信号,形成一个敏感信号集合。
S300:遍历被对应event control语句敏感列表控制的if语句,提取if语句的条件信号,若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,其余的信号则为提取的时钟信号。
在一个实施例中,S300包括:
S310:遍历被对应event control语句敏感列表控制的if语句,从当前if语句的条件表达式中提取当前if语句的条件信号;
S320:若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,若删除了条件信号后的敏感信号集合中还剩余有信号,则剩余的信号即为时钟信号。
在一个实施例中,S320还包括:
若条件信号不在对应event control语句的敏感信号集合中,则对应eventcontrol语句的敏感信号集合中的信号均为是时钟信号。
具体地,遍历被当前event control敏感列表控制的所有if语句,从当前if语句的条件表达式中提取当前if语句的条件信号;如果条件信号在当前event control语句的敏感信号集合中,那么从敏感信号集合中删掉该信号;如果敏感信号集合中还有信号,那么该信号即为时钟信号。
在一个实例中,以以下样例来进行说明:
上述代码为一个FSM(有限状态机)的SystemVerilog HDL实现,下面我们根据本文中的方法对其中的时钟信号进行提取。
1、首先遍历AST中的所有被always控制的event control语句,并筛选掉包含电平敏感的语句,会发现设计中只有一条语句符合条件,即下表中的always语句:
2、下面将敏感列表(posedge clk,posedge reset)中的敏感信号提取出来,得到敏感信号集合{clk,reset};
3、接下来遍历其中的所有if语句,发现只有一条if语句;
4、从该if语句中的条件表达式(reset)中提取得到条件信号{reset};
5、从敏感信号集合中删掉条件信号,就得到了该module的时钟信号clk。
一种基于AST的时钟信号提取系统,包括:
抽象语法树形成模块,用于获取原始设计文件,对原始设计文件进行词法、语法分析,得到抽象语法树AST;
敏感信号集合形成模块,用于在AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合;
时钟信号提取模块,用于遍历被对应event control语句敏感列表控制的if语句,提取if语句的条件信号,若条件信号在对应event control语句的敏感信号集合中,则从敏感信号集中删除条件信号,其余的信号则为提取的时钟信号。
上述一种基于AST的时钟信号提取方法和系统,可直接在AST上实现时钟信号的提取,能减少资源占用,加速整个流程;相比于在网表上提取,本发明速度更快、内存开销更小。
以上对本发明所提供的一种基于AST的时钟信号提取方法和系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (6)
1.一种基于AST的时钟信号提取方法,其特征在于,所述方法包括以下步骤:
S100:获取原始设计文件,对所述原始设计文件进行词法、语法分析,得到抽象语法树AST;
S200:在所述AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合;
S300:遍历被对应event control语句敏感列表控制的if语句,提取所述if语句的条件信号,若所述条件信号在对应event control语句的敏感信号集合中,则从所述敏感信号集中删除所述条件信号,其余的信号则为提取的时钟信号。
2.根据权利要求1所述的方法,其特征在于,S200包括:
S210:在所述AST上遍历所有被always控制的event control语句,判断每一条eventcontrol语句的敏感列表中是否包含电平敏感;
S220:若当前条event control语句的敏感列表中不包含电平敏感,则提取当前eventcontrol语句敏感列表中的所有信号,形成敏感信号集合。
3.根据权利要求3所述的方法,其特征在于,S220还包括:
若当前条event control语句的敏感列表中包含电平敏感,则跳过当前event control语句,判断下一条event control语句的敏感列表中是否包含电平敏感。
4.根据权利要求3所述的方法,其特征在于,S300包括:
S310:遍历被对应event control语句敏感列表控制的if语句,从当前if语句的条件表达式中提取当前if语句的条件信号;
S320:若所述条件信号在对应event control语句的敏感信号集合中,则从所述敏感信号集中删除所述条件信号,若删除了条件信号后的敏感信号集合中还剩余有信号,则剩余的信号即为时钟信号。
5.根据权利要求4所述的方法,其特征在于,S320还包括:
若所述条件信号不在对应event control语句的敏感信号集合中,则对应eventcontrol语句的敏感信号集合中的信号均为是时钟信号。
6.一种基于AST的时钟信号提取系统,其特征在于,包括:
抽象语法树形成模块,用于获取原始设计文件,对所述原始设计文件进行词法、语法分析,得到抽象语法树AST;
敏感信号集合形成模块,用于在所述AST上遍历所有被always控制的event control语句,保留不包含电平敏感的event control语句,提取每一event control语句敏感列表中的所有信号,形成对应event control语句的敏感信号集合;
时钟信号提取模块,用于遍历被对应event control语句敏感列表控制的if语句,提取所述if语句的条件信号,若所述条件信号在对应event control语句的敏感信号集合中,则从所述敏感信号集中删除所述条件信号,其余的信号则为提取的时钟信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311266440.7A CN117332727A (zh) | 2023-09-27 | 2023-09-27 | 一种基于ast的时钟信号提取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311266440.7A CN117332727A (zh) | 2023-09-27 | 2023-09-27 | 一种基于ast的时钟信号提取方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117332727A true CN117332727A (zh) | 2024-01-02 |
Family
ID=89294515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311266440.7A Pending CN117332727A (zh) | 2023-09-27 | 2023-09-27 | 一种基于ast的时钟信号提取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117332727A (zh) |
-
2023
- 2023-09-27 CN CN202311266440.7A patent/CN117332727A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7769569B2 (en) | Method and system for designing a structural level description of an electronic circuit | |
US7231627B2 (en) | Merging a hardware design language source file with a separate assertion file | |
US7617469B2 (en) | Assertion description conversion device, method and computer program product | |
US7350180B1 (en) | Search algorithm for inheriting clock contexts in hardware description language translation tools | |
CN110262783B (zh) | 一种接口生成方法、装置及终端设备 | |
US10732937B2 (en) | Programming by voice | |
CN112199473A (zh) | 一种知识问答系统中的多轮对话方法与装置 | |
KR19980086572A (ko) | 디지털 컴퓨터 하드웨어 설계와 시뮬레이션을 위한 방법 및 시스템 | |
US6658630B1 (en) | Method to translate UDPs using gate primitives | |
US5065318A (en) | Method of translating a sentence including a compound word formed by hyphenation using a translating apparatus | |
CN116933697B (zh) | 一种将自然语言转换为硬件描述语言的方法及装置 | |
CN110442929A (zh) | 一种基于perl实现芯片系统顶层自动例化的方法 | |
KR101064950B1 (ko) | 번역 오류 후처리 보정 장치 및 방법 | |
CN102135957A (zh) | 一种翻译短句的方法及装置 | |
CN117332727A (zh) | 一种基于ast的时钟信号提取方法和系统 | |
US7991605B1 (en) | Method and apparatus for translating a verification process having recursion for implementation in a logic emulator | |
CN111597824B (zh) | 语言翻译模型的训练方法及装置 | |
Sagot | Building a morphosyntactic lexicon and a pre-syntactic processing chain for Polish | |
CN113688587B (zh) | 一种电路布图的生成方法、装置、计算机设备及存储介质 | |
US20200334408A1 (en) | Enforcing simulation-based physical design rules to optimize circuit layout | |
US6557160B2 (en) | Correlation of behavioral HDL signals | |
CN117592409A (zh) | 一种基于流图的hdl信号二值分析系统和方法 | |
JPH0683896A (ja) | 設計支援装置 | |
CN114328970A (zh) | 三元组抽取方法、设备及计算机存储介质 | |
CN114722106A (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 |