首页> 中国专利> 集成电路设计过程中的寄存器设计方法及装置

集成电路设计过程中的寄存器设计方法及装置

摘要

本发明公开了一种集成电路设计过程中的寄存器设计方法,包括:通过可扩展标记语言XML编辑器生成包括寄存器配置信息的XML文件;根据所述寄存器配置信息中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板;根据获取的RTL模板和所述寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头;以及遍历所述XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息;得到包含RTL文件头和RTL信息的RTL设计文件;减少了IC设计缺陷,提高了设计成功率。

著录项

  • 公开/公告号CN102592023A

    专利类型发明专利

  • 公开/公告日2012-07-18

    原文格式PDF

  • 申请/专利号CN201210003913.X

  • 发明设计人 鲍东山;

    申请日2012-01-06

  • 分类号G06F17/50(20060101);

  • 代理机构

  • 代理人

  • 地址 100084 北京市海淀区中关村东路1号院清华科技园8号楼科技大厦A座16层

  • 入库时间 2023-12-18 06:12:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20120106

    专利权人的姓名或者名称、地址的变更

  • 2017-06-20

    授权

    授权

  • 2015-01-07

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20120106

    实质审查的生效

  • 2012-07-18

    公开

    公开

说明书

技术领域

本发明属于半导体技术领域,尤其涉及一种集成电路(IntegratedCircuit,IC)设计过程中的寄存器设计方法及装置。

背景技术

随着集成电路(IC)的快速发展,芯片规模越来越大,其寄存器(或称为系统寄存器)也不断增多,通常集成电路上寄存器的数目往往达到成百上千各,有的片上系统(System-On-a-Chip,SoC)甚至高达好几万个。

大量的寄存器设计很容易出现由于寄存器设计不正确而导致的芯片缺陷(bug)。据统计,高达40~50%的芯片缺陷(bug)是寄存器设计不正确导致的。所导致的缺陷主要包括:1)缺省值与文档规范不一致,2)读写权限不正确,3)地址分配错误,4)位宽与文档规范不一致,5)可配置的值配置错误等。

而且,寄存器的设计规范在设计过程中也是不断变化和修改的,甚至到IC验证过程中也仍然在不断地修改寄存器的设计信息。一旦在设计过程中增加或减少寄存器,或者修改寄存器字段的长度、位置、属性、初始值等设计信息,寄存器的文档、寄存器传输级(Register Transfer Level,RTL)设计和测试平台(testbench,TB)都需要进行相应的修改。而这些修改也很容易导致寄存器设计不正确,从而导致芯片缺陷。

可见现有技术中,如何保证寄存器设计与文档规范和后期验证的一致性,是一个亟待解决的问题,尤其是针对大量寄存器的设计,其具体设计和设计后期的验证维护都是十分困难和繁琐的,这种非常繁琐的维护工作,耗时长和出错率高,也导致芯片缺陷增加,设计成功率低。

发明内容

有鉴于此,本发明的一个目的是提供一种集成电路设计过程中的寄存器设计方法及装置,用于解决现有技术中存在的大量寄存器的设计维护困难繁琐,维护工作耗时长、出错率高,导致芯片缺陷增加、设计成功率低的问题。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

本发明实施例提供一种集成电路设计过程中的寄存器设计方法,包括:

通过可扩展标记语言XML编辑器生成包括寄存器配置信息的XML文件;

根据所述寄存器配置信息中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板;

根据获取的RTL模板和所述寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头;以及遍历所述XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息;

得到包括RTL文件头和RTL信息的RTL设计文件。

在一些可选的实施例中,所述寄存器配置信息包括下列信息之一或组合:寄存器名称、寄存器地址、缺省值、字段配置、访问权限和寄存器接口信息。

在一些可选的实施例中,所述寄存器接口类型包括下列类型中的至少一种:

先进外围总线APB、先进高性能总线AHB、串行外设接口SPI和内置集成电路I2C总线。

在一些可选的实施例中,所述方法还包括:

将所述XML文件转化为相应的RALF文件;

根据所述RALF文件和寄存器抽象层RAL库中存储RAL基类,生成RAL测试平台;

对生成的RAL测试平台和寄存器的RTL设计文件进行编译仿真,并将编译仿真后的寄存器的RTL设计文件与编译仿真后的RAL测试平台进行比较匹配;

根据匹配结果判断寄存器的RTL设计文件是否正确。

在一些可选的实施例中,所述根据匹配结果判断寄存器的RTL设计文件是否正确,具体包括:

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致,当一致时,确定寄存器的RTL是正确的;或

根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当功能覆盖率大于设定的覆盖率阈值时,确定寄存器的RTL设计文件是正确的;或

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致;以及根据编译仿真后的RAL测试平台和编译后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当均判断为是时,确定寄存器的RTL设计文件是正确的。

在一些可选的实施例中,所述XML文件中还包括功能文档类型信息;

所述方法还包括:

根据从所述XML文件中解析出的所述功能文档类型信息,获取文档模板库中的功能文档模板;

根据获取的功能文档模板,生成包括寄存器和寄存器地址映射关系的寄存器整体地址映射表;以及生成包括各寄存器功能信息的功能表;

得到包含所述整体地址映射表和功能表的功能文档。

在一些可选的实施例中,所述功能文档类型包括下列类型中的至少一种:

Word文档、HTML文档、Excel文档和TXT文档。

本发明实施例还提供一种集成电路设计过程中的寄存器设计装置,其特征在于,包括:

XML文件生成模块,用于通过可扩展标记语言XML编辑器生成包括寄存器配置信息的XML文件;

RTL模板调用模块,用于根据所述寄存器配置信息中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板;

设计生成模块,用于根据获取的RTL模板和所述寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头;以及遍历所述XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息;得到包括RTL文件头和RTL信息的RTL设计文件。

在一些可选的实施例中,所述装置还包括:

所述模型生成模块,用于将所述XML文件转化为相应的RALF文件;根据所述RALF文件和寄存器抽象层RAL库中存储RAL基类,生成RAL测试平台;

所述匹配验证模块,用于对生成的RAL测试平台和寄存器的RTL设计文件进行编译仿真,并将编译仿真后的寄存器的RTL设计文件与编译仿真后的RAL测试平台进行比较匹配;根据匹配结果判断寄存器的RTL设计文件是否正确。

在一些可选的实施例中,所述匹配验证模块,具体用于:

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致,当一致时确定寄存器的RTL是正确的;或

根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当功能覆盖率大于设定的覆盖率阈值时,确定寄存器的RTL设计文件是正确的;或

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致;以及根据编译仿真后的RAL测试平台和编译后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当均判断为是时,确定寄存器的RTL设计文件是正确的。

在一些可选的实施例中,所述装置还包括:文档模板调用模块和功能文档生成模块;

所述XML文件生成模块,还用于生成还包括功能文档类型信息的XML文件;

所述文档模板调用模块,用于根据从所述XML文件中解析出的所述功能文档类型信息,获取文档模板库中的功能文档模板;

所述功能文档生成模块,用于根据获取的功能文档模板,生成包括寄存器和寄存器地址映射关系的寄存器整体地址映射表;以及生成包括各寄存器功能信息的功能表;得到包含所述整体地址映射表和功能表的功能文档。

本发明实施例提供的集成电路设计过程中的寄存器设计方法及装置,通过XML编辑器生成包括寄存器配置信息的XML文件;根据寄存器配置信息中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板;根据获取的RTL模板和所述寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头;以及遍历XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息;得到包括RTL文件头和RTL信息的RTL设计文件。从而实现集成电路中大量寄存器的自动化设计,自动生成寄存器的RTL设计文档,避免了大量寄存器设计时存在的设计维护困难繁琐的问题,减少了维护耗时和出错率,减少了IC或芯片设计缺陷,提高了设计成功率;有利于设计的重用,从而有利于加速IC或芯片的集成。

为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。

说明书附图

图1是本发明实施例中寄存器设计方法的整体原理示意图;

图2是本发明实施例一中寄存器设计方法的流程图;

图3是本发明实施例二中寄存器设计方法的流程图;

图4是本发明实施例三中寄存器设计方法的流程图;

图5是本发明实施例中寄存器设计装置的结构示意图;

图6是本发明实施例中实现RAL验证的模块的具体结构示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。

本发明实施例提供一种集成电路设计过程中的寄存器设计方法,该方法的整体实现原理如图1所示,主要包括寄存器的RTL设计过程,该过程生成RTL设计文件;优选的,还包括寄存器抽象层(Register AbstractionLayer,RAL)测试平台的生成过程,用于对生成的RTL设计文件进行验证;优选的,还包括寄存器的功能文档的生成,便于查看和了解所设计的寄存器的各种配置信息。

如图1所示的,采用可扩展标记语言(Extensible Markup Language,XML)编辑器描述寄存器,并将对寄存器的描述保存为XML文件。

然后,调用XML2RTL工具,产生该XML文件所描述的RTL设计文件;以及调用XML2TB工具,产生该XML文件所描述的测试平台(testbench,TB),并通过产生的测试平台对RTL设计文件进行验证。例如:该测试平台可以基于VMM-RAL(Verification Methodology Manual,VMM)实现,再通过仿真工具(如VCS)进行编译仿真。

此外,还可以调用XML2SPEC工具,产生该XML文件所描述的寄存器的功能文档。

下面通过具体实施例详细说明上述各个过程的实现流程。

实施例一

本发明实施例一提供的集成电路设计过程中的寄存器设计方法,实现各寄存器的RTL设计文件生成,以便实现寄存器的设计,该方法流程如图2所示,包括如下步骤:

S11:通过XML编辑器生成XML文件。

具体是通过可扩展标记语言XML编辑器生成包括寄存器配置信息的XML文件。

采用XML编辑器描述寄存器,并生成相应的XML文件,生成的XML文件中包括的寄存器配置信息可以包括寄存器接口类型等寄存器接口信息等,XML文件中包括的寄存器配置信息还包括下列信息之一或组合:寄存器名称、寄存器地址、缺省值、字段配置和访问权限。

寄存器接口类型包括下列类型中的至少一种:先进外围总线(Advanced Peripheral Bus,APB)、先进高性能总线(AdvancedHigh-performance Bus,AHB)、串行外设接口(Serial Peripheral Interface,SPI)和内置集成电路(Inter-Integrated Circuit,I2C)总线。

生成的XML文件中还可以包括功能文档类型信息等。

S12:根据XML文件中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板。具体是根据XML文件中的寄存器配置信息中包括的寄存器接口类型获取。

RTL模板库中预先配置并存储了针对各接口类型的RTL模板,当获取到寄存器配置信息中包括的接口类型时,可以根据不同的接口类型获取不同的RTL模板。

S13:根据获取的RTL模板和寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头。

RTL文件一般包括一个RTL文件头部分,在该部分声明所设计的寄存器的接口信息和配置的参数。例如可以通过XML2RTL工具实现,当然也可以通过其他类似的工具实现。

S14:遍历XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息。

例如可以通过XML2RTL工具遍历XML文件中的寄存器配置信息数组,获取各寄存器的配置信息,生成RTL设计文件中的各寄存器的RTL信息,该部分信息构成RTL设计文件的主体部分,当然也可以通过其他类似的工具实现该过程。

在完成各寄存器的RTL信息的生成之后,还可以生成一个RTL文件尾,来标记寄存器的RTL信息结束。

S15:得到包含RTL文件头和RTL信息的RTL设计文件。

由步骤S13中生成的RTL文件头和步骤S14中生成的构成RTK主体部分的各寄存器的RTL信息共同构成RTL设计文件。

当生成文件尾时,相应的,得到的RTL设计文件包括RTL文件头、RTL信息和RTL文件尾。

下面为步骤S11中涉及到的XML文件的一个示例,具体可以包括如下内容:

上述XML文档中,指明了寄存器的名称为“SYS_MODE_REG”,寄存器地址为“0x7c”,访问权限为“RW”等。

下面为步骤S15中涉及到的RTL设计文件的一个示例,具体可以包括如下内容:

上述RTL设计文件中,从文件开头至“logic start”处为RTL文件头,例如:APB Interface部分即为寄存器接口信息;RTL文件头后边至“end”处为包括各寄存器的RTL信息的文件主体部分;“endmodule”为RTL文件尾,标记该RTL文件结束。

实施例二

本发明实施例二提供的集成电路设计过程中的寄存器设计方法,在实施例一的方法的基础上实现RAL测试平台的生成,以便对各寄存器的RTL设计文件进行验证,验证RTL设计文件的准确性,RAL测试平台生成以及RTL设计文件的验证过程如图3所示,包括如下步骤:

S21:将XML文件转化为相应的RALF文件。

步骤S11中生成的XML文件转换为RALF文件,转化得到的RALF文件中包括寄存器配置信息等,在生成RAL测试平台时,从RALF文件中将需要的信息解析出来。

RALF是一种寄存器描述格式,不同的RALF对应着不同的RALF文件,可以按照寄存器设计规范编写RALF文件,因此,RALF文件中包括寄存器的设计规范,根据这些设计规范可以生成用于对设计的寄存器进行验证的RAL测试平台。

S22:根据RALF文件和RAL库中存储的RAL基类,生成RAL测试平台。

虽然RAL库提供了封装寄存器描述信息的一系列的基类(Class),但和特定的待测IC或芯片相关的寄存器的设计规范,必须由用户添加在各个RAL基类扩展得到的子类中。用户必须对待测IC或芯片中的每个寄存器字段、每个寄存器,以及由寄存器构成的集合,通过扩展相应的基类来定义新的类,从而封装它们的设计规范信息,这个过程是比较繁琐和耗时的。

为了最大限度节省工程师的工作量,在本申请的验证解决方案中,RAL测试平台(RAL Model)不需要由用户来实现,而是由用RAL模型生成器(简称ralgen)工具生成RAL Model。

由ralgen工具根据生成的RALF文件(采用.ralf为后缀名,故称RALF文件)自动生成的。用户只需要按照简明的RAL格式编写寄存器设计规范文件,再交给ralgen工具,就可自动生成RAL Model所需的所有的扩展类。

当然,上述过程也可以扩展到存储器的设计和验证过程中。

S23:对生成的RAL测试平台和寄存器的RTL设计文件进行编译仿真。

RAL设计文件和RAL测试平台都是一些源代码文件,因此需要对其进行编译仿真,以便能够使用RAL测试平台对生成的RAL设计文件进行验证,从而实现验证所设计的寄存器的准确性和可靠性。

S24:将编译仿真后的寄存器的RTL设计文件与编译仿真后的RAL测试平台进行比较匹配。

在进行匹配时,可以根据需要设置不同的匹配规则,例如,可以采用下列匹配规则之一:

(a1)比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致。

(a2)根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值。

(a3)比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致;同时,根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值。

当然,上述仅仅列举了两种匹配方式及其组合,在实际应用中,根据RAL设计文件的验证需求,还可以设置其他的匹配方式和匹配参数,此处不再一一列举。

S25:根据匹配结果判断寄存器的RTL设计文件是否正确。

针对步骤S25中采用的不同的匹配方法或方式,根据匹配结果判断寄存器的RTL设计文件是否正确的过程也是不同的,例如针对上述列举的三种方式,也可以根据匹配结果判断寄存器的RTL设计文件是否正确的过程分别对应以下三种方式:

(b1)针对比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致的方式,当一致时,确定寄存器的RTL设计文件是正确的,否则是不正确的。

(b2)针对根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值的情况,当功能覆盖率大于设定的覆盖率阈值时,确定寄存器的RTL设计文件是正确的,否则是不正确的。

(b3)针对比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致;同时根据编译仿真后的RAL测试平台和编译后的寄存器的RTL设计文件,判断所述寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值的情况,当均判断为是时,确定寄存器的RTL设计文件是正确的,只要有一项判断不为是时,则认为是不正确的。

上述验证过程是基于面向对象编程方法开发的,通过RAL库提供的一系列的类,最大限度地封装寄存器相关的通用的数据结构和方法,由此节省用户开发寄存器/存储器验证环境的工作量,而用户只需要通过扩展RAL库中的基类来定义自己所需的类,添加待测IC或芯片中的寄存器的特定信息即可。

实施例三

本发明实施例三提供的集成电路设计过程中的寄存器设计方法,在实施例一或实施例二的方法的基础上,进一步实现所设计的寄存器的功能文件的生成,以便技术人员能够方便的获知所设计的寄存器的配置信息,功能文档的生成过程如图3所示,包括如下步骤:

S31:解析出XML文件中的功能文档类型信息。

XML文件中还包括功能文档类型信息,调用XML2SPEC工具解析出该信息。

S32:根据解析出的功能文档类型信息,获取文档模板库中的功能文档模板。

文档模板库中预先配置并存储了针对各功能文档类型的功能文档模板,可以通过XML2SPEC工具根据解析出的功能文档类型信息调用相应的功能文档模板。

S33:根据获取的功能文档模板,生成寄存器整体地址映射表。

从XML文件中获取各寄存器的地址信息,生成包括寄存器和寄存器地址映射关系的寄存器整体地址映射表,该映射表将寄存器的名称等标识信息与寄存器的物理地址关联起来,建立对应关系,便于查看各个寄存器的物理地址。

S34:生成包括各寄存器功能信息的功能表。

从XML文件中获取各寄存器的地址信息,生成包括各寄存器的功能信息的功能表,该功能表将寄存器的名称等标识信息、以及寄存器的配置信息、功能参数等记录下来,便于查看各个寄存器的功能信息。

S35:得到包括整体地址映射表和功能表的功能文档。生成的寄存器功能文档的一个示例可以如下表1所示:

表1

上述表1中,“SYS_MODE_REG”为寄存器的名称,“Address Offset”为寄存器的地址,比如地址是0x007c。其余的都属于寄存器的功能信息,例如包括:缺省值(Default Value)、描述信息(Description)等配置信息,以及各字段及其对应的访问权限等功能参数。

基于同一发明构思,本发明实施例还提供一种集成电路设计过程中的寄存器设计装置,该装置的结构如图5所示,包括:XML文件生成模块10、RTL模板调用模块20和设计生成模块30。

XML文件生成模块10,用于通过可扩展标记语言XML编辑器生成包括寄存器配置信息的XML文件。

RTL模板调用模块20,用于根据XML文件中包含的寄存器配置信息中包括的寄存器接口类型,获取寄存器传输级设计RTL模板库中的RTL模板。

设计生成模块30,用于根据获取的RTL模板和XML文件中包含的寄存器配置信息,生成包括寄存器接口信息和参数声明的RTL文件头;以及遍历XML文件中包括的各寄存器配置信息生成各寄存器的RTL信息;得到包括RTL文件头和RTL信息的RTL设计文件。

优选的,上述寄存器设计装置,还包括:模型生成模块40和匹配验证模块50。

模型生成模块40,用于将所述XML文件转化为相应的RALF文件;根据RALF文件和RAL库中存储RAL基类,生成RAL测试平台。

匹配验证模块50,用于对生成的RAL测试平台和寄存器的RTL设计文件进行编译仿真,并将编译仿真后的寄存器的RTL设计文件与编译仿真后的RAL测试平台进行比较匹配;根据匹配结果判断寄存器的RTL设计文件是否正确。

优选的,上述匹配验证模块50,具体用于:

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致,当一致时确定寄存器的RTL是正确的;或

根据编译仿真后的RAL测试平台和编译仿真后的寄存器的RTL设计文件,判断寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当功能覆盖率大于设定的覆盖率阈值时,确定寄存器的RTL设计文件是正确的;或

比较编译仿真后的RAL测试平台中测试用例的仿真结果和寄存器的RTL设计文件中测试用例的仿真结果是否一致;以及根据编译仿真后的RAL测试平台和编译后的寄存器的RTL设计文件,判断寄存器的RTL设计文件所设计的寄存器的功能覆盖率是否大于设定的覆盖率阈值,当均判断为是时,确定寄存器的RTL设计文件是正确的。

优选的,上述寄存器设计装置,还包括:文档模板调用模块60和功能文档生成模块70。

上述XML文件生成模块10,还用于生成还包括功能文档类型信息的XML文件。

文档模板调用模块60,用于根据从XML文件中解析出的功能文档类型信息,获取文档模板库中的功能文档模板。

功能文档生成模块70,用于根据获取的功能文档模板,生成包括寄存器和寄存器地址映射关系的寄存器整体地址映射表;以及生成包括各寄存器功能信息的功能表;得到包含整体地址映射表和功能表的功能文档。

上述实施例中实现对设计的寄存器的RAL设计文件的验证过程,在实际应用中,以VMM验证环境为例,VMM验证环境是层次化的验证环境,分为指令层(Command Layer)、功能层(Functional Layer)、场景层(Scenario Layer)等,而RAL是隶属于Functional Layer的。

如图6所示,RAL的基本结构包含三个部分,分别是RAL模型(RALModel)、RAL处理器(RAL Transactor)以及RAL访问管理器(RALAccess)。Functional Layer的RAL功能模块通过RAI处理器实现与Command Layer的总线功能模型(Bus Function Model,BFM)的交互,并通过BFM与待验证的设计(Design Under Test,DUT)交互,BFM并不属于RAL的范畴,它是VMM测试环境中Command Layer的一个模块,负责将Command Layer传输的信息驱动为DUT接口上实际的高低电平逻辑信号。通过RAL模型(RAL Model)、RAL处理器(RAL Transactor)以及RAL访问管理器(RAL Access)实现上述模型生成模块40和匹配验证模块50的功能。

本发明实施例提供的上述集成电路IC设计过程中的寄存器设计方法,通过XML文件来描述寄存器的具体信息,再基于该XML文件,分别调用相关的工具来自动产生RTL设计文件,进而产生RTL测试平台,加速了集成电路或芯片的上市时间(Time to Market,TTM),实现集成电路中大量寄存器的自动化设计,自动生成寄存器的RTL设计文档,并自动对生成的RTL设计文档的正确性进行验证,避免了大量寄存器设计时存在的设计维护和后期验证困难繁琐的问题,减少了维护耗时和出错率,减少了IC或芯片设计缺陷,提高了设计成功率。通过生成的RTL测试平台可自动验证设计的正确性,非常便于维护。

在寄存器的设计发生变更和修改时,可以方便的自动适应修改RTL设计文件和RTL测试平台,避免了修改维护是存在的繁琐操作,极大地提高了设计和验证效率。上述方法尤其有利于设计的重用,从而有利于加速芯片的集成。

除非另外具体陈述,术语比如处理、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程。应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。

而且,本文所述的各个方面或特征可以作为使用标准的程序设计和/或工程技术的方法、装置或制品来实现。上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号