一种实现SystemC半实物仿真时间同步的方法技术

技术编号:24681431 阅读:45 留言:0更新日期:2020-06-27 07:29
本发明专利技术提供了一种实现SystemC半实物仿真时间同步的方法,包括执行以下步骤:步骤1:在PC机和实际硬件之间连接时钟源发生器,该时钟源发生器能按照指定的数值来产生对应的时钟源,所述时钟源作为半实物仿真中的实际硬件的时钟输入源;步骤2:在PC机的SystemC的程序里面,书写一个时钟同步模块,该时钟同步模块一方面产生时钟输出来驱动实际硬件,另一方面通过USB总线和PC机进行时钟同步协议的通信来同步SystemC程序的运行。本发明专利技术的有益效果是:本发明专利技术的一种实现SystemC半实物仿真时间同步的方法就保证了软件的逻辑时钟和实际硬件的时序同步,满足了软硬件协同模拟开发的基本需求。

A method to realize time synchronization in hardware in the loop simulation of SystemC

【技术实现步骤摘要】
一种实现SystemC半实物仿真时间同步的方法
本专利技术涉及半导体领域,尤其涉及一种实现SystemC半实物仿真时间同步的方法。
技术介绍
由于近现代半导体行业的大力扩张,半导体的集成规模愈发复杂和庞大;例如最新的因特尔cpu,其中就集成了1000000多个半导体器件;伴随着目前的繁荣产业,半导体开发验证测试的速度对半导体企业的发展至关重要。所以目前的半导体开发中的基本模式是一边开发一边模拟验证,其中,SystemC是一种能全生命周期支持的开发和测试框架。从前期的数字电路逻辑验证,到后期的架构分析,算法分析,以及上层应用软件软件例如操作系统的移植适配都是能支持的。所以目前SystemC得到了广泛的应用,在目前5G技术的角逐上,华为就采用了FastModels和半实物化仿真的方案来加快研发进度。其中FastModels的导出接口标准就是SystemC标准。SystemC是使用C++程序设计语言开发出来的一个类库,并且提供了一个事件驱动的仿真框架来对各种事件的执行顺序进行调度。SystemC的调度算法思想是把连续的仿真时间划分为多个离散的仿真时刻,再把一个仿真时刻划分为多个delta-cycle,在一个delta-cycle或者多个delta-cycle周期之后更新通道值,这样就可以在这些delta-cycle中用顺序执行的编程语言来模拟硬件的并行性行为。使得仿真系统的设计者能够用C++的语法规则模拟并行的进程。这样不但增加了开发的便利程度,而且降低了软件工程师进行硬件开发测试的门槛。目前SystemC已经成为了仿真模拟行业的标准,各大EDA厂商的产品都兼容SystemC标准。SystemC是纯粹的软件,虽然能完整模拟现有的硬件行为,但是目前的半导体开发早已经不是从零开始了,很多EDA公司或者研发团队目前已经有很成熟的模块了,这些模块已经通过了很多次的严格测试;例如通信基带这些高频器件,它已经是一个很成熟的模块,这时候人们往往更希望这个模块能和软件一起协同仿真,而不是使用软件再写一个同样复杂的模拟模块。这时候,半实物仿真的需求就产生了。而且同样地,可能有些模块在整个系统中的复杂度并没有太高,设计也并不复杂,这时候我们就可以使用纯软件甚至TLM的方式来书写实现,一方面能集成成熟模块,另一方面不会因为某些不是很关键的模块而影响整体的测试验证进度。如背景图1所示,背景图1是一个半实物化仿真的示例:其中,左边的方框代表真实硬件,右边代表PC机上面运行的模拟程序。他们之间通过某种方式进行连接通信。在半实物化仿真的领域中,有一个至关重要的问题,那就是时间的同步问题。什么叫做时间的同步呢?因为软件是在模拟真实硬件,所以,在软件的逻辑中,也是有时间概念的,这个时间并不是我们显示世界中的时间,而是虚拟的逻辑时间。假如说软件模拟需要运行逻辑时间1分钟,如果这个运算逻辑很复杂,且你的电脑的性能一般般,那么可能这个软件需要运行10分钟之后才结束。那么在模拟的世界里,软件还是运行了1分钟,但是现实世界中的时间花了10分钟。如果你的电脑性能足够强大,那么可能这个软件只运行1秒钟就结束了,那么逻辑的运行时间还是1分钟。所以,目前的问题在于,不同的模拟环境中,不同的电脑性能下,软件的模拟速度都是很难统一的。那么在实际的软硬协同半实物化仿真的工作中,这种问题肯定是首要解决的。因为你的一个成熟的外设模块,他的性能是固定的;例如一个成熟的基带模块硬件,他的性能是固定的,他解码一段无线电信息所花的时间基本上是严格相等的。那么我们的问题就是来保证这两个模块的同步,因为一个是固定的时间,另一个是不固定的时间,如背景图2所示。
技术实现思路
本专利技术提供了一种实现SystemC半实物仿真时间同步的方法,包括执行以下步骤:步骤1:在PC机和实际硬件之间连接时钟源发生器,该时钟源发生器能按照指定的数值来产生对应的时钟源,所述时钟源作为半实物仿真中的实际硬件的时钟输入源;步骤2:在PC机的SystemC的程序里面,书写一个时钟同步模块,该时钟同步模块一方面产生时钟输出来驱动实际硬件,另一方面通过USB总线和PC机进行时钟同步协议的通信来同步SystemC程序的运行。作为本专利技术的进一步改进,在所述步骤1中,所述时钟源发生器为逻辑芯片,所述逻辑芯片一方面对被测试的实际硬件产生时钟输出,另一方面和PC机通过USB总线进行通信。作为本专利技术的进一步改进,在所述步骤1中,PC机的虚拟仿真软件通过USB驱动程序来访问所述逻辑芯片,给所述逻辑芯片发送不同的控制命令用来产生不同的时钟。作为本专利技术的进一步改进,在所述步骤1中,PC机的虚拟仿真软件还对时钟次数进行计数,用作PC机同步时钟周期的根据。作为本专利技术的进一步改进,在所述步骤2中,所述时钟同步模块的实现方式如下:在SystemC里面创建一个THREAD,然后由THREAD设计一个时钟周期,这个逻辑的时钟周期就对应着要同步的真实硬件的时钟周期,然后保持这两个时钟周期的同步。作为本专利技术的进一步改进,所述逻辑芯片上设有第一USB口,所述PC机上设有第二USB口,所述逻辑芯片、所述PC机通过所述第一USB口、所述第二USB口传输同步时钟协议。作为本专利技术的进一步改进,所述实际硬件上设有第三USB口,所述PC机上设有第四USB口,所述实际硬件、所述PC机通过所述第三USB口、所述第四USB口传输其他数据通信。作为本专利技术的进一步改进,所述PC机为windows或Linux系统。本专利技术的有益效果是:本专利技术的一种实现SystemC半实物仿真时间同步的方法就保证了软件的逻辑时钟和实际硬件的时序同步,满足了软硬件协同模拟开发的基本需求。附图说明图1-2是本专利技术方法的背景图;图3是本专利技术方法的示意框图。具体实施方式如图3所示,本专利技术公开了一种实现SystemC半实物仿真时间同步的方法,包括执行以下步骤:步骤1:我们常用的数字电路,都需要一个时钟振荡源,本专利技术的方法就是在时钟振荡源部分来做特殊处理,做一个时钟源发生器,在PC机和实际硬件之间连接时钟源发生器,该时钟源发生器能按照指定的数值来产生对应的时钟源,所述时钟源作为半实物仿真中的实际硬件的时钟输入源;步骤2:在PC机的SystemC的程序里面,书写一个时钟同步模块,该时钟同步模块一方面产生时钟输出来驱动实际硬件,另一方面通过USB总线和PC机进行时钟同步协议的通信来同步SystemC程序的运行。在所述步骤1中,所述时钟源发生器为逻辑芯片,所述逻辑芯片一方面对被测试的实际硬件产生时钟输出,另一方面和PC机通过USB总线进行通信。在所述步骤1中,PC机的虚拟仿真软件通过USB驱动程序来访问所述逻辑芯片,给所述逻辑芯片发送不同的控制命令用来产生不同的时钟。在所述步骤1中,PC机的虚拟仿真软件还对时钟次数进行计数,用作PC机同步时钟周期的根据。在所述步骤2中,所述时钟同步模块的实现方式如下:在SystemC里面创建一个THRE本文档来自技高网
...

【技术保护点】
1.一种实现SystemC半实物仿真时间同步的方法,其特征在于,包括执行以下步骤:/n步骤1:在PC机和实际硬件之间连接时钟源发生器,该时钟源发生器能按照指定的数值来产生对应的时钟源,所述时钟源作为半实物仿真中的实际硬件的时钟输入源;/n步骤2:在PC机的SystemC的程序里面,书写一个时钟同步模块,该时钟同步模块一方面产生时钟输出来驱动实际硬件,另一方面通过USB总线和PC机进行时钟同步协议的通信来同步SystemC程序的运行。/n

【技术特征摘要】
1.一种实现SystemC半实物仿真时间同步的方法,其特征在于,包括执行以下步骤:
步骤1:在PC机和实际硬件之间连接时钟源发生器,该时钟源发生器能按照指定的数值来产生对应的时钟源,所述时钟源作为半实物仿真中的实际硬件的时钟输入源;
步骤2:在PC机的SystemC的程序里面,书写一个时钟同步模块,该时钟同步模块一方面产生时钟输出来驱动实际硬件,另一方面通过USB总线和PC机进行时钟同步协议的通信来同步SystemC程序的运行。


2.根据权利要求1所述的方法,其特征在于,在所述步骤1中,所述时钟源发生器为逻辑芯片,所述逻辑芯片一方面对被测试的实际硬件产生时钟输出,另一方面和PC机通过USB总线进行通信。


3.根据权利要求2所述的方法,其特征在于,在所述步骤1中,PC机的虚拟仿真软件通过USB驱动程序来访问所述逻辑芯片,给所述逻辑芯片发送不同的控制命令用来产生不同的时钟。


4.根据权利要求3所述的方法,其特征在于...

【专利技术属性】
技术研发人员:陶永超郑宏运吴翔虎
申请(专利权)人:深圳航天科技创新研究院
类型:发明
国别省市:广东;44

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

1