寄存器传输级信号映射构建方法、装置、设备和存储介质与流程

文档序号:28439465发布日期:2022-01-12 02:19阅读:90来源:国知局
寄存器传输级信号映射构建方法、装置、设备和存储介质与流程

1.本发明涉及芯片设计制造技术领域,特别是涉及一种寄存器传输级信号映射构建方法、装置、设备和存储介质。


背景技术:

2.在芯片设计流程中,电路的逻辑通过代码来体现,设计工程师需要根据设计规格编写寄存器传输级代码,而最终在芯片流片的时候,寄存器传输级代码需要转换为网表级代码。从寄存器传输级代码到网表级代码的转换过程,叫做逻辑综合。逻辑综合不仅可以将寄存器传输级代码转换成网表级代码,同时也可以对转换后的网表级代码进行优化,因此在芯片设计中起到了不可或缺的作用。
3.但是在芯片设计流程后期,逻辑综合结束之后,如果需要修改芯片的逻辑功能,即修改寄存器传输级代码,或者查找寄存器传输级代码中信号在网表级代码中的对应信号,则非常麻烦。芯片流片所需要的是网表级代码,现有技术中,如果在芯片设计后期需要修改寄存器传输级代码,有两种方式:一是重新做逻辑综合,二是手工修改网表级代码。
4.重新做逻辑综合和手工修改网表都需要较长的周期、大量的资金投入和人力投入,通用性差,效率低,大幅延长芯片的上市周期。


技术实现要素:

5.基于此,有必要针对上述的问题,提供一种寄存器传输级信号映射构建方法、装置、设备和存储介质。
6.本发明实施例是这样实现的,一种寄存器传输级信号映射构建方法,所述寄存器传输级信号映射构建方法包括:获取寄存器传输级代码以及与所述寄存器传输级代码对应的网表级代码;根据所述寄存器传输级代码以及所述网表级代码构建电路;根据电路在硬件描述语言中的语法,将电路分割成若干个的模块;采用逻辑验证方法确定模块与模块之间的对应关系;获取要构建映射关系的寄存器传输级信号;根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
7.在其中一个实施例中,本发明提供了一种寄存器传输级信号映射构建装置,所述寄存器传输级信号映射构建装置包括:第一获取模块,用于获取寄存器传输级代码以及与所述传输级代码对应的网表级代码;构建模块,用于根据所述传输级代码以及所述网表级代码构建电路;分割模块,用于根据电路在硬件描述语言中的语法,将电路分割成若干个的模块;逻辑验证模块,用于采用逻辑验证方法确定模块与模块之间的对应关系;第二获取模块,用于获取要构建映射关系的寄存器传输级信号;
对应模块,用于根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
8.在其中一个实施例中,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述寄存器传输级信号映射构建方法的步骤。
9.在其中一个实施例中,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述寄存器传输级信号映射构建方法的步骤。
10.本发明直接根据寄存器传输级代码中的信号建立与网表级代码中的信号的映射关系,不需要耗费大量人力进行修改,通用性好;相对于重做逻辑综合,周期短,成本低,实现简单,适用于芯片逻辑综合后逻辑功能的修改。
附图说明
11.图1为一个实施例提供的寄存器传输级信号映射构建方法的流程图;图2为图1中根据所述传输级代码以及所述网表级代码构建电路的具体流程图;图3为图1中采用逻辑验证方法确定模块与模块之间的对应关系的具体流程图;图4为图1中采用逻辑验证方法确定模块与模块之间的对应关系之后还包括的步骤流程图;图5为一个实施例提供的寄存器传输级信号映射构建装置的结构框图;图6为一个实施例中计算机设备的内部结构框图。
具体实施方式
12.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
13.可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
14.如图1所示,在一个实施例中,提出了一种寄存器传输级信号映射构建方法,具体可以包括以下步骤:步骤s102,获取寄存器传输级代码以及与所述寄存器传输级代码对应的网表级代码。
15.在本发明实施例中,对于寄存器传输级代码与网表级代码的获取方式本发明不作具体限定,这些代码在芯片设计过程中使用或者产生,本发明提供的算法利用这些代码建立寄存器传输级信号的映射关系,对于代码本身不作具体限定。
16.步骤s104,根据所述寄存器传输级代码以及所述网表级代码构建电路。
17.在本发明实施例中,对代码进行解析处理可以构建芯片电路,这里需要说明的是,构建电路并不是将电路完整的建立出来,可以仅仅是电路的逻辑,最终得到由若干功能模
块或者逻辑模块构成的电路整体,不等于构建出电路图;当然,将电路图构建出来同样可以解决本发明的问题,且具有更好的可视化效果,此为可选的一种实现方式。
18.步骤s106,根据电路在硬件描述语言中的语法,将电路分割成若干个的模块。
19.在本发明实施例中,电路采用特定的程序语言表述,根据所采用的语言,可以将电路分割得到若干个功能模块或者逻辑模块。在本发明实施例中,每个模块包括输入端、输出端、双向端口、寄存器单元、组合逻辑单元以及子模块,各个单元或者模块之间具有连接关系。
20.步骤s108,采用逻辑验证方法确定模块与模块之间的对应关系。
21.在本发明实施例中,采用逻辑验证的方法确定模块与模块之间的对应关系,具体可以采用sat solver或者simulation等第三方工具实现,本发明实施例对此不作具体限定。
22.步骤s110,获取要构建映射关系的寄存器传输级信号。
23.步骤s112,根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
24.在本发明实施例中,模块对应关系确定后,通过信号的输入输出进一步得到信号之间的对应关系。
25.本发明直接根据寄存器传输级代码中的信号建立与网表级代码中的信号的映射关系,不需要耗费大量人力进行修改,通用性好;相对于重做逻辑综合,周期短,成本低,实现简单,适用于芯片逻辑综合后逻辑功能的修改。
26.在一个实施例中,如图2所示,步骤s104即根据所述寄存器传输级代码以及所述网表级代码构建电路,具体可以包括以下步骤:步骤s202,将所述寄存器传输级代码以及所述网表级代码转换为指定的数据结构。
27.在本发明实施例中,获取寄存器传输级代码以及网表级代码后,会从string格式转换为指定的数据结构。
28.步骤s204,根据转换后的数据结构,采用硬件描述语言规定的格式构建并呈现电路。
29.在本发明实施例中,关于电路的说明参考本发明前方所述。
30.在一个实施例中,步骤s108即采用逻辑验证方法确定模块与模块之间的对应关系,具体可以包括以下步骤:步骤s302,确定一个输入信号。
31.步骤s304,将所述输入信号分别输入到待验证的两个模块。
32.在本发明实施例中,通过输入输出比较模块之间是否相对应。
33.步骤s306,判断两个模块的输出是否完全相同,若完全相同则判断两个模块对应。
34.在本发明实施例中,若模块的输出相同,则可以判断两个模块对应。
35.在一个实施例中,步骤s108之外还包括以下步骤:步骤s402,删除测试电路。
36.在本发明实施例中,在逻辑验证的基础上,首先删除测试电路,例如scan chain,同时删除buffer tree等相关信息。
37.步骤s404,根据电路逻辑关系和连接关系,追溯当前传输级信号、网表级信号的源
信号,直到跨模块追溯到某寄存器单元的输出端或某指定模块的输入端;追溯当前传输级信号、网表级信号的子信号,直至跨模块追溯到某寄存器单元的输入端或某指定模块的输出端。
38.步骤s406,根据追溯的结果确定模块与模块之间的对应关系。
39.在本发明实施例中,根据追溯的结果确定模块与模块之间的对应关系,之后还包括以下步骤:把电路中每个模块的每个信号进行迭代,交叉验证,从而确定模块与模块之间的对应关系。
40.在一个实施例中,步骤s406之后还包括:采用逻辑验证方法验证模块与模块之间的对应关系。
41.在本发明实施例中,在得到寄存器传输级信号、网表级信号对应的输出端、输入端之后,再次通过逻辑验证的方式进行逻辑功能对比,实现传输级信号与网表级信号、输出端与输入端的对应关系。
42.如图5所示,在一个实施例中,提供了一种寄存器传输级信号映射构建装置,具体可以包括:第一获取模块501,用于获取寄存器传输级代码以及与所述传输级代码对应的网表级代码;构建模块502,用于根据所述传输级代码以及所述网表级代码构建电路;分割模块503,用于根据电路在硬件描述语言中的语法,将电路分割成若干个的模块;逻辑验证模块504,用于采用逻辑验证方法确定模块与模块之间的对应关系;第二获取模块505,用于获取要构建映射关系的寄存器传输级信号;对应模块506,用于根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
43.在本发明实施例中,上述各个模块与本发明提供的寄存器传输级信号映射构建方法的各个步骤对应,关于各个模块具体的功能解释,请参考本发明实施例提供的寄存器传输级信号映射构建方法的说明,本实施例在此不再赘述。
44.图6示出了一个实施例中计算机设备的内部结构图。如图6所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明实施例提供的寄存器传输级信号映射构建方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明实施例提供的寄存器传输级信号映射构建方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
45.本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
46.在一个实施例中,本发明实施例提供的寄存器传输级信号映射构建装置可以实现
为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该寄存器传输级信号映射构建装置的各个程序模块,在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取寄存器传输级代码以及与所述传输级代码对应的网表级代码;根据所述传输级代码以及所述网表级代码构建电路;根据电路在硬件描述语言中的语法,将电路分割成若干个的模块;采用逻辑验证方法确定模块与模块之间的对应关系;获取要构建映射关系的寄存器传输级信号;根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
47.在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取寄存器传输级代码以及与所述寄存器传输级代码对应的网表级代码;根据所述传输级代码以及所述网表级代码构建电路;根据电路在硬件描述语言中的语法,将电路分割成若干个的模块;采用逻辑验证方法确定模块与模块之间的对应关系;获取要构建映射关系的寄存器传输级信号;根据模块对应关系,确定与所述寄存器传输级信号对应的网表级信号。
48.应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
49.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
50.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
51.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1