一种快速生成逻辑电路的方法技术

技术编号:2855395 阅读:309 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种快速生成逻辑电路的方法。该方法的过程包括:生成集成电路模块的描述文档,所述描述文档对集成电路模块中的每个信号用信息记录逐条定义;读取描述文档中的信息记录,根据每条记录内容生成该记录所对应信号的逻辑代码,从而生成集成电路模块的逻辑代码;对集成电路模块的逻辑代码进行仿真和综合,生成逻辑电路。本发明专利技术的这种方法能自动生成可综合的RTL代码,减小人工参与的劳动量,避免不必要的错误,且代码风格统一,从而加快了ASIC芯片的开发速度。

【技术实现步骤摘要】

本专利技术涉及专用集成电路设计,尤指。
技术介绍
随着专用集成电路(ASIC,Application Specific Integrated Circuit)的大规模应用,如何方便、快捷地进行ASIC设计成为技术人员感兴趣的问题。现有技术中,集成电路模块的设计包括以下步骤首先,编制文档来描述所要生成的集成电路模块的实现规格。所述文档称为宏结构规格(MAS,Macro Architecture Specification)文档。MAS文档中定义了所述集成电路模块的输入和输出信号,以及该模块中设置的内部寄存器。MAS文档具有固定格式,每条信息记录用于描述集成电路模块中的一个输入/输出信号或内部寄存器。然后,技术人员根据MAS文档描述的输入/输出信号以及内部寄存器规格,手工输入寄存器转换层(RTL,Register Transfer Level)代码。所述RTL代码用VHDL或Verilog等硬件编程语言进行编写。最后,通过硬件编译环境对逻辑代码进行仿真和综合生成逻辑电路,并按照所生成的逻辑电路制出ASIC芯片。从上述过程看出,现有方法设计逻辑电路时,由MAS文档到逻辑代码的转化由技术人员完成,效率低且容易出错。而且,不同技术人员的代码风格不统一,不利于逻辑代码的阅读和使用。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,自动将MAS文档转化为逻辑代码,减少人工参与的劳动量,避免不必要的错误,加快ASIC的开发速度。为达到上述目的,本专利技术的技术方案具体是这样实现的,包括以下步骤a、生成集成电路模块的描述文档,所述描述文档对集成电路模块中的每个信号用信息记录逐条定义;b、读取描述文档中的信息记录,根据每条记录内容生成该记录所对应信号的逻辑代码,从而生成集成电路模块的逻辑代码;c、对集成电路模块的逻辑代码进行仿真和综合,生成逻辑电路。步骤a所述的方法具体为a1、设置描述文档的表头行,用于标识每条信息记录所定义信号的特征参数;a2、按照表头行定义的格式,在每个信息行中定义对应信号的特征参数。所述特征参数包括管脚名称、信号类型、信号宽度、信号初始值和信号功能。步骤b所述的方法具体为b1、按先后顺序将描述文档中的每条信息记录通过字符匹配方法保存为数组的每一个成员项;b2、按先后顺序从数组中取出每个数组成员项,转换为对应信号的逻辑代码,最终生成所述的整个集成电路模块的逻辑代码。所述描述文档采用文本文件定义,且每条信息记录之间通过换行符分隔;则步骤b1所述的方法具体为从描述文档的起始位置开始按先后顺序对文本文件进行解析,并在检测到每条信息记录之间的换行符后,对解析出的该条信息记录内容进行判断,如果内容为空则不保存;否则删除该条信息记录内容的换行符,并将其余内容保存为数组的一个成员项。所述集成电路模块中的信号包括系统信号和系统信号之外的其它信号;则步骤b2所述生成集成电路模块的逻辑代码的方法具体为b21、根据管脚名称查找出数组中用于记录系统信号的成员项,并根据对应的成员项内容生成系统信号的逻辑代码;b22、根据数组中的先后顺序逐项读取系统信号之外的其它信号的数组成员项,并根据信号类型调用预先定义的基本函数,将对应信号的特征参数传递给所调用的基本函数,逐个生成该信号的逻辑代码。步骤b21之前该方法进一步包括c1、判断是否接收到外部输入的文件头信息,如果是则根据外部输入生成集成电路模块的逻辑代码文件的文件头,否则根据默认设置生成该文件头;c2、判断是否接收到外部输入的系统信号信息,如果是则根据外部的输入信息生成所述系统信号的逻辑代码然后执行步骤b22,否则执行步骤b21。所述系统信号包括时钟信号和/或复位信号。所述系统信号之外的其它信号包括至少以下一种信号输入信号、输出信号、双向信号、寄存器信号和连线信号,所述基本函数包括信号定义函数、信号赋值函数、寄存器定义赋值函数和连线定义函数,则步骤b22所述生成系统信号之外的其它信号逻辑代码的方法具体为d1、从读取的数组成员项中获取信号类型并判断,如果是输入信号则执行步骤d2;如果是输出信号则执行步骤d3;如果是双向信号则执行步骤d4;如果是寄存器信号则执行步骤d5;如果是连线信号则执行步骤d6;d2、调用信号定义函数,并将输入信号的管脚名称、信号类型和信号宽度传递给所调用的信号定义函数,生成所述输入信号的逻辑代码,流程结束;d3、调用信号定义函数,将输出信号的管脚名称、信号类型和信号宽度传递给信号定义函数;调用寄存器定义赋值函数,并将输出信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,最终生成所述输出信号的逻辑代码,流程结束;d4、调用信号定义函数,并将双向信号的管脚名称、信号类型和信号宽度传递给信号定义函数; 调用寄存器定义赋值函数分别定义双向信号的数据寄存器和输出允许寄存器,并将双向信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数;调用信号赋值函数,并将双向信号的信号初始值传递给信号赋值函数,最终生成所述双向信号的逻辑代码,流程结束;d5、调用寄存器定义赋值函数,并将寄存器信号的管脚名称、信号类型、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,生成所述寄存器信号的逻辑代码,流程结束;d6、调用连线定义函数,并将连线信号的管脚名称和信号宽度传递给连线定义函数,生成所述连线信号的逻辑代码,流程结束。所述特征参数还包括功能描述,则生成系统信号之外的其它信号逻辑代码的方法进一步包括为所述逻辑代码生成包含功能描述的注释代码。由上述技术方案可见,本专利技术的这种快速生成逻辑电路的方法,通过程序自动读取MAS文档中的信息记录,并按照每条信息记录对应的信号类型,对该条记录对应的信号进行定义和赋值,从而获得整个MAS文档的逻辑代码,再对所获得的逻辑代码进行仿真和综合,生成设计所需的逻辑电路。该方法能自动生成可综合的RTL代码,减小人工参与的劳动量,避免不必要的错误,且代码风格统一,从而加快了ASIC芯片的开发速度。附图说明图1为本专利技术一个较佳实施例中快速生成逻辑电路的流程图。具体实施例方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术进一步详细说明。图1显示的是本专利技术一个较佳实施例中快速生成逻辑电路的流程,具体包括以下步骤 步骤101、根据集成电路模块的设计需求,编制与需求吻合的MAS文档。由于MAS文档由技术人员制定,故可以采用任意一种方便技术人员阅读的文本方式来编制。实际应用中,MAS丈档可采用word表格来实现,MAS文档中的每条信息记录用word表格中的单位行来描述。在word表格中,可以逐行对集成电路模块的每个输入/输出信号和内部寄存器进行定义。word表格的格式相对固定,包括以下几种行类型1)表头行,用于标识表格中信息行的每个列元素记录的内容;2)信息行,用于记录集成电路模块的每个输入/输出信号和内部寄存器的特征参数;3)注释行,用于注释该注释行之下的信息行的内容。其中,注释行在word表格中并非必不可少的,可以根据需要设置或省略。表一所示的是用word表格描述的集成电路模块的一个具体实例。 表一其中,第一行为表头行,该行共有六个列元素,分别是管脚名称(PinName本文档来自技高网...

【技术保护点】
一种快速生成逻辑电路的方法,其特征在于,该方法包括以下步骤:a、生成集成电路模块的描述文档,所述描述文档对集成电路模块中的每个信号用信息记录逐条定义;b、读取描述文档中的信息记录,根据每条记录内容生成该记录所对应信号的逻辑代 码,从而生成集成电路模块的逻辑代码;c、对集成电路模块的逻辑代码进行仿真和综合,生成逻辑电路。

【技术特征摘要】
1.一种快速生成逻辑电路的方法,其特征在于,该方法包括以下步骤a、生成集成电路模块的描述文档,所述描述文档对集成电路模块中的每个信号用信息记录逐条定义;b、读取描述文档中的信息记录,根据每条记录内容生成该记录所对应信号的逻辑代码,从而生成集成电路模块的逻辑代码;c、对集成电路模块的逻辑代码进行仿真和综合,生成逻辑电路。2.根据权利要求1所述的方法,其特征在于,步骤a所述的方法具体为a1、设置描述文档的表头行,用于标识每条信息记录所定义信号的特征参数;a2、按照表头行定义的格式,在每个信息行中定义对应信号的特征参数。3.根据权利要求2所述的方法,其特征在于,所述特征参数包括管脚名称、信号类型、信号宽度、信号初始值和信号功能。4.根据权利要求3所述的方法,其特征在于,步骤b所述的方法具体为b1、按先后顺序将描述文档中的每条信息记录通过字符匹配方法保存为数组的每一个成员项;b2、按先后顺序从数组中取出每个数组成员项,转换为对应信号的逻辑代码,最终生成所述的整个集成电路模块的逻辑代码。5.根据权利要求4所述的方法,其特征在于,所述描述文档采用文本文件定义,且每条信息记录之间通过换行符分隔;则步骤b1所述的方法具体为从描述文档的起始位置开始按先后顺序对文本文件进行解析,并在检测到每条信息记录之间的换行符后,对解析出的该条信息记录内容进行判断,如果内容为空则不保存;否则删除该条信息记录内容的换行符,并将其余内容保存为数组的一个成员项。6.根据权利要求4所述的方法,其特征在于,所述集成电路模块中的信号包括系统信号和系统信号之外的其它信号;则步骤b2所述生成集成电路模块的逻辑代码的方法具体为b21、根据管脚名称查找出数组中用于记录系统信号的成员项,并根据对应的成员项内容生成系统信号的逻辑代码;b22、根据数组中的先后顺序逐项读取系统信号之外的其它信号的数组成员项,并根据信号类型调用预先定义的基本函数,将对应信号的特征参数传递给所调用的基本函数,逐个生成该信号的逻辑代码。7.根据权利要求6所述的方法,其特征在于,步骤b21之前该方法进一步包括c1、判断是否接收到外部输入的文件头信息,如果是则根据外部输入生成集成电路模块的逻辑代码文件的文件头,否则根...

【专利技术属性】
技术研发人员:霍晓方
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1