Esterel技术公司将推出Esterel Studio 5.0,此工具套件可以创建该公司保证是正确的可执行规范。
Esterel Studio 5.0用于设计以控制应用为主的系统级芯片(SoC)中的关键路径,它是这种瞄准硬件设计的工具套件的第一个版本。Esterel Studio是基于Esterel语言开发的。Esterel技术公司推出的这种基于有限状态机语法的商用化语言是一种已经经过验证的同步语言,它可以在软/硬件分割之前描述系统,然后被翻译成C语言或硬件描述语言。
目前为止,Esterel语言主要被用于嵌入式软件开发。例如,Esterel技术公司的Scade工具套件在航空和汽车电子等应用中用于创建对安全至关重要的嵌入式软件。但该公司还一直在与意法半导体、TI、Xilinx和其它公司合作开发Esterel Studio,这些早期用户已经使用该软件来开发存储器和外围设备控制器、高速缓存、协议和智能卡嵌入式应用。
Esterel Studio 5.0是基于Esterel V.7,该最新版的语言增加了对硬件设计的支持,Esterel技术公司首席科学家Gerard Berry表示。据这位Esterel语言的创作者透露,Esterel与英特尔合作在语言中增加了对数据路径、模块接口和硬件信号类型的支持,虽然语义上“特别严格的定义”没有改变。
Esterel Studio 5.0允许用户创建一个设计规范的“黄金参考模型”,并运行仿真和形式验证,然后自动生成C/ C++、Verilog或VHDL。该工具套件适用于关键路径的设计,而不适于完整的SoC设计,Berry指出。
即使业界已有SystemC系统级设计语言,Berry相信设计师仍需要Esterel等专有语言,因为SystemC和Esterel提供了不同的功能。SystemC擅长描述IP(知识产权)模块之间的互连,但不适合描述IP本身,原因之一是SystemC支持“软件并发性”,而Esterel V.7支持“周期级并发”,他表示。
“人们希望用Esterel创建IP,特别是以控制应用为主的IP,然后使用SystemC将这些IP连在一起,并为整个系统建模。”Berry说。
但最大的不同之处可能是Esterel语言具有基于数学的形式语义,而SystemC却没有,Berry表示。“你无需运行仿真器就能知道Esterel程序是做什么的,”他说,“程序执行的任务与它所声明的内容完全相同,这是由底层数学模型保证的。”
这种形式体系从结构方法学上确保了Esterel Studio的正确性,Berry表示。
“用户创建一个可执行的严格规范。因为从中产生的代码由结构确保了正确性,所以它可以与规范百分之百的匹配。”Esterel技术公司行销副总裁Linda Prowse-Fowler表示。
该语言的形式体系使得形式验证非常容易完成,Berry指出。事实上,Esterel Studio 5.0增加了Design Verifier,它可以保证所需的系统属性和声明能够在所有可能的情况中得到保持。Esterel Studio 5.0还增加了一个连续等效检查器。另一项新功能是工程变化命令能力,它可以跟踪Esterel源代码与产生的RTL代码之间的变化。
在Esterel Studio环境中,设计师可以使用文本或图形来捕获某个规范。下一步是动态仿真,设计师从中可以看到状态机的变化或代码的移动。紧接着是形式验证,Esterel Studio 5.0针对VHDL或Verilog协同仿真增加了一个ModelSim“网关”。
然后,用户可以为嵌入式软件自动生成C/C++,或为硬件自动生成可综合的RTL Verilog或VHDL。今年底,Esterel技术公司将提供SystemC代码生成器。
Esterel Studio不是一个完整的行为综合工具,Berry表示。例如,它不能为数据路径提供复杂的资源共享,而且只适用于同步设计。但该工具的确是专注在以控制为主的应用上,Berry强调。
Esterel Studio 5.0现在可以供货,许可费的起价为33,000美元。Esterel技术公司在美国、法国、德国和英国直接销售此工具套件,在中国则通过分销商南京华博科技有限公司进行销售。
作者:葛立伟