CN117332727A - 一种基于ast的时钟信号提取方法和系统 - Google Patents

一种基于ast的时钟信号提取方法和系统 Download PDF

Info

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
Application number
CN202311266440.7A
Other languages
English (en)
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.)
Hunan Panlian Xin'an Information Technology Co ltd
Original Assignee
Hunan Panlian Xin'an Information 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 Hunan Panlian Xin'an Information Technology Co ltd filed Critical Hunan Panlian Xin'an Information Technology Co ltd
Priority to CN202311266440.7A priority Critical patent/CN117332727A/zh
Publication of CN117332727A publication Critical patent/CN117332727A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/323Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements 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

一种基于AST的时钟信号提取方法和系统
技术领域
本发明属于电子设计自动化(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语句的敏感信号集合中,则从所述敏感信号集中删除所述条件信号,其余的信号则为提取的时钟信号。
CN202311266440.7A 2023-09-27 2023-09-27 一种基于ast的时钟信号提取方法和系统 Pending CN117332727A (zh)

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)

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