一种用于仿真一包含用多个周期运行的一第一电路区块和一第二电路区块的系统运行的仿真装置。该仿真装置包括:一可用于仿真第一电路区块具有时间概念运行的第一仿真单元;一可用于仿真第二电路区块没有时间概念运行的第二仿真单元;一可用于每隔一定时间激活第一仿真单元的第一控制单元;一可用于接收请求信息的接收单元,所述的请求信息是由第一仿真单元发给第二仿真单元的并与由第一电路区块发给第二电路区块的处理请求相对应;以及一可用于在接收单元接收到请求信息的情况下,激活第二仿真单元的第二控制单元。
【技术实现步骤摘要】
本专利技术涉及一种用于仿真在系统开发中处于设计阶段的系统如系统大规模集成电路(LSI)的仿真装置,更具体是涉及仿真执行时间的缩减。
技术介绍
近年来,为了满足日益增长的对于小型化高性能计算机的需求,对于其中将,例如,处理器,存储器和特定用途集成电路(ASIC)这样一些部件安装于一个芯片中的系统大规模集成电路的开发活动一直十分活跃。通常,在系统大规模集成电路(LSI)的开发中,设计人员是用例如C语言或C++语言编写一个用于检验系统大规模集成电路(LSI)性能的具有适当抽象级的系统设计模型,并在系统大规模集成电路(LSI)装入一芯片之前,在设计阶段,将该模型在计算机上仿真。需要使用这种仿真的原因是由于在系统大规模集成电路(LSI)制作之后,如果想要改变系统设计,则需要花费昂贵的费用。通常,使用称之为基于时钟周期仿真(cycle base simulation)的仿真方法来仿真系统大规模集成电路(LSI)。在基于时钟周期仿真中,用多个周期(即预定的时间周期)进行仿真一个系统的运行,所述的多个周期可以是多个系统时钟周期或总线周期。下面将用一个实例来描述这种基于时钟周期仿真。图10是一种仿真装置的功能图,该仿真装置用来基于时钟周期仿真一个通过一共享源在两个处理器之间传递数据的系统的运行共享源。仿真装置1000是一计算机,它具有CPU、存储器、硬盘等等,当CPU执行存储在存储器或者硬盘中的仿真程序时,该仿真装置1000实现其功能。仿真内核(simulation kernel)1001具有这样的功能,即,在每一周期都调用基于时钟周期模型1002,并且控制基于时钟周期模型1002的执行。图10中的空点箭头表示仿真内核1001正在通过发出指令在每一周期都调用基于时钟周期模型1002。该基于时钟周期模型1002包括处理器核心模块1003、扩展寄存器模块1004、处理器模块1005、中断控制单元1006和共享源模块1007。这些模块是要在实际系统中设置的各功能模块的模型。图10中的空心箭头表示各模块之间进行的访问。处理器核心模块1003和处理器模块1005用ISS(指令设定仿真器)来仿真处理器核心或者处理器的运行。扩展寄存器模块1004是扩展寄存器的模型。共享源模块1007是像共享存储器和总线这样的共享源的模型。下面,参照一时序图解释如何仿真各处理器之间数据传递,其中假定处理器模块1005是主处理器,而处理器核心模块是从处理器。图11是包括在仿真装置1000内的各模块运行的时序图。在每一周期,由仿真内核1001调用和激活基于时钟周期模型1002。在激活基于时钟周期模型1002之后,处理器模块1005和处理器核心模块1003受到初始化(A1,A2)。在初始化(A1)之后,处理器模块1005进入等待状态,等待来自于处理器核心模块1003的初始化完成通知。另一方面,在初始化(A2)之后,处理器核心模块1003访问共享源模块1007,并在其中写入初始化完成通知中采用的一个参数,该通知要发送给处理器模块1005(写访问)(A3)。更具体地说,处理器核心模块1003向共享源模块1007发送写请求,并且基于收到响应,向共享源模块1007发送该参数和该参数要被写入的位置地址。基于从共享源模块1007接收到关于参数已经写入的通知,处理器核心模块1003就将一中断请求写入扩展寄存器模块1004(A4)。之后,处理器核心模块1003进入等待状态,等待来自处理器模块1005的指令。当中断请求写入扩展寄存器模块1004时,处理器模块1005从等待状态转为执行状态(A5),访问共享源模块1007并且读取写入其中的参数(读访问)(A6)。更具体地说,处理器模块1005向共享源模块1007发送读请求,基于收到响应,向共享源模块1007发送参数将要被写入的位置地址。基于接收到该地址,共享源模块1007就将该参数传输给处理器模块1005,该参数存储于该模块1007中指定的地址处。基于接收到该参数,处理器模块1005就分析该参数并且确认处理器核心模块1003的初始化已经完成(A7),访问共享源模块1007,并把要发送给处理器核心模块1003的指令中采用的一个参数写入其中(写访问)(A8)。该写访问的详细过程与上述处理器核心模块1003所执行的过程一样,因此这里省略该过程的描述。然后,处理器模块1005将一中断请求写入中断控制单元1006(A9)。当该中断请求写入中断控制单元1006时,处理器核心模块1003从等待状态转为执行状态(A10),访问共享源模块1007并且读取写入其中的参数(读访问)(A11)。该读访问的详细过程与上述处理器模块1005所执行的过程一样,因此这里省略该过程的描述。处理器核心模块1003根据该读取的参数执行预定的处理(A12),访问共享源模块1007并且将该预定处理的结果作为一个参数写入其中(写访问)(A13)。然后,处理器核心模块1003将一中断请求写入扩展寄存器模块1004(A14)。之后,处理器核心模块1003再次进入等待状态,等待来自处理器模块1005的指令。当该中断请求写入扩展寄存器模块1004中时,处理器模块1005从等待状态转为执行状态(A15),执行下一处理。仿真装置1000以上述方式执行基于时钟周期仿真,用以仿真通过一共享源在两处理器之间传递数据的系统的运行。同时,如果希望在系统LSI市场中建立某种系统产品的优势,重要的是缩短系统产品上市的时间(time-to-market),可以通过缩短开发周期来提高上市时间的缩短程度。缩短仿真速度非常有助于缩短开发周期。这从以下事实可以很容易地想象的出来当用像RTL(寄存器传送级)模型这样的低抽象级系统设计模型来仿真时,基于时钟周期仿真就需要投入大量的时间来完成大型系统LSI的仿真。
技术实现思路
本专利技术的目的是提供一种仿真装置和仿真方法,其可用比传统的进行基于时钟周期仿真的装置更少的时间仿真一个包含使用多个周期运行的一第一电路区块和一第二电路区块的系统的运行。上述专利技术目的可以通过一用于仿真一个包含使用多个周期运行的一第一电路区块和一第二电路区块的系统运行的仿真装置来实现,所述的仿真装置包括一可用于仿真第一电路区块具有时间概念运行的第一仿真单元;一可用于仿真第二电路区块没有时间概念运行的第二仿真单元;一可用于每隔一定时间激活第一仿真单元的第一控制单元;一可用于接收请求信息的接收单元,所述的请求信息是由第一仿真单元发给第二仿真单元的并与由第一电路区块发给第二电路区块的处理请求相对应;以及一可用于在接收单元接收到请求信息的情况下,激活第二仿真单元的第二控制单元。上述本专利技术的目的还可以通过一用于仿真包含使用多个周期运行的一第一电路区块和一第二电路区块的系统运行的仿真方法来实现,所述的仿真方法包括如下步骤设置一可用于仿真第一电路区块具有时间概念运行的第一仿真单元;设置一可用于仿真第二电路区块没有时间概念运行的第二仿真单元;设置一可用于每隔一定时间激活第一仿真单元的第一控制单元;设置一可用于接收请求信息的接收单元,所述的请求信息是由第一仿真单元发给第二仿真单元的并与由第一电路区块发给第二电路区块的处理请求相对应;以及设置一可用于在接收单元接收到请求信息的情况下,激活第二仿真单元的第本文档来自技高网...
【技术保护点】
一种用于仿真包含用多个周期运行的一第一电路区块和一第二电路区块的系统运行的仿真装置,该仿真装置包括:一可用于仿真第一电路区块具有时间概念运行的第一仿真单元;一可用于仿真第二电路区块没有时间概念运行的第二仿真单元;一可 用于每隔一定时间激活第一仿真单元的第一控制单元;一可用于接收请求信息的接收单元,所述的请求信息是由第一仿真单元发给第二仿真单元的,并与由第一电路区块发给第二电路区块的处理请求相对应;以及一可用于在接收单元接收到请求信息的情况 下,激活第二仿真单元的第二控制单元。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:崎山健次,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。