当systemc语言以一种新的开放源码的语言在1999年面世时,给设计工程师带来了不小的困惑。什么是systemc?一种硬件设计语言?如果是的话,怎么能是基于c++的呢?一种行为级语言?那么它为什么又这么象rtl?它会不会取代verilog和vhdl?核心的问题其实就是它到底是做什么的?现在五年过去了,以上的所有问题都有答案了。
systemc不仅存活下来了,而且它在soc设计流程中的强势地位也被认可了。从最初的只被欧洲和日本的少数架构设计师所采用到现在被北美的设计师广泛应用。许多成功应用systemc进行设计的公司和组织已经将它融人到他们的设计流程中。 osci(opensystemcinitiative)组织网站的点击率和人们对systemc语言的兴趣迅速上升,目前license数量已超过22000而且还在上升。很明显,systemc已经成功定位,再不被认为是hdl的替代者,而是连接构建系统行为级模型的系统架构师和编写rtl实现代码的工程师之间的桥梁。正是因为它从新的2.1版本开始加强了事务级的建模能力,systemc才能跨越这两个世界而且帮助进行软硬件协同仿真。更可喜的是,osci和ocpip(open core protocol international partnership)正在为实现一种能共享的建模结构而继续合作,如果成功将会使第三方的ip更容易集成到systemc环境中。ocpip是一个工业界的联盟,致力于创建一种通用的ip接口。现在已经有不少基于systemc的esl(electronic system level)工具和方法问世,使人们梦寐已久的系统级设计流程变成了现实。
为什么是systemc 直到几年以前,设计工程师还能用rtl来描述ic设计。但是现在的soc设计越来越复杂,并且伴随着大量的ip重用,这两个趋势促使系统设计向更抽象的方向发展。systemc使架构设计和分析成为可能,但它的能力不止这些,它还能让soc设计者在同时运行软件的条件下以较高的速度验证其设计并得到有用的分析结果来帮助改进设计。并且应用systemc还能在rtl验证时重用在系统级验证时开发的测试平台。 systemc的核心语言建立在标准c++之上,包括事件驱动的仿真内核,结构化的基本元素(模块,端口,接口和信道),数据类型(整型,定点,矢量等等)以及基本的信道(signal,fifo,mutex等等)。 在核心语言之上的是一个简单的事务级传输库,它建立了事务级的接口模型。同层的还有用于生成测试平台的systemc验证库。在它们之上的则是open core protocol的应用程序接口,即为方便ip重用的片上通信标准。另外还有一些用systemc描述的工业标准总线协议,例如arm的amba,见图1。 这种层次化的结构随着systemc 2.1版本的演变而变得越来越明显,这一变化也符合osci确定的systemc语言的发展方向,即加强ip的模块化,对事务级设计和验证提供更好的支持以及解决以前版本遗留的不易用问题。 osci和systemc已经开始了向ieee提出标准的进程。ieee的systemc研究小组在2004年8月10日召开了第一次会议,标志着正式的标准化进程的开始。该小组提出了一个par(proiect authorization request)草案,送交了ieee新标准委员会并获批准。然后osci和ieee已于2004年9月18日联合宣布ieee已经开始了一个标准号为p1666的标准化工作,名字为“systemc语言参考手册”。该标准基于systemc 2.1,预计将在12到15个月完成。ieee的systemc研究小组组长,也是cadence公司的语言标准组的总监victorberman先生说:“systemc从osci到正式的ieee标准的转变反映的工业界的共识,那就是对于真正的系统设计而言,高层次的抽象必须依赖于语言和方法。” 事务级建模(tlm)的重要性 systemc 2.1最受人关注的是加强了对事务级建模的支持。无论是严格应用于架构验证而不关心与rtl验证还是为rtl验证服务的行为级参考模型,tlm都是非常重要的。 “tlm是一种抽象数据流方式,这种方式更接近于应用设计者获架构设计师的思维方式。”drew wingard先生,sonics的cto这样说。“它减少了仿真事件的数量,因此提高了仿真的速度。”coware公司的专家pascal chauvet先生也说:“tlm的关键就是只关注通信中真正想看到的信息,这样就只需要对那些在发起者和接受者交换的信息进行建模,而不象rtl一样需要在信号级建模。tlm可以是非常高层次的抽象,例如简单的读和写,也可以是较细节的,例如每拍精确(cycleaccurate),但仍然运行得比rtl快很多。” 但是隐含在tlm概念中的灵活性正像chauvet先生提到的也在设计者中产生出许多困惑。其中之一就是标准化问题,如今osci的事务级建模工作组正在进行这一工作。他们对tlm的定义是几种不同抽象层次的建模方式,覆盖了rtl之
cadence资深工程师 唐进 | 当systemc语言以一种新的开放源码的语言在1999年面世时,给设计工程师带来了不小的困惑。什么是systemc?一种硬件设计语言?如果是的话,怎么能是基于c++的呢?一种行为级语言?那么它为什么又这么象rtl?它会不会取代verilog和vhdl?核心的问题其实就是它到底是做什么的?现在五年过去了,以上的所有问题都有答案了。
systemc不仅存活下来了,而且它在soc设计流程中的强势地位也被认可了。从最初的只被欧洲和日本的少数架构设计师所采用到现在被北美的设计师广泛应用。许多成功应用systemc进行设计的公司和组织已经将它融人到他们的设计流程中。 osci(opensystemcinitiative)组织网站的点击率和人们对systemc语言的兴趣迅速上升,目前license数量已超过22000而且还在上升。很明显,systemc已经成功定位,再不被认为是hdl的替代者,而是连接构建系统行为级模型的系统架构师和编写rtl实现代码的工程师之间的桥梁。正是因为它从新的2.1版本开始加强了事务级的建模能力,systemc才能跨越这两个世界而且帮助进行软硬件协同仿真。更可喜的是,osci和ocpip(open core protocol international partnership)正在为实现一种能共享的建模结构而继续合作,如果成功将会使第三方的ip更容易集成到systemc环境中。ocpip是一个工业界的联盟,致力于创建一种通用的ip接口。现在已经有不少基于systemc的esl(electronic system level)工具和方法问世,使人们梦寐已久的系统级设计流程变成了现实。
为什么是systemc 直到几年以前,设计工程师还能用rtl来描述ic设计。但是现在的soc设计越来越复杂,并且伴随着大量的ip重用,这两个趋势促使系统设计向更抽象的方向发展。systemc使架构设计和分析成为可能,但它的能力不止这些,它还能让soc设计者在同时运行软件的条件下以较高的速度验证其设计并得到有用的分析结果来帮助改进设计。并且应用systemc还能在rtl验证时重用在系统级验证时开发的测试平台。 systemc的核心语言建立在标准c++之上,包括事件驱动的仿真内核,结构化的基本元素(模块,端口,接口和信道),数据类型(整型,定点,矢量等等)以及基本的信道(signal,fifo,mutex等等)。 在核心语言之上的是一个简单的事务级传输库,它建立了事务级的接口模型。同层的还有用于生成测试平台的systemc验证库。在它们之上的则是open core protocol的应用程序接口,即为方便ip重用的片上通信标准。另外还有一些用systemc描述的工业标准总线协议,例如arm的amba,见图1。 这种层次化的结构随着systemc 2.1版本的演变而变得越来越明显,这一变化也符合osci确定的systemc语言的发展方向,即加强ip的模块化,对事务级设计和验证提供更好的支持以及解决以前版本遗留的不易用问题。 osci和systemc已经开始了向ieee提出标准的进程。ieee的systemc研究小组在2004年8月10日召开了第一次会议,标志着正式的标准化进程的开始。该小组提出了一个par(proiect authorization request)草案,送交了ieee新标准委员会并获批准。然后osci和ieee已于2004年9月18日联合宣布ieee已经开始了一个标准号为p1666的标准化工作,名字为“systemc语言参考手册”。该标准基于systemc 2.1,预计将在12到15个月完成。ieee的systemc研究小组组长,也是cadence公司的语言标准组的总监victorberman先生说:“systemc从osci到正式的ieee标准的转变反映的工业界的共识,那就是对于真正的系统设计而言,高层次的抽象必须依赖于语言和方法。” 事务级建模(tlm)的重要性 systemc 2.1最受人关注的是加强了对事务级建模的支持。无论是严格应用于架构验证而不关心与rtl验证还是为rtl验证服务的行为级参考模型,tlm都是非常重要的。 “tlm是一种抽象数据流方式,这种方式更接近于应用设计者获架构设计师的思维方式。”drew wingard先生,sonics的cto这样说。“它减少了仿真事件的数量,因此提高了仿真的速度。”coware公司的专家pascal chauvet先生也说:“tlm的关键就是只关注通信中真正想看到的信息,这样就只需要对那些在发起者和接受者交换的信息进行建模,而不象rtl一样需要在信号级建模。tlm可以是非常高层次的抽象,例如简单的读和写,也可以是较细节的,例如每拍精确(cycleaccurate),但仍然运行得比rtl快很多。” 但是隐含在tlm概念中的灵活性正像chauvet先生提到的也在设计者中产生出许多困惑。其中之一就是标准化问题,如今osci的事务级建模工作组正在进行这一工作。他们对tlm的定义是几种不同抽象层次的建模方式,覆盖了rtl之
热门点击
推荐技术资料
|
|