基于事件的Verilog结构化操作语义
【摘要】:
随着数字通信和自动化控制等领域的高速发展和世界范围的高技术竞争加剧,人们对数字系统提出了越来越高的要求。而就目前来说,数字电路设计能力远远落后于制造技术的进步。当前在数字逻辑设计领域内,硬件设计通常都是使用硬件描述语言来描述不同抽象级别的设计。为了确保开发的正确性,对硬件描述语言准确的理解是十分必要的。
Verilog是目前工业界广泛使用的一种硬件描述语言,它可以在行为和结构上对硬件进行设计和描述,但是它的形式化语义研究还不够充分,并且IEEE标准也是采用非形式化的描述方法,这就会带来诸如在不同版本的实现上运行结果不同,设计人员对程序的理解产生偏差等问题。显然目前需要给Verilog一种形式化的逻辑语义,以此来证明程序间(描述和执行结果)的等价性。从而提高所开发系统的正确性和可靠性。
形式语义学是软件工程学的基础理论之一,语言的形式语法和形式语义已成为程序设计语言的必要组成部分。操作语义学是形式语义学的一个分类,它通过语言的实现方式定义语言的语义。本文通过介绍并发模型中一个重要的分支,也是形式化方法中常用的表达工具——事件结构(Event Structures),引入标签化事件的概念,并以进程代数作为基本的数学框架,最终对Verilog的子集给出一个基于事件的结构化操作语义。