CN1430265A - 设计系统大规模集成电路的方法 - Google Patents
设计系统大规模集成电路的方法 Download PDFInfo
- Publication number
- CN1430265A CN1430265A CN02158389A CN02158389A CN1430265A CN 1430265 A CN1430265 A CN 1430265A CN 02158389 A CN02158389 A CN 02158389A CN 02158389 A CN02158389 A CN 02158389A CN 1430265 A CN1430265 A CN 1430265A
- Authority
- CN
- China
- Prior art keywords
- instruction processor
- processor
- elementary
- bus
- dedicated
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明披露了一种用于设计系统LSI的方法,该方法包括步骤:将系统LSI的算法描述划分为软件组和硬件组,利用行为综合对硬件组进行综合以创建RTL描述和模拟描述,根据RTL描述检验系统LSI的电路规模,以及根据模拟描述和软件描述模拟系统LSI。
Description
技术领域
本发明涉及设计系统LSI(大规模集成电路)的方法,更具体地说涉及用于设计系统LSI、对于在基本指令处理器与专用指令处理器之间通过其传送数据的通信接口的频带具有更高设计选择性的方法。本发明还涉及用于在其内存储设计这种系统LSI的软件的记录媒体。
背景技术
近年,越来越多地使用在单芯片上实现系统的所有电路功能的系统LSI或芯片上系统LSI。此外,除了半导体装置的制造工艺更精细之外,集成在系统LSI上的逻辑门的数量也得到迅速提高,因此其中系统LSI具有更高的处理性能。
系统LSI用于诸如图像处理、加密、滤波以及解码的各种处理过程,其中输入/输出信号具有各种格式,并利用各种算法处理这些信号。此外,根据处理过程要求的性能,系统LSI具有各种吞吐量。最近的趋势是,系统LSI采用的算法越来越复杂,并且处理过程的吞吐量显著提高。
因为上述描述的原因,最近设计的系统LSI用于在此使用信号的专用处理过程。
图5示出利用软件—硬件—协作(SHC)设计系统设计系统LSI的流程图。通常,在采用行为综合的SHC设计系统中,将以诸如C语言的通用语言,或诸如用于操作级描述的专用语言的另一种更高级语言描述的算法描述D1翻译为诸如逻辑综合RTL(寄存器转移级)描述D5的低级语言描述。利用包括诸如寄存器的存储器和诸如加法器的处理器的硬件资源可以将RTL描述转换为硬件。
算法描述D1描述系统LSI的所有功能。如果大部分功能由硬件实现,则该系统LSI具有较大电路规模,并因此而昂贵,但是该系统LSI具有较高处理吞吐量。在另一个方面,如果大部分功能由软件实现,则该系统LSI具有较低吞吐量,虽然系统LSI具有较小电路规模。因此,在设计的初始阶段,如图1所示,根据包括电路规模、处理过程吞吐量性能、成本等在内的系统LSI的各种制约(或设置),将算法描述D1描述的功能划分为两组(步骤S201)。这两个组包括:由硬件资源实现的第一组和由软件资源实现的第二组。
如果将所有硬件资源用于其所有细节,则对硬件资源的开发过程将花费更高成本和更长时间。为此原因,重新使用过去设计的并作为硬件智能属性(IP)存储的硬件宏,同时尽可能多地采用存储资源。通常,根据重用可行性和更高多功能性设计硬件IP,并因此可以容易地将它安装到系统LSI结构内。
将硬件设计为诸如用于处理通用计算过程的微处理器的基本指令处理器11与专门用于诸如输入/输出处理过程的特定处理过程的专用指令处理器12的组合。以前设计的硬件IP通常用作基本指令处理器11。由不是开发系统LSI部门的、半导体制造商的另一个部门设计基本指令处理器11,该另一个部门专门利用寄存器转移设计技术设计处理器。基本指令处理器11的描述与模拟描述D6a一起给出。
在确定在系统LSI内采用基本指令处理器11后,处理过程进入设计专用指令处理器12的步骤(步骤S202)。由于在专用指令处理器12与基本指令处理器11之间通过总线通信数据,所以专用指令处理器12的总线接口设计要符合基本指令处理器11的总线规范。利用高级语言描述专用指令处理器12的设计。
根据对专用指令处理器12的描述,获得专用指令处理器12的RTL描述D5b和模拟描述D6b(步骤S203)。在步骤S204判别专用指令处理器12的RTL描述D5b是否可以实现在先前作为系统LSI的制约建立的设置范围内的电路规模。如果电路规模超过该设置,则处理过程返回步骤S201,其中从头开始重复设计系统LSI。如果在步骤S204判定电路规模在设置范围内,则基本指令处理器11的RTL描述D5a与专用指令处理器12的描述D5b通过总线的RTL描述5c连接在一起(步骤S205)。
随后,在软件设计过程中,利用高级语言定义用于在其上运行专用指令处理器12的应用程序和装置驱动程序(步骤S206)。实现应用程序和装置驱动程序,并将它们翻译为基本指令处理器11或专用指令处理器12可以利用编译程序(编译程序/汇编程序/链接程序)直接理解的机器语言指令(步骤S207)。将这样获得的机器语言指令、模拟描述D6a和D6b以及总线模拟描述D6c组合在一起以形成总模拟描述,将该总模拟描述输入到指令集模拟器,其中该模拟是在类似于系统LSI的环境下进行的(步骤S209)。
通过在指令集模拟器内模拟硬件和软件,检验或验证在硬件和软件的设计中不存在错误。在步骤S209,在实际业务条件下测量系统LSI的时域吞吐量性能和功率消耗,并判别这样测量的吞吐量是否满足系统LSI的要求性能(步骤S210)。如果判别结果是否定的,则处理过程返回步骤S201,其中对分配到软件组和硬件组内的功能进行校正。如果步骤S210的判别结果是肯定的,则完成对系统LSI的设计,然后跟随基本指令处理器11的RTL描述D5a、专用指令处理器12的RTL描述D5b以及总线RTL描述D5c的逻辑综合以确定系统LSI的实际门电路。
图6示出利用在此描述的传统设计方法获得的系统LSI配置。系统LSI包括基本指令处理器11和专用指令处理器12,它们通过指令控制总线71和数据通信总线72互相连接在一起。基本指令处理器11包括:指令控制模块,其包括指令解码器21、数据存储器控制器22以及执行控制器23;数据存储器模块24;执行模块25;指令控制接口41a;数据存储器接口42a;执行接口43a;以及指令提取寄存器20。专用指令处理器12包括:指令控制模块,其包括指令解码器31、数据存储器控制器32以及执行控制器33;数据存储器模块34;执行模块35;指令控制接口41b;数据存储器接口42b;以及执行接口43a。
将指令数据总线51a和指令控制总线52a连接到指令控制接口41a。将存储器选择总线53a和存储器存取总线54a连接到数据存储器接口42a。将执行选择总线55a和执行存取总线56a连接到执行接口43a。
指令控制接口41a通过存储器控制总线61a输出用于控制数据存储器接口42a的控制信号,还通过执行控制总线62a输出用于控制执行接口43a的控制信号。根据从指令控制接口41a接收的控制信号,数据存储器接口42a通过存储器选择总线53a选择数据存储器,从而通过存储器存取总线54a对所输出数据的读取/写入(R/W)时间进行控制。
根据从指令控制接口41a接收的控制信号,执行接口43a通过执行选择总线55a选择执行单元26,从而通过执行存取总线56a对数据的输入/输出(I/O)进行控制,并通过读存取总线63a和写存取总线64a从数据存储器模块24读取数据/将数据写入数据存储器模块24。
将指令数据总线51b和指令控制总线52b连接到指令控制接口41b。将存储器选择总线53b和存储器存取总线54b连接到数据存储器接口42b。将执行选择总线55b和执行存取总线56b连接到执行接口43b。
指令控制接口41b通过存储器控制总线61b发送用于控制数据存储接口42b的控制信号,并且还通过执行控制总线62b发送用于控制执行接口43b的控制信号。根据从指令控制接口41b接收的控制信号,数据存储器接口42b通过存储器选择总线53b选择数据存储器,从而通过存储器存取总线54b控制R/W数据的时间。根据从指令控制接口41b接收的控制信号,执行接口43b通过执行选择总线55b选择执行单元36,从而通过执行存取总线56b控制数据的I/O,并通过读存取总线63b和写存取总线64b对数据存储模块34进行数据读/写。
通过指令控制总线71将指令控制接口41a与41b互相连接在一起。通过数据通信总线72将数据存储器接口42a与42b连接在一起。专用指令处理器12通过指令控制总线71访问指令提取寄存器20,从而通过数据通信总线72从数据存储模块24读取数据或者将数据写入数据存储模块24。专用指令处理器12在存储器模块24内可以同时访问的数据存储器的数量由数据通信总线72的总线频带确定。
在上述描述的传统设计中,根据基本指令处理器11的规范,确定和固定分布在基本指令处理器11与专用指令处理器12之间的接口和总线,其中在固定条件下,在处理器11与处理器12之间共享资源。例如,如果数据通信总线72的总线频带小于专用指令处理器12在数据存储器模块24可以同时访问的数据存储器的数量,则在一个时钟周期内不能进行访问,而因为较小的总线频带要占用许多时钟周期。
此外,尽管基本指令处理器11在其内的执行模块25内包括通用计算资源,但是由于在执行模块25和执行模块35之间没有总线,则执行模块25不能被执行模块35访问。因为此原因,即使基本指令处理器11与专用指令处理器12执行同样运算规则的计算过程,然而仍对处理器11和12单独设置计算资源。
在基本指令处理器11、专用指令处理器12以及总线模块的相应设计过程中,单独创建输入到指令集模拟器、用于验证系统LSI的操作的模拟描述。由于指令集模拟器组合了用于验证系统LSI的操作的各单独模拟描述,所以在完成总线模块设计后,该指令集模拟器必须对基本指令处理器11与专用指令处理器12之间的通信以及低级语言形式的专用指令处理器12的装置驱动程序进行验证。此验证过程复杂而且耗时。
最近建议了一种“Xtensa”处理器,通过在用户专用LSI内根据诸如门数量、吞吐量以及功率耗散的设置(或制约)改变诸如存储器容量的资源以重新构造基本指令处理器结构,它可以解决传统技术中存在的上述问题(请参考Design Wave Magazine 1999年12月)。在该建议处理器中,独立于重新构造的基本指令处理器的接口,对专用指令确定了附加接口。
还知道另一种被称为VUPU处理器的处理器,它具有利用行为综合获得的专用指令,行为综合将用户专用的专用指令处理器结构的操作级描述语言翻译为RTL描述。VUPU处理器可以利用来自基本指令处理器的指令工作(请参考Design Wave Magazine 1999年12月)。
在建议的该VUPU处理器中,确定基本指令处理器结构和对其附加专用指令的接口,其中基本指令处理器结构与专用指令处理器结构分开。
发明内容
因此,本发明的一个目的是提供一种设计系统LSI的方法,其在基本指令处理器与专用指令处理器之间传送数据的通信接口的频带具有更高设计选择,而且通过在基本指令处理器与专用指令处理器之间实现硬件资源共享按理降低其制造成本。
本发明的另一个目的是提供一种在其内存储用于设计这种系统LSI的程序的记录媒体。
本发明提供了一种用于设计根据专用软件运行的系统LSI的方法,该方法包括步骤:描述基本指令处理器、专用指令处理器以及在基本指令处理器与专用指令处理器之间传送数据的通信接口的功能,从而创建算法描述;以及利用行为综合算法描述以对基本指令处理器、专用指令处理器以及通信接口创建低级语言描述。
根据本发明方法,由于对利用算法描述的基本指令处理器、专用指令处理器以及通信接口进行行为综合,可以柔性构造通信接口,并且可以获得对通信接口更高设计的选择。
本发明还提供了一种用于在其内存储用于实现本发明方法的软件的记录媒体。
根据以下参考附图所做的说明,本发明的上述以及其它目的、特征以及优势将变得更加明显。
附图说明
图1是根据本发明实施例用于设计系统LSI的方法的流程图;
图2是利用图1所示方法设计系统LSI的原理方框图;
图3是示出图2所示系统LSI内的处理器描述的算法图;
图4是包括用于设计系统LSI的图1所示方法和传统方法的组合方法的流程图;
图5是用于设计系统LSI的传统方法的流程图;
图6是利用图5所示方法设计的系统LSI的功能方框图。
具体实施方式
在本发明的优选实施例中,算法描述可以是C语言,或与诸如C++语言的另一种语言组合的C语言。在基本指令处理器与专用指令处理器之间优先共享一个或多个硬件资源。这样减少了系统LSI内的硬件资源数量。这样共享的硬件资源可以包括:存储器资源、计算资源、复用器以及诸如总线的互连资源。
行为综合步骤可以优先确定在各处理器之间传送数据的通信接口的频带。通过根据基本指令处理器和专用指令处理器的描述确定通信接口的频带,可以获得通信接口的适当频带宽度,既不会超过也不会不足。
行为综合步骤可以优先产生用于选择描述基本指令处理器、专用指令处理器以及通信接口的模拟描述。这样容易进行运行验证。
本发明方法可以包括模拟步骤,根据该模拟描述和包括机器语言指令集的软件描述进行此模拟步骤,从而容易对系统LSI的实际运行过程进行验证。
优先利用对基本指令处理器内的专用基本指令和/或专用指令处理器内的专用指令进行规定的部分软件描述进行调整来代替在行为综合步骤之后改变系统LSI规范的过程或为了消除其故障调整系统LSI的过程。
作为一种选择或者除此之外,专用指令处理器可以具有包括可编程逻辑电路的冗余部分,该冗余部分可以用于代替改变规范的过程或者为了消除故障进行调整的过程。可编程逻辑电路和/或通过调整系统LSI内的互相连接重新建立的电路部分可以用于改变规范和/或为了消除故障进行调整。
通过对从基本指令处理器库内提取的要求指令进行组合,创建对基本指令处理器的描述。此外,在设计完成后,至少将专用指令处理器内的部分指令描述存储到基本指令处理器库内。在这种情况下,仅利用要求基本指令就可以柔性构造或重新构造基本指令处理器。使用该基本指令处理器库可以缩短开发系统LSI的时间,并降低开发系统LSI的成本。
系统LSI的设计过程可以将多个专用指令处理器与至少一个基本指令处理器组合在一起从而实现更高运算速度。在各种高级语言中,可以利用适于描述系统LSI的功能的C语言设计系统LSI。还可以利用C语言扩展的诸如C++语言的许多种语言确定算法描述,C++语言是适于描述行为综合的另一种调整语言或面向对象的语言。
现在,将参考附图更具体说明本发明,其中在全部附图中,相似的参考编号指明相似的组成部件。
参考图1,图1示出根据采用软件—硬件—协作(SHC)设计系统的本发明实施例设计系统LSI的过程。图1所示的过程提供诸如图2所示的系统LSI。
在图1中,通过对以诸如C语言的通用语言,或诸如用于操作级描述的专用语言的另一种高级语言描述的算法描述D1翻译为诸如逻辑综合RTL(寄存器转移级)描述D5的低级语言描述,SHC设计系统使用行为综合技术。通常,利用包括诸如寄存器的存储器和诸如加法器的处理器的硬件资源,适于将RTL描述翻译为硬件。
根据电路规模、处理过程吞吐量性能、功率耗散等,将系统LSI的算法描述D1描述划分为两组(步骤S201),这两个组包括:由硬件资源实现的第一组和由软件资源实现的第二组。硬件组的设计选择作为处理器模块10的核心工作的、具有设计指令的基本指令处理器11。
随后,如果基本指令处理器11不能根据吞吐量等提供要求的处理性能,则在处理器模块10内附加执行专用指令的专用指令处理器12。这样,处理器模块10包括具有专用指令的专用指令处理器12和具有对所设计的基本指令进行组合获得的配置的基本指令处理器11。
在设计处理器模块10的过程中,利用高级语言描述其功能(步骤S2)。处理器模块10的结果描述包括:基本指令处理器描述11的第一描述D2、专用指令处理器12的第二描述D3以及柔性接口组13的第三描述D4。通过根据算法描述D1对从指令库内提取的各指令进行组合,获得基本指令处理器11的描述D2。利用专用指令处理器的描述D3确定专用指令处理器12的功能。柔性接口组13将基本指令处理器11与专用指令处理器12连接在一起,并利用柔性接口的描述D4定义柔性接口组13。
柔性接口组13包括:指令控制接口41、存储器存取接口42以及执行接口43。如下所述,利用基本指令处理器11和专用指令处理器13的描述D2和D3的内容确定将各接口连接在一起的每个总线的频带(例如总线数量)。基本指令处理器11和专用指令处理器12可以通过柔性接口组13共享硬件资源。
在步骤S3,处理器模块10各描述的行为综合产生RTL描述D5和模拟描述D6。模拟描述D6用于以时钟周期级对处理器模块10进行操作验证。在步骤S4,RTL描述D5用于检验处理器模块10的电路规模,其中如果结果电路规模超过设置(系统LSI的制约),则处理过程返回步骤S1以重复步骤S1至S4。如果在步骤S4判定电路规模在设置范围内,则固定该硬件的配置。
在软件组的设计过程中,利用高级语言描述应用程序(步骤S5),从而确定待获得的系统LSI的运行过程。在程序文件的内容被固定后,利用编译程序/汇编程序/链接程序编译该程序(步骤S6),从而创建处理器模块10可以直接理解的机器语言指令集(步骤S7)。将该结果机器语言指令集和在步骤S3获得的模拟描述D6输入到指令集模拟器以检验该设计中不存在错误。
在利用指令集模拟器进行模拟的过程中,测量系统LSI的吞吐量性能。如果在步骤S9判定处理时间长度超过设置显示较低吞吐量性能,则处理过程返回步骤S1,重新设计系统LSI以在硬件组与软件组之间划分算法描述。如果在步骤S9判定处理时间长度在设置范围内,则完成系统LSI的设计过程,从而对系统LSI固定处理器模块10和应用程序。
如图2所示,结果处理器模块10包括:基本指令处理器11、专用指令处理器12以及柔性接口组13。基本指令处理器11包括:指令控制器,其包括指令解码器21、数据存储器控制器22以及执行控制器23;数据存储器模块24;执行模块25;以及指令提取寄存器20。专用指令处理器12包括:指令控制器,其包括指令解码器31、数据存储器控制器32以及执行控制器33;数据存储器模块34;以及执行模块35。
柔性接口组13包括:指令控制接口41、数据存储器接口42以及执行接口43。将指令数据总线51和指令控制总线52连接到指令控制接口41。将指令选择总线53和存储器存取总线54连接到数据存储器接口42。将执行选择总线55和执行存取总线56连接到执行接口43。
指令控制接口41通过存储器控制总线61传送用于控制数据存储器接口42的控制信号,而且还通过执行控制总线62传送用于控制执行接口43的控制信号。根据从执行控制接口41接收的控制信号,数据存储器接口42通过存储器选择总线53选择数据存储器,从而通过存储器存取总线54控制数据的读/写操作时间。根据从指令控制接口41接收的控制信号,执行接口43通过执行选择总线55选择执行单元26或36,以通过执行存取总线56控制数据的输入/输出操作,从而通过读存取总线63a和写存取总线64a读/写数据存储器模块24的内容。
指令控制接口41通过存储器控制总线61和存储器选择总线53传送存储器选择信号到数据存储器模块24和34,而且还通过执行控制总线62和执行选择总线55传送执行选择信号到执行模块25和35。执行接口43通过读存取总线63、写存取总线64以及存储器存取总线54从数据存储器模块24和34读取数据/将数据写入数据存储器模块24和34,并通过执行存取总线56访问在执行模块25和35内的执行单元26和36。利用处理器模块10的描述义定总线频带,即一次可以访问的总线数量。
在处理器模块10的运行过程中,将从程序存储器(未示出)读取的指令存储到指令提取寄存器20。通过读取指令提取寄存器20的内容,指令解码器21或31对该指令进行解码。对该指令进行解码后,数据存储器控制器22或32以及执行控制器23或33通过指令控制接口41和存储器控制总线61将信号传送到数据存储器接口42,而且还通过存储器控制接口41和执行控制总线62将信号送到执行接口43。
收到该信号后,数据存储器接口42根据接收信号通过存储器选择总线53选择数据存储器。执行接口43通过执行选择总线55选择一个或多个执行单元26和36,通过读存取总线63、写存取总线64以及存储器存取总线54读/写数据。由于通过执行存取总线56该执行模块35可以访问执行模块25内的任意执行单元26,反之亦然,所以可以与专用指令处理器12的计算资源一起使用基本指令处理器11的计算资源。同时从存储器选择总线53、存储器存储总线54、执行选择总线55、执行总线56、存储器控制总线61、执行控制总线62、读存取总线63以及写存取总线64中选择或访问的总线数量由柔性接口组13的描述D4确定,柔性接口组13的描述D4由基本指令处理器11的描述D2和专用指令处理器12的描述D3确定。
图3典型示出处理器模块10的描述。利用包括作为基本语言的C语言的高级语言描述处理器模块10的描述。该描述包括:从第1行到第6行的指令代码定义、从第8行到第12行的存储器资源定义、从第14行到第27行的基本指令处理器11的操作描述,以及从第29行到第37行的专用指令处理器12的操作描述。
图3所示的描述包括C语言描述部分和辅助描述部分,以下将详细说明辅助描述部分。表达式“reg(x∶y)”指保留存储器,其中x是具有y位长度的MSB。例如,第10行上的“reg(0∶8)pc”指8位程序计数器。表达式“ter(m∶n)”指保留总线信号,其中m是具有n位长度的MSB。例如,以“ter(0∶4)”开始的第16行指保留包括opc、opc1、opc2和opc3的4条总线作为4位总线。运算符“∷”指用于将多个位连接在一起的特定运算符。第18行指将4位总线opc、opc1、opc2和opc3连接在一起等效于16位总线对待。将第14行的术语“处理过程”用于行为综合工具以识别待综合的单元。
利用图3所示的描述,确定基本指令处理器11对第20行至第24行定义的基本指令ADD、SUB、MOV、JMP以及SET进行操作,而专用指令处理器12对用户专用指令进行操作,该用户专用指令包括对乘积值与累加器获得的数值进行8位乘法运算和加法运算,该加法器具有16位配置并将存储在存储器内的两个8位数据连接在一起。
根据显示在第9行至第12行的描述,基本指令处理器11在存储器模块24内包括在数量上具有8位配置和16个存储器的存储器资源。根据该描述明白,基本指令处理器11在执行模块25内包括各种资源、ADD(加法器)、SUB(减法器)以及INC(递增)单元。根据该描述明白,专用指令处理器12在执行模块35内包括各种资源、MUL(乘法器)和ACC(累加器)单元。
对于柔性接口组13的总线频带,根据第16行至第18行明白,显然,根据基本指令处理器11的配置,为了在一个时钟周期内完成此处理过程,指令数据总线51应该是16位总线,而存储器存取总线53应该具有两条4位读总线和一条4位写总线。为了将用户专用指令附加到专用指令处理器12内,存储器存取总线53应该在其内具有4条读总线和2条写总线。也就是说,必须对所设置的专用指令处理器12附加两条读总线和一条写总线。
在专用指令处理器12内用于执行用户指定指令的执行模块35可以通过执行存取总线56访问基本指令处理器11内的各种资源、ADD以及INC单元。根据第33行的描述执行16位加法运算时可以采用执行模块25内的8位加法器和为此目的设置的辅助8位加法器,因此在执行模块35内不需要16位加法器。这样,在处理器11和12之间共享各种计算资源。请注意,基本指令处理器11和专用指令处理器12不同时运行,因此,可以在基本指令处理器11与专用指令处理器12之间共享各种硬件资源,而不出现故障。
在根据本发明实施例的系统LSI设计过程中,由于对基本指令处理器11的描述D2、专用指令处理器12的描述D3以及柔性接口组13的描述D4进行选择行为综合,所以可以根据对处理器11和12的设计,对在处理器11与12之间传送数据的总线进行柔性设计。
与基本指令处理器11的传统RT级设计相比,描述基本指令处理器11的高级语言使基本指令处理器11的重构过程更容易。在处理器11和12之间共享的公共接口和总线允许专用指令处理器12通过各总线直接访问基本指令处理器11的各种存储器资源和计算资源,反之亦然,从而实现有效电路配置。
在传统技术中,模拟描述分别包括设置的基本指令处理器部分、专用指令处理器部分以及总线模块部分,在指令集模拟器内将它们组合在一起进行验证。换句话说,在本发明的实施例中,因为对各种描述进行行为综合,所以模拟描述包括基本指令处理器、专用指令处理器以及柔性接口的所有功能,因此容易进行验证模拟。
除了另一个专用指令处理器之外,在另一个系统LSI内,还可以将这样设计的、包括基本指令处理器和专用指令处理器的处理器模块用作新型基本指令处理器。图4示出此例,其中本发明实施例的设计方法与传统设计方法组合在一起。除了如图4所示的在本发明中利用根据上述实施例方法设计的处理器模块10代替图5所示的基本指令处理器11外,图4所示的流程图与图5所示的流程图相同。请注意,可以利用根据RT设计技术设计的硬件IP代替在步骤S203获得的专用指令处理器。
将传统设计方法与上述实施例的设计方法的组合用作系统LSI部分功能的行为综合。换句话说,利用传统技术获得的硬件IP作为外围硬件IP可以与利用该实施例设计的处理器组合在一起以实现系统LSI。
由于仅作为例子对上述实施例进行了描述,所以本发明并不局限于上述实施例,而且本技术领域内的熟练技术人员可以在本发明范围内容易地对其做各种调整和变换。
Claims (13)
1.一种用于设计根据特定软件运行系统LSI的方法,所述方法包括下列步骤:
描述基本指令处理器、专用指令处理器以及在所述基本指令处理器与所述专用指令处理器之间传送数据的通信接口的各功能,从而创建算法描述;以及
利用行为综合综合所述算法描述以对所述基本指令处理器、专用指令处理器以及通信接口创建低级语言描述。
2.根据权利要求1所述的方法,其中所述描述步骤使用一种语言。
3.根据权利要求1所述的方法,其中每个所述基本指令处理器和所述专用指令处理器使用所述基本指令处理器和所述专用指令处理器中另一个的硬件资源。
4.根据权利要求1所述的方法,其中所述综合步骤包括确定所述通信接口的频带的过程。
5.根据权利要求1所述的方法,其中所述综合步骤包括创建用于共同的描述所述基本指令处理器、专用指令处理器以及通信接口的模拟描述的过程。
6.根据权利要求1所述的方法,该方法进一步包括,根据所述模拟描述和软件描述模拟所述基本指令处理器、专用指令处理器以及通信接口的步骤。
7.根据权利要求1所述的方法,进一步包括,在完成所述综合步骤后,在改变规范或者发生故障的情况下,对定义所述基本指令处理器的基本指令和/或所述专用指令处理器的专用指令的部分软件描述进行修改的步骤。
8.根据权利要求1所述的方法,其中对应于所述专用指令处理器的部分所述算法描述包括冗余电路部分,在改变规范或者发生故障时,对该冗余电路部分进行修改。
9.根据权利要求1所述的方法,所述基本指令处理器的基本指令是从基本指令处理器库内提取的。
10.根据权利要求9所述的方法,其中将所述算法描述内的所述专用指令处理器的至少一部分专用指令存储到所述基本指令处理器库内。
11.根据权利要求1所述的方法,其中所述算法描述包括多个所述专用指令处理器和至少一个基本指令处理器。
12.根据权利要求1所述的方法,所述算法描述是由C语言、扩展C语言和/或面向对象的语言所定义的。
13.一种用于在其内存储权利要求1的方法定义的软件的记录媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001400503A JP2003196333A (ja) | 2001-12-28 | 2001-12-28 | システムlsiの設計方法及びこれを記憶した記録媒体 |
JP400503/2001 | 2001-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1430265A true CN1430265A (zh) | 2003-07-16 |
Family
ID=19189621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02158389A Pending CN1430265A (zh) | 2001-12-28 | 2002-12-30 | 设计系统大规模集成电路的方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7062724B2 (zh) |
JP (1) | JP2003196333A (zh) |
KR (1) | KR100499720B1 (zh) |
CN (1) | CN1430265A (zh) |
GB (1) | GB2385691B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100362520C (zh) * | 2005-09-09 | 2008-01-16 | 深圳市海思半导体有限公司 | 一种专用集成电路综合系统及方法 |
CN100430947C (zh) * | 2003-09-29 | 2008-11-05 | 北京中电华大电子设计有限责任公司 | 基于边的倒序树扫描线算法优化层次版图验证方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10128373A1 (de) * | 2001-06-12 | 2003-01-02 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung |
JP4153732B2 (ja) * | 2002-06-19 | 2008-09-24 | 株式会社東芝 | ハードウェア動作記述変換方法及びそのためのプログラム |
JP2004054756A (ja) * | 2002-07-23 | 2004-02-19 | Nec Electronics Corp | 消費電力見積り装置及び方法 |
JP2005084957A (ja) * | 2003-09-09 | 2005-03-31 | Nec Corp | 回路動作検証装置および方法 |
JP2005216177A (ja) * | 2004-01-30 | 2005-08-11 | Toshiba Corp | コンフィグラブル・プロセッサの設計装置、設計方法、ライブラリの最適化方法、プロセッサ、及びプロセッサを備えた半導体装置の製造方法 |
US8689202B1 (en) | 2004-03-30 | 2014-04-01 | Synopsys, Inc. | Scheduling of instructions |
US8677312B1 (en) | 2004-03-30 | 2014-03-18 | Synopsys, Inc. | Generation of compiler description from architecture description |
US9280326B1 (en) | 2004-05-26 | 2016-03-08 | Synopsys, Inc. | Compiler retargeting based on instruction semantic models |
US7313773B1 (en) * | 2004-05-26 | 2007-12-25 | Coware, Inc. | Method and device for simulator generation based on semantic to behavioral translation |
US7200703B2 (en) * | 2004-06-08 | 2007-04-03 | Valmiki Ramanujan K | Configurable components for embedded system design |
WO2006113645A2 (en) * | 2005-04-18 | 2006-10-26 | University Of Pittsburgh-Of The Commonwealth System Of Higher Education | Method and software tool for automatic generation of software for integrated circuit processors |
JP2007034584A (ja) * | 2005-07-26 | 2007-02-08 | Toshiba Corp | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 |
US9830174B2 (en) * | 2005-12-22 | 2017-11-28 | Synopsys, Inc. | Dynamic host code generation from architecture description for fast simulation |
US9064076B1 (en) * | 2006-03-23 | 2015-06-23 | Synopsys, Inc. | User interface for facilitation of high level generation of processor extensions |
CN102592023B (zh) * | 2012-01-06 | 2017-06-20 | 广东新岸线计算机系统芯片有限公司 | 集成电路设计过程中的寄存器设计方法及装置 |
US9075623B2 (en) * | 2012-01-18 | 2015-07-07 | International Business Machines Corporation | External auxiliary execution unit interface for format conversion of instruction from issue unit to off-chip auxiliary execution unit |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT402134B (de) * | 1991-04-29 | 1997-02-25 | Voith Elin Elektronik Ges M B | Verfahren zur steuerung von permanenterregten elektrisch einphasigen wechselstrommaschinen |
US5845072A (en) * | 1994-11-10 | 1998-12-01 | International Business Machines Corporation | Method and apparatus for parallel and pipelining transference of data between integrated circuits using a common macro interface |
US5748979A (en) * | 1995-04-05 | 1998-05-05 | Xilinx Inc | Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table |
US5898595A (en) | 1995-05-26 | 1999-04-27 | Lsi Logic Corporation | Automated generation of megacells in an integrated circuit design system |
US6058263A (en) * | 1996-06-03 | 2000-05-02 | Microsoft Corporation | Interface hardware design using internal and external interfaces |
JP3215344B2 (ja) | 1997-03-10 | 2001-10-02 | 株式会社東芝 | プロセッサ及びそのバグ回避方法 |
EP0918280B1 (en) * | 1997-11-19 | 2004-03-24 | IMEC vzw | System and method for context switching on predetermined interruption points |
US6477683B1 (en) * | 1999-02-05 | 2002-11-05 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
GB0019341D0 (en) * | 2000-08-08 | 2000-09-27 | Easics Nv | System-on-chip solutions |
US6961462B2 (en) * | 2001-01-22 | 2005-11-01 | Matsushita Electric Industrial Co., Ltd. | Image processing method and image processor |
US20020152061A1 (en) * | 2001-04-06 | 2002-10-17 | Shintaro Shimogori | Data processing system and design system |
US20030149962A1 (en) * | 2001-11-21 | 2003-08-07 | Willis John Christopher | Simulation of designs using programmable processors and electronically re-configurable logic arrays |
-
2001
- 2001-12-28 JP JP2001400503A patent/JP2003196333A/ja active Pending
-
2002
- 2002-12-27 US US10/329,578 patent/US7062724B2/en not_active Expired - Lifetime
- 2002-12-27 GB GB0230205A patent/GB2385691B/en not_active Expired - Fee Related
- 2002-12-27 KR KR10-2002-0084727A patent/KR100499720B1/ko not_active IP Right Cessation
- 2002-12-30 CN CN02158389A patent/CN1430265A/zh active Pending
-
2006
- 2006-05-01 US US11/414,221 patent/US7478351B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100430947C (zh) * | 2003-09-29 | 2008-11-05 | 北京中电华大电子设计有限责任公司 | 基于边的倒序树扫描线算法优化层次版图验证方法 |
CN100362520C (zh) * | 2005-09-09 | 2008-01-16 | 深圳市海思半导体有限公司 | 一种专用集成电路综合系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2385691A (en) | 2003-08-27 |
GB2385691B (en) | 2004-05-26 |
KR20030057397A (ko) | 2003-07-04 |
US7062724B2 (en) | 2006-06-13 |
GB0230205D0 (en) | 2003-02-05 |
US7478351B2 (en) | 2009-01-13 |
JP2003196333A (ja) | 2003-07-11 |
US20030126563A1 (en) | 2003-07-03 |
US20060195812A1 (en) | 2006-08-31 |
KR100499720B1 (ko) | 2005-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1430265A (zh) | 设计系统大规模集成电路的方法 | |
US8214189B2 (en) | Performance evaluation simulation | |
US7865346B2 (en) | Instruction encoding in a hardware simulation accelerator | |
De Man et al. | Architecture-driven synthesis techniques for VLSI implementation of DSP algorithms | |
Thomas et al. | A model and methodology for hardware-software codesign | |
Kempf et al. | A SW performance estimation framework for early system-level-design using fine-grained instrumentation | |
Ryu et al. | Automated bus generation for multiprocessor SoC design | |
WO1994010627A1 (en) | System for compiling algorithmic language source code into hardware | |
CN101051332A (zh) | 一种soc芯片系统级验证系统及方法 | |
Amiri et al. | FPGA-based soft-core processors for image processing applications | |
CN114357916B (zh) | 一种芯片fpga原型验证方法及系统 | |
Kambe et al. | A c-based synthesis system, bach, and its application (invited talk) | |
US7784046B2 (en) | Automatically boosting the software content of system LSI designs | |
Tsui et al. | Application-driven design automation for microprocessor design | |
US20120226890A1 (en) | Accelerator and data processing method | |
Liang et al. | The Support of MLIR HLS Adaptor for LLVM IR | |
Shetty et al. | Enabling the design of behavioral systems-on-chip | |
Joo et al. | Efficient hierarchical bus-matrix architecture exploration of processor pool-based MPSoC | |
JP4531715B2 (ja) | システムlsiの設計方法及びこれを記憶した記録媒体 | |
Cai | Estimation and exploration automation of system level design | |
US20030140054A1 (en) | Processor composing apparatus, system LSI composing apparatus, processor composing method, system LSI composing method, and program therefor | |
CN118153509A (zh) | 一种实现fpga的布局布线的方法及装置 | |
Genc | Enabling Full-Stack DNN Accelerator Design and Evaluation on Synthesizable Hardware | |
JP2006079226A (ja) | ハードウエア記述言語合成ツール及びそれを利用した集積回路の設計方法 | |
Pasricha et al. | A Framework for Memory and Communication Architecture Co-Synthesis in MPSoCs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |