利用硬件描述语言编写的模块进行集成的方法及装置制造方法及图纸

技术编号:2821683 阅读:246 留言:0更新日期:2012-04-11 18:40
公开了一种利用硬件描述语言编写的模块进行集成的方法及装置,为了解决各个模块的端口定义结束以后,需要有专人将各个模块接口连接在一起,工作效率低的问题,本发明专利技术公开的方法包括:读入预定义描述模块的各端口之间连接关系的文本文件,并利用脚本将文本文件转换成描述各端口之间连接关系的数据结构;将描述各端口之间连接关系的数据结构转变为顶层模块连线,由于通过脚本将文本文件转换成描述各端口之间连接关系的数据结构,因此工作效率得到了提高。

【技术实现步骤摘要】

本专利技术属于数字信号处理系统领域,特别涉及一种利用硬件描述语言编写 的模块进行集成的方法及装置。
技术介绍
硬件描述语言以程序代码的形式来描述数字系统硬件结构,例如VerilogHDL和VHDL就是两种硬件描述语言,用于数字系统设计。Verilog HDL 描述的电路设计就是该电路的Verilog HDL模型,也称为模块。Verilog HDL 是一种结构描述的语言,描述元器件或较大部件互连的模块都可以用Verilog 语言来建立电路^^莫型。硬件描述语言在工业界大量采用。在芯片设计阶段,首先定义各个模块的 端口属性,以Verilog语言为例 module block(a, b, c, d);input a,input b,output c,output d,wire w ;assign c = a | b;assign d = a & b; Endmodule由例子可以看出,verilog结构位于在module和endmodule声明语句之间, 每个verilog程序包括端口信息,端口名称分别为a, b, c, d, a, b为输入,c, d为输出,a,b位宽为4, c,d位宽为全部,内部信号说明wire wire表示其 中的一才艮连线和功能定义,如assign c = a I b;assign d = a & b。当各个模块的端口定义结束以后,就需要人工将各个模块接口连接在一起 即以程序代码的形式将各个模块接口连接在一起,生成顶层模块连线,工作效 率低。目前业界还没有较好的解决方法。
技术实现思路
为了解决现有技术中,各个模块的端口定义结束以后,需要人工将各个模 块接口连接在一起,生成顶层模块连线,工作效率低的问题,本专利技术实施例提 供了 一种利用硬件描述语言编写的模块进行集成的方法包括读入预定义描述模块的各端口之间连接关系的文本文件,并利用脚本将文 本文件转换成描述各端口之间连接关系的数据结构;将描述各端口之间连接关系的数据结构转变为顶层模块连线。同时本专利技术实施例还提供利用硬件描述语言编写的模块进行集成的装置, 包括文本转换模块用于读入预定义描述模块的各端口之间连接关系的文本文 件,并利用脚本将文本文件转换成描述各端口之间连接关系的数据结构;结构转换模块用于将描述各端口之间连接关系的数据结构转变为顶层模 块连线。由上述本专利技术提供的具体实施方案可以看出,正是由于读入预定义描述模 块的各端口之间连接关系的文本文件,并利用脚本将文本文件转换成具有各端 口之间连接关系的数据结构;将具有各端口之间连接关系的数据结构转变为具 有具体工艺的电路布线结构,因此工作效率得到了提高。附图说明图1为本专利技术提供的第一实施例方法流程图;图2为本专利技术提供的第 一实施例模块之间的端口相互连接示意图; 图3为本专利技术提供的第二实施例装置结构图。具体实施方式本专利技术提供的第 一 实施例是一种利用硬件描述语言编写的模块进行集成 的方法,方法流程如图l所示,包括步骤101:利用脚本,为了表述方便以下简称port.tcl,分析顶层模块的子 模块的端口信息,即利用port.tcl依次遍历预先定义有用于各端口连接时使用的 端口信息的硬件描述语言verilog文件,提取所有端口名称,输入输出方向,位 宽信息,并生成一个包括上述3个信息的H悟结构,如线性表l,第一维为模块 名,第二维为端口序列号,内容为上述3个信息组成的端口信息列表,如 portlnfo列表M10、 portlnfo列表Mll、 portlnfo列表Mln-l、 portlnfo列表 M20、 portlnfo列表M21、 portlnfo列表M2n-l。<table>table see original document page 7</column></row><table>位宽表示位宽为32信息端口名Namel表示模块Ml端口l的端口名portInfo列表Mll方向input表示输入端口位宽表示位宽为4信息端口名Namen-l表示模块M1端口n-l的端口名portlnfo列表Mln-l其余portlnfo列表与Ml列的portlnfo列表类似,此处不再赘述。 步骤102:利用 一个事先定义好的文本格式的文件描述各个端口的连接关 系,为了表述方便以下简称wire.rc,并利用连接关系分析脚本,为了表述方便 以下简称wire.tcl读入wire.rc来获得描述各个端口的连接关系的数据结构。 文本才各式的文件wire.rc中可以定义如下几种端口连接关系i. 某个无需输入的端口定义如只出现在电源,地,或者某些模拟IP中 0-> Ml.unusedOii. 某个冗余的输出端口,无需任何连接关系 M2.u應edl -> 0iii. 模块M 1和模块M2的一组相同位宽的输入输出端口互连 Ml.NameO -> M2.NameO,表示M1模块的端口名为NameO的输出端口与M2才莫块的端口名为NameO的输入端口互连。iv. 模块M1—个输出端口与2个具有相同位宽的不同的模块M2、 M3的 输入端口互连Ml.NameO -> M2.NameOMl.NameO -> M3.Name0,表示M1模块的端口名为NameO的输出端口 与M2模块的端口名为NameO的输入端口,和M1模块的端口名为NameO的输出端口与M3模块的端口名为NameO的输入端口互连。v. 模块Ml的 一个端口的一部分信号输出到其他才莫块M2、 M3的输入端 Ml. NameO -> M2. NameOMl.NameO -> M3.NameO,表示M1才莫块的端口名为NameO的输 出端口的与M2模块的端口名为NameO的输入端口互连,Ml模块的端 口名为NameO的输出端口的与M3模块的端口名为NameO的输入端口互连。vi. 模块M2的一个输入端口与不同模块的输出端口互连。 Ml.NameO -> M2.NameO M3.NameO-> M2. NameO ,表示M1模块的端口名为 NameO的输出端口的与M2模块的端口名为NameO的输入端口的互 连,此时位宽相同都是8。 M3模块的端口名为NameO的输出端口的与M2 模块的端口名为NameO的输入端口的互连。以上只是示例性说明,只是说明通过文本格式的文件wire.rc中定义的几种 端口连接关系,本领域技术人员可以通过实际情况具体的定义各个端口的连接 关系。下面以3个模块之间的端口相互连接为例进行说明。如图2所示,其中模 块M1的输出端口 NameO与模块M2的输入端口 NameO互连,模块M1的输出端口 Namel的一部分与模块M2的输入端口Namel的一部分互连,模 块M2的输入端口 Namel的另 一部分与模块M3的输出端口 NameO互连, 模块M3的输入端口 Namel与模块M1的输出端口 Namel的另 一部分互连。事先定义好的文本格式的文件wire.rc描述各个端口的连接关系如下所示Ml.NameO -> M2.Name0,表示其中模块M1的输出端口NameO与模块 M2的输入端口NameO互连。Ml.Namel 本文档来自技高网...

【技术保护点】
一种利用硬件描述语言编写的模块进行集成的方法,其特征在于,包括: 读入预定义描述模块的各端口之间连接关系的文本文件,并利用脚本将文本文件转换成描述各端口之间连接关系的数据结构; 将描述各端口之间连接关系的数据结构转变为顶层模块连线。

【技术特征摘要】

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

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

1