电子设计工程师在设计过程中不可避免地会遇到设计可执行特殊操作序列电路的工作,如用来控制其他电路进行操作的控制器,而有限状态机(Finite Status Machine,FSM)是设计这种能执行特殊操作序列电路的一种非常有效的模型。FSM的结构通常由当前状态寄存器、下一状态逻辑和输出逻辑三部分构成。FSM也有很多种模型,本文仅以顺序状态逻辑FSM的设计为例来说明用Verilog进行集成电路设计的一般设计过程。为简单起见,本设计只设计了包含有8个状态的顺序状态逻辑FSM。8个状态分别为One、Two、ThreeA、ThreeB、ThTeeC、Dummy、Four、Five。开始状态为One,各状态之间的转换关系如图2所示。
由以上的设计过程可以看出,Verilog语言的最大特点是简洁、灵活、高效,其编程风格和C语言极其相似,所以很容易学习和掌握。同时,Verilog语言还具有底层描述方面的优势,而且其设计方法与具体工艺无关,这就使得用Verilog语言编写的功能模块具有很高的可重用性。随着集成电路的深亚微米制造技术、设计技术的迅速发展,集成电路已进入片上系统(System on a Chip,SoC)设计时代。SoC设计的最大挑战之一是IP(Intellectual Property)模块的有效使用和重用。IP模块的重用,除能缩短SoC芯片设计的时间外,还能降低设计和制造成本,提高可靠性。在SoC设计中,可重用的IP模块越多,设计过程的效率就会越高。由此可见,Verilog语言在SoC设计中可以发挥更大的作用。因此,能用Verilog语言进行电路设计是每个电子设计工程师必须掌握的基本技术。