CN1741026A - 一种快速生成逻辑电路的方法 - Google Patents
一种快速生成逻辑电路的方法 Download PDFInfo
- Publication number
- CN1741026A CN1741026A CN 200510103217 CN200510103217A CN1741026A CN 1741026 A CN1741026 A CN 1741026A CN 200510103217 CN200510103217 CN 200510103217 CN 200510103217 A CN200510103217 A CN 200510103217A CN 1741026 A CN1741026 A CN 1741026A
- Authority
- CN
- China
- Prior art keywords
- signal
- function
- register
- logical code
- item
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000011664 signaling Effects 0.000 claims description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 62
- 238000006243 chemical reaction Methods 0.000 description 3
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种快速生成逻辑电路的方法。该方法的过程包括:生成集成电路模块的描述文档,所述描述文档对集成电路模块中的每个信号用信息记录逐条定义;读取描述文档中的信息记录,根据每条记录内容生成该记录所对应信号的逻辑代码,从而生成集成电路模块的逻辑代码;对集成电路模块的逻辑代码进行仿真和综合,生成逻辑电路。本发明的这种方法能自动生成可综合的RTL代码,减小人工参与的劳动量,避免不必要的错误,且代码风格统一,从而加快了ASIC芯片的开发速度。
Description
技术领域
本发明涉及专用集成电路设计,尤指一种快速生成逻辑电路的方法。
背景技术
随着专用集成电路(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表格描述的集成电路模块的一个具体实例。
Pin Name | I/O | Width | Description | Default Value | Function |
Interface with SYS | |||||
aes_clk | I | 1 | aes core clock | ||
aes_rst | I | 1 | aes core reset | ||
Interface with BIU | |||||
aes_reg_hwrite | I | 1 | aes core register writesignal.active high.Iflow,means read | ||
aes_reg_hwdata | I | 8 | aes core register writedata | ||
aes_reg_haddr | I | 8 | aes core register addressbus | ||
aes_hrdata | O | 8 | aes core register readdata | 8’h00 | |
Interface with MP3 in buffer | |||||
aes_busy | O | 1 | aes busy signal | 1-b0 | |
aes_wr | I | 1 | aes input buffer writeenable | ||
aes_wr_data | I | 8 | aes input buffer writedata | ||
aes_wr_addr | reg | 4 | aes input buffer writeaddr | 4’h0 | |
Interface with MP3 output buffer | |||||
mp3dec_en | I | 1 | mp3 decoder enable,active high | ||
DecReady | I | 1 | mp3 decoder data ready | ||
DecData | O | 8 | aes core to MP3 decoderdata | 8’h00 |
Pin Name | I/O | Width | Description | Default Value | Function |
DecStrb | O | 1 | aes core to MP3 decoderdata valid | 1’b0 | |
Interface with WaveEngine | |||||
we_stream_hif | I | 1 | write enable form hostinterface | ||
we_data_stream hif | I | 8 | write data form hostinterface | ||
we_stream | O | 1 | write enable to waveengine | 1’b0 | we_stream=we_stream_hif_dl; |
we_data_stream | O | 32 | write data to wave engine | 32’h0 | If(we_stream_hif_dl&&we_data_sel==2’b00)we_data_stream={we_data3,we_data2,we_datal,we_data0}; |
Internal signals | |||||
work_mode | reg | 2 | aes core work mode2’b00:aes core bypassmode2’b01:reserved2’b10:aes core decryptECB mode2’b11:aes core decryptCBC mode | 1’b10 | If(aes_reg_hwrite &&aes_reg_haddr==0)Work_mode=aes_reg_hwdata[1:0]; |
we_stream_hifdl | reg | 1 | Delay 1 cycle ofwe_stream_hif | 1’b0 | we_stream_hif_dl=we_stream_hif; |
we_data_sel | reg | 2 | Byte select signal ofwe_data | 2’b00 | If(we_stream_hif)We_data_sel=we_data_sel+2’b01; |
we_data0 | reg | 8 | Bit[7:0] ofwe_data_stream | 8’h00 | If(we_stream_hif &&we_data_sel==2’b00)we_data0=we_stream; |
we_data1 | reg | 8 | Bit[15:8] ofwe_data_stream | 8’h00 | If(we_stream_hif &&we_data_sel==2’b01)we_datal=we_stream; |
we_data2 | reg | 8 | Bit[23:16] ofwe_data_stream | 8’h00 | If(we_stream_hif &&we_data_sel==2’b10)we_data2=we_stream; |
we_data3 | reg | 8 | Bit[31:24] ofwe_data_stream | 8’h00 | If(we_stream_hif &&we_data_sel==2’b11)we_data3=we_stream; |
表一
其中,第一行为表头行,该行共有六个列元素,分别是管脚名称(PinName)、信号类型(I/O)、信号宽度(Width)、功能描述(Description)、信号初始值(Default Value)和信号功能(Function),用于标识信息行中相应列元素所记录的特征参数。
注释行只有一个列元素,用于对该注释行之下的信息行的内容做简要说明,该行在最终的逻辑代码中以注释的形式出现。word表格中可以根据需要设置注释行,比如第二行就是注释行,用于对管脚名称为aes_clk的信息行和管脚名称为aes_rst的信息行进行注释,表明这两个信息行是系统接口(Interface with SYS)。
信息行的列元素设置与表头行的列元素一致,比如:第六行信号的列元素中,管脚名称为aes_reg_hwrite,信号类型为输入信号(I),信号宽度为1,功能描述为aes核心寄存器写信号,高电平有效,低电平时为读(aes coreregister write signal,active high.If low,means read)。
当某个信息行的功能描述或信号功能的内容较多时,该信息行之下还存在信息注释行。比如,表一的末行就是信息注释行,该行的前五个列元素都为空,第六个列元素为“we_data3=we_stream;”。
实际应用中,第五个列元素仅在信号类型为输出信号或寄存器信号时有效。对于其它信号类型,第五个列元素为空元素。
步骤102、将MAS文档中的内容通过字符匹配方法保存为数组。该步骤中,MAS文档中的每条信息记录被保存为数组的一个成员项。
当MAS文档以word文档描述时,word文档中的每一行被保存为数组的一个成员项。由于单位行中可能进一步包括多个列元素,列元素之间用制表符(Tab)隔开,所以数组的某些成员项中也相应地包括多个列元素。
该步骤可以采用Perl处理程序执行,具体过程如下:
1)由于Perl处理程序无法识别word文档中的某些格式标识,故需要将word文档转换为文本文件,该操作采用现有技术的方法很容易就能实现。完成上述转换后,word文档中的内容在文本文件中仍然按行保存,每行的行尾记录有换行符。
2)Perl处理程序从起始位置开始按照先后顺序对文本文件逐行进行解析,其中程序根据行尾的换行符区分不同行内容。如果某行是空行,则忽略该行;否则删除该行行尾的换行符,并将该行中的所有列元素保存成数组中的一个成员项。
在将单位行保存为数组的一个成员项时,如果某行的首个列元素是“PinName”且第二个列元素是“IO”或“I/O”,则判定该行是表头行,Perl处理程序不保存该行内容。
如果某行只有一个列元素,则判定该行是一个注释行,Perl处理程序将其保存成数组成员项。
如果某行的前三个列元素都为空,则判定该行是信息注释行,Perl处理程序将该行内容保存,并会在后续操作中作为注释加入到逻辑代码中。
对于其它情况,Perl处理程序判定出该行为信息行,定义的是输入/输出信号或内部寄存器,则按照文本文件的格式进行保存。其中,功能描述会在后续操作中,作为注释加入到为对应信息行生成的逻辑代码中。
步骤103、从数组中逐项取出数组成员项,转换为输入/输出信号或内部寄存器的逻辑代码,最终生成MAS文档所描述集成电路模块的逻辑代码。
该步骤中,在生成逻辑代码之前,用户可以通过命令行输入文件头和时钟/复位信号信息等内容,处理用户输入以及生成逻辑代码的过程采用Perl处理程序顺序执行如下:
1)Perl处理程序输出逻辑代码文件头,该文件头包含模块名、版本信息、作者和日期等内容。在输出文件头时,可以使用预先设置的默认文件头,也可以通过命令行参数输入用户定制的文件头模板。
2)Perl处理程序设置系统信号的名称、有效状态和模式。其中,系统信号包括时钟信号和/或复位信号。
所述时钟信号的有效状态指的是上升沿有效或下降沿有效;所述复位信号的有效状态指的是高电平有效或低电平有效;所述复位模式指的是同步复位或异步复位。
在设置时钟和复位信号名称时,Perl处理程序会判断用户是否通过命令行参数输入所述时钟和复位信号名称,如果是则采用用户指定的时钟和复位信号名称,否则Perl处理程序从数组中提取时钟和复位信号名称。
Perl处理程序提取时钟信号名称的方法如下:在数组中查找首个列元素包含“clk”或“clock”字符串且第二个列元素为“I”的数组成员项,并在逻辑代码中将查找到的信号设置为默认的时钟信号。
同样地,Perl处理程序在数组中查找首个列元素包含“rst”或“reset”字符串且第二个列元素为“I”的数组成员项,并将查找到的信号设置为默认的复位信号。
在设置时钟和复位信号有效状态时,Perl处理程序会判断用户是否通过命令行参数进行设置,如果是则根据用户的设置确定上述两种信号的相应参数,否则在逻辑代码中将时钟信号设置为上升沿有效,复位信号设置为高电平有效,复位模式设置为同步复位。
3)Perl处理程序根据数组中的数据存储顺序逐条读取系统信号之外的其它信号的数组成员项,并根据信号类型生成该成员项的逻辑代码,具体实现如下:
a、预先定义集成电路模块的基本函数,所述基本函数包括信号定义函数、信号赋值函数、寄存器定义赋值函数和连线定义函数。
由于上述基本函数需要完成的操作都是现有技术已经固定的,故能够编制出可调用的通用函数。比如寄存器赋值的操作执行如下:根据复位信号和该寄存器的信号初始值定义寄存器复位后的缺省值,并根据信号功能定义寄存器的正常功能。如果事先没有定义信号初始值或信号功能,则默认设置为0。
b、Perl处理程序在读取数组中的某个成员项后,首先判断该成员项对应的行类型,对于成员项是注释行或信息注释行的情况,则将该成员项的内容生成注释代码。所述注释代码指的是逻辑代码中不能用于执行的代码。
对于成员项是信息行的情况,则进一步判断该成员项的信号类型,如果是输入信号,则调用信号定义函数,并将输入信号的管脚名称、信号类型和信号宽度传递给所调用的信号定义函数,生成所述输入信号的逻辑代码。
如果是输出信号,则调用信号定义函数,将输出信号的管脚名称、信号类型和信号宽度传递给信号定义函数;然后,调用寄存器定义赋值函数,并将输出信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,最终生成所述输出信号的逻辑代码。在Verilog语言中,所述内部寄存器的赋值操作可以用always语句来实现。
如果是双向信号,则调用信号定义函数,并将双向信号的管脚名称、信号类型和信号宽度传递给信号定义函数;然后,调用寄存器定义赋值函数分别定义双向信号的数据寄存器和输出允许寄存器,并将双向信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数;最后,调用信号赋值函数,并将双向信号的信号初始值传递给信号赋值函数,最终生成所述双向信号的逻辑代码。
如果是寄存器信号,则调用寄存器定义赋值函数,并将寄存器信号的管脚名称、信号类型、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,生成所述寄存器信号的逻辑代码。
如果是连线信号,则调用连线定义函数,并将连线信号的管脚名称和信号宽度传递给连线定义函数,生成所述连线信号的逻辑代码。在Verilog语言中,设置连线信号的操作用assign语句来实现。
4)Perl处理程序将数组中每个成员项转换后的逻辑代码顺序排列,获得MAS文档所描述集成电路模块的逻辑代码。
步骤103所述的处理流程可以采用Perl语言来编程实现,也可采用其它计算机编程语言来实现。
步骤104、将步骤103生成的逻辑代码通过硬件编译环境进行仿真和综合,生成逻辑电路。
由上述的实施例可见,本发明的这种快速生成逻辑电路的方法,将人工编制的MAS文档通过程序自动转换为逻辑代码,从而使逻辑电路的设计更为快捷和高效,加快了ASIC芯片的开发速度。
Claims (10)
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、判断是否接收到外部输入的文件头信息,如果是则根据外部输入生成集成电路模块的逻辑代码文件的文件头,否则根据默认设置生成该文件头;
c2、判断是否接收到外部输入的系统信号信息,如果是则根据外部的输入信息生成所述系统信号的逻辑代码然后执行步骤b22,否则执行步骤b21。
8、根据权利要求7所述的方法,其特征在于,所述系统信号包括时钟信号和/或复位信号。
9、根据权利要求6所述的方法,其特征在于,所述系统信号之外的其它信号包括至少以下一种信号:输入信号、输出信号、双向信号、寄存器信号和连线信号,所述基本函数包括:信号定义函数、信号赋值函数、寄存器定义赋值函数和连线定义函数,则步骤b22所述生成系统信号之外的其它信号逻辑代码的方法具体为:
d1、从读取的数组成员项中获取信号类型并判断,如果是输入信号则执行步骤d2;如果是输出信号则执行步骤d3;如果是双向信号则执行步骤d4;如果是寄存器信号则执行步骤d5;如果是连线信号则执行步骤d6;
d2、调用信号定义函数,并将输入信号的管脚名称、信号类型和信号宽度传递给所调用的信号定义函数,生成所述输入信号的逻辑代码,流程结束;
d3、调用信号定义函数,将输出信号的管脚名称、信号类型和信号宽度传递给信号定义函数;
调用寄存器定义赋值函数,并将输出信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,最终生成所述输出信号的逻辑代码,流程结束;
d4、调用信号定义函数,并将双向信号的管脚名称、信号类型和信号宽度传递给信号定义函数;
调用寄存器定义赋值函数分别定义双向信号的数据寄存器和输出允许寄存器,并将双向信号的管脚名称、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数;
调用信号赋值函数,并将双向信号的信号初始值传递给信号赋值函数,最终生成所述双向信号的逻辑代码,流程结束;
d5、调用寄存器定义赋值函数,并将寄存器信号的管脚名称、信号类型、信号宽度、信号初始值和信号功能传递给寄存器定义赋值函数,生成所述寄存器信号的逻辑代码,流程结束;
d6、调用连线定义函数,并将连线信号的管脚名称和信号宽度传递给连线定义函数,生成所述连线信号的逻辑代码,流程结束。
10、根据权利要求9所述的方法,其特征在于,所述特征参数还包括:功能描述,则生成系统信号之外的其它信号逻辑代码的方法进一步包括:为所述逻辑代码生成包含功能描述的注释代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101032176A CN100373388C (zh) | 2005-09-16 | 2005-09-16 | 一种快速生成逻辑电路的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101032176A CN100373388C (zh) | 2005-09-16 | 2005-09-16 | 一种快速生成逻辑电路的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741026A true CN1741026A (zh) | 2006-03-01 |
CN100373388C CN100373388C (zh) | 2008-03-05 |
Family
ID=36093412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101032176A Expired - Fee Related CN100373388C (zh) | 2005-09-16 | 2005-09-16 | 一种快速生成逻辑电路的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100373388C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841950A (zh) * | 2011-06-21 | 2012-12-26 | 中兴通讯股份有限公司 | 一种逻辑存储单元自动验证的方法及装置 |
CN103294653A (zh) * | 2012-02-22 | 2013-09-11 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的系统和方法 |
CN104572100A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种asic芯片中功能代码的设计方法及装置 |
CN104950696A (zh) * | 2015-07-15 | 2015-09-30 | 上海核工程研究设计院 | 控制逻辑设计数据转换为控制逻辑仿真验证平台文件的系统及方法 |
CN105607897A (zh) * | 2015-09-30 | 2016-05-25 | 烽火通信科技股份有限公司 | 芯片寄存器代码自动生成方法及其系统 |
CN106484415A (zh) * | 2016-10-08 | 2017-03-08 | 武汉瑞纳捷电子技术有限公司 | 一种寄存器配置代码自动生成方法及装置 |
CN107436762A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土军悦科技有限公司 | 一种寄存器代码文件生成方法、装置和电子设备 |
CN108279889A (zh) * | 2016-12-30 | 2018-07-13 | 联芯科技有限公司 | 时钟树代码生成方法及装置 |
CN113392603A (zh) * | 2021-08-16 | 2021-09-14 | 北京芯愿景软件技术股份有限公司 | 门级电路的rtl代码生成方法、装置和电子设备 |
CN113552466A (zh) * | 2021-06-11 | 2021-10-26 | 西安电子科技大学 | 基于用户硬件资源分布的协同电路生成方法 |
CN114610370A (zh) * | 2021-12-10 | 2022-06-10 | 厦门码灵半导体技术有限公司 | 控制芯片管脚复用的方法、电子装置和计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE505783C3 (sv) * | 1995-10-03 | 1997-10-06 | Ericsson Telefon Ab L M | Foerfarande foer att tillverka en digital signalprocessor |
US5912819A (en) * | 1996-12-03 | 1999-06-15 | Motorola, Inc. | Method for designing an architectural system |
JPH1125136A (ja) * | 1997-07-01 | 1999-01-29 | Fujitsu Ltd | Hdl記述生成装置及び方法並びにhdl記述生成プログラムを記録した記録媒体 |
US6519754B1 (en) * | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US7000213B2 (en) * | 2001-01-26 | 2006-02-14 | Northwestern University | Method and apparatus for automatically generating hardware from algorithms described in MATLAB |
-
2005
- 2005-09-16 CN CNB2005101032176A patent/CN100373388C/zh not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841950B (zh) * | 2011-06-21 | 2017-11-03 | 中兴通讯股份有限公司 | 一种逻辑存储单元自动验证的方法及装置 |
CN102841950A (zh) * | 2011-06-21 | 2012-12-26 | 中兴通讯股份有限公司 | 一种逻辑存储单元自动验证的方法及装置 |
CN103294653A (zh) * | 2012-02-22 | 2013-09-11 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的系统和方法 |
CN103294653B (zh) * | 2012-02-22 | 2016-12-28 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的系统和方法 |
CN104572100A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种asic芯片中功能代码的设计方法及装置 |
CN104950696A (zh) * | 2015-07-15 | 2015-09-30 | 上海核工程研究设计院 | 控制逻辑设计数据转换为控制逻辑仿真验证平台文件的系统及方法 |
CN105607897B (zh) * | 2015-09-30 | 2019-01-04 | 烽火通信科技股份有限公司 | 芯片寄存器代码自动生成方法及其系统 |
CN105607897A (zh) * | 2015-09-30 | 2016-05-25 | 烽火通信科技股份有限公司 | 芯片寄存器代码自动生成方法及其系统 |
CN106484415A (zh) * | 2016-10-08 | 2017-03-08 | 武汉瑞纳捷电子技术有限公司 | 一种寄存器配置代码自动生成方法及装置 |
CN108279889A (zh) * | 2016-12-30 | 2018-07-13 | 联芯科技有限公司 | 时钟树代码生成方法及装置 |
CN107436762A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土军悦科技有限公司 | 一种寄存器代码文件生成方法、装置和电子设备 |
CN107436762B (zh) * | 2017-07-03 | 2021-02-23 | 北京东土军悦科技有限公司 | 一种寄存器代码文件生成方法、装置和电子设备 |
CN113552466A (zh) * | 2021-06-11 | 2021-10-26 | 西安电子科技大学 | 基于用户硬件资源分布的协同电路生成方法 |
CN113552466B (zh) * | 2021-06-11 | 2022-04-19 | 西安电子科技大学 | 基于用户硬件资源分布的协同电路生成方法 |
CN113392603A (zh) * | 2021-08-16 | 2021-09-14 | 北京芯愿景软件技术股份有限公司 | 门级电路的rtl代码生成方法、装置和电子设备 |
CN113392603B (zh) * | 2021-08-16 | 2022-02-18 | 北京芯愿景软件技术股份有限公司 | 门级电路的rtl代码生成方法、装置和电子设备 |
CN114610370A (zh) * | 2021-12-10 | 2022-06-10 | 厦门码灵半导体技术有限公司 | 控制芯片管脚复用的方法、电子装置和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100373388C (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1741026A (zh) | 一种快速生成逻辑电路的方法 | |
CN111984562B (zh) | 寄存器突发访问控制的方法、电子设备及存储介质 | |
CN101051332A (zh) | 一种soc芯片系统级验证系统及方法 | |
CN1191531C (zh) | 总线系统 | |
JP6109186B2 (ja) | 状態機械格子におけるカウンタ動作 | |
US20220083487A1 (en) | Custom compute cores in integrated circuit devices | |
CN1713164A (zh) | 可自主处理多事务传输要求的dma控制器及数据传输方法 | |
CN102609222B (zh) | 基于命令描述符的闪存控制方法 | |
CN1570856A (zh) | 用以防止微处理器管线中的停滞的装置及方法 | |
CN106294606B (zh) | 一种基于通用读写框架的cae文件转换方法及装置 | |
CN1790335A (zh) | Xml文件数据存取的方法 | |
US11360958B2 (en) | Techniques for indexing and querying a set of documents at a computing device | |
CN1924816A (zh) | 提高多核系统访问临界资源速度的方法和装置 | |
CN104021099B (zh) | 一种控制数据传输的方法及dma控制器 | |
CN1819554A (zh) | 数据处理系统及其数据接口连接方法 | |
US20160292229A1 (en) | Storage system and method of operating the same | |
CN1477532A (zh) | 控制芯片片内存储装置及其存储方法 | |
CN101042672A (zh) | 一种应用于数字信号处理器的高速仿真器及其操作方法 | |
CN116933697B (zh) | 一种将自然语言转换为硬件描述语言的方法及装置 | |
CN1760848A (zh) | 一种C*Core微处理器应用AMBA总线的设计方法 | |
US8706931B1 (en) | Tool selection and implementation of port adapters | |
CN105786527B (zh) | TigerSharc系列DSP启动管理芯片及方法 | |
CN100336370C (zh) | Sdh帧头检测及数据重排电路 | |
CN101056312A (zh) | 一种设备间通信的方法及系统 | |
CN1967515A (zh) | 主机访问接口及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080305 Termination date: 20120916 |