离散事件语言:SpecC、SystemC与VHDL的深入解析
在硬件设计与建模领域,离散事件语言发挥着至关重要的作用。它们能够精确地描述硬件系统的行为和结构,为硬件设计和验证提供了强大的工具。本文将深入探讨几种重要的离散事件语言,包括SpecC、SystemC和VHDL,介绍它们的特点、应用场景以及关键技术细节。
1. SpecC语言概述
SpecC语言基于C和C++语法,其通信模型通常采用消息传递,并且启发了SystemC 2.0的通信模型。选择基于C和C++语法的原因在于,如今越来越多的功能倾向于用软件实现,而C语言在这方面应用广泛。例如,嵌入式系统常实现MPEG 1/2/4等标准,或者手机标准(如GSM、UMTS或LTE)的解码器,这些标准通常以“参考实现”的形式存在,由C程序构成,虽未针对速度进行优化,但能提供所需功能。
基于特殊硬件描述语言(如VHDL或Verilog)的设计方法存在一些缺点。为了生成系统,这些标准必须被重写;同时,硬件和软件的联合仿真需要连接硬件和软件模拟器,这通常会导致仿真效率降低和用户界面不一致,而且设计师需要学习多种语言。因此,人们一直在寻找用软件语言表示硬件结构的技术。在使用软件语言对硬件进行建模之前,必须解决以下几个基本问题:
- 并发建模 :需要在软件中对硬件中的并发进行建模。
- 模拟时间表示 :要有模拟时间的表示方法。
- 多值逻辑支持 :必须支持前面所述的多值逻辑。
- 确定性仿真 :几乎所有有用的硬件电路都应能进行确定性仿真。