明导资讯公司去年推出Catapult C综合工具时宣布支持ANSI C++,但避开了SystemC。不过,最近该公司宣布,Catapult C现在可以生成用于验证的SystemC模型和事务处理器(transactor)。
“SystemC是一种很好的建模语言和验证环境,我们希望能充分利用它的优势。”明导公司高级综合产品经理Shawn McCloud表示。据称,Catapult目前生成的周期精确模型(cycle-accurate)、事务级SystemC模型的速度要比HDL仿真快50倍,而计划今年晚些时候推出的定时事务级模型速度更要快100倍。href="/ARTICLES/2005JUL/A/0507A_DA_S3F1.JPG" target="_blank">
图1:明导综合工具可生成
SystemC模型(点击放大图)
不过明导公司的策略仍然是综合到SystemC,而不是从SystemC综合。McCloud指出,使用SystemC综合工具的大多数用户开始时都是在相当低的抽象级别使用事务级模型,而Catapult一开始就使用纯ANSI C++,它兼容SystemC数据类型和明导公司自已定义的数据类型。从这点上讲,Catapult是从SystemC的算法级进行综合。
事实上,SystemC模型有5个抽象层次,McCloud指出,它们分别是算法、不定时的事务级、定时的事务级、周期精确和RTL。Catapult生成周期精确和RTL SystemC模型,还计划将支持定时的事务级模型。McCloud透露,如果用户需要的话,明导公司稍后还会开发不定时的事务级SystemC模型。
目前这些抽象层是通过人工精细调整创建的,McCloud表示,通过使该过程自动化,明导公司可以帮助用户建立在混合层抽象层运作的仿真环境,同时允许C++描述保留“金色源码(golden source)”。
除了systemC模型外,Catapult还生成“事务处理器”,即连接RTL模块和事务级模型的接口。“这些事务处理器的创建与SystemC模型自身的创建几乎一样复杂。”McCloud表示。
而且,Catapult还能创建SystemC打包器,可将序列测试平台连接到事务级模型。Catapult能够生成自动比较C++输入与RTL输出的测试平台,并在仿真不匹配时提供调试信息。
但存在一个问题,即如何验证事务级SystemC模型在功能上是否等效于最终的VHDL或Verilog RTL模型?一种可能性是通过仿真进行比较,McCloud指出。Calypto设计系统公司发布的序列等效检查器是一个“非常吸引人的概念”,他补充道。
目前Catapult声称已拥有30多个用户,包括阿尔卡特、爱立信、诺基亚、西门子和意法半导体。产品价格范围从89,000美元到275,000美元。
作者:葛立伟
京公网安备 11011202001138号
