摘 要: 硬件描述语言已成为当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用.本文利用硬件描述语言中的工业标准语言VHDL,设计了一个空调机控制器电路,并通过仿真实现了预定功能.结果表明,VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点.
关键词:VHDL;电子设计自动化;空调机控制器
近年来,随着计算机技术和半导体技术的发展,传统的硬件电路设计方法已大大落后于当今技术的发展.一种崭新的、采用硬件描述语言的硬件电路设计方法已经兴起,硬件描述语言是电子设计自动化(EDA)领域的一次重大变革.目前,广泛使用的硬件描述语言有VHDL(V ery High Speed Integrated Circuit Hardware Description Language)[1]和Ve rilog HDL,它们先后被批准为国际标准语言.
利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统.然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表.接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具 [2~3],把网表转换为要实现的具体电路布线结构.目前,这种高层次设计(highlevELDesign)的方法已被广泛采用[4].据统计,目前在美国硅谷约有90%以上的ASI C和FPGA采用硬件描述语言进行设计.VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心.
笔者以Max+plus Ⅱ软件作为平台的一个空调机控制器的设计为例,谈谈VHDL在数字电路设计中的具体应用.
1 VHDL的特点
VHDL语言主要用于描述数字系统的结构、行为、功能和接口,与其他硬件描述语言相比,VH DL语言有如下优越之处:① VHDL语言支持自上而下(Top Down)和基于库(LibraryBase )的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计;② VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用,还可以自定义数据 类型,给编程人员带来较大的自由和方便;③VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么;④VHDL具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验;⑤ VHDL语言可以与工艺无关编程;⑥ VHDL语言标准、规范,易于共享和复用.
2 VHDL的应用实例
实现一个控制器,常用有限状态机方法实现.传统的设计方法主要包括5个过程:确定原始 状态图,状态简化,状态编码,触发器类型的选择及控制逻辑方程和输出方程的确定,画出电路原理图.采用这种方法设计复杂状态机将会十分繁杂.
利用VHDL来设计有限状态机,可以充分发挥硬件描述语言的抽象能力,进行功能描述,而具体的逻辑化简和电路设计可由计算机自动完成,从而提高了设计的工作效率,并且条理清晰,修改起来也更方便,所以很适合复杂时序电路的设计.
应用VHDL设计状态机的步骤如下:
① 根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转 移图;② 按照状态转移图编写有限状态机的VHDL程序;③ 利用EDA工具进行功能仿真验证;④ 编程下载.
2.1空调机控制器的设计
空调机控制器原理如图1所示,它的两个输入来自温度传感器,用于监测室内温度.如果室 内温度正常,则temp-high和temp-low均为'0';如果室内温度过高,则temp-high为'1',temp-low为'0';如果室内温度过低,则temp-high为'0',temp-low为'1'.根据temp-high和temp-low的值来决定当前的工作状态,并给出相应的制冷(coo l)和制热(heat)输出信号.
根据以上描述,空调机控制器的状态转移如图2所示.其中:
S0--空调机待机状态;
S1--空调机制冷状态;
S2--空调机制热状态;
①--temp-high和temp-low均为'0';
②--temp-low为'1';
③--temp-high为'1';
④--reset为'1'.
按照上述状态转移图编写VHDL程序, 编程中采用case语句来描述状态的改变,它具有直观、条理清晰及易于修改等特点. 也可以采用不同进程来实现状态的改变,所以编程方法多种.
2.2 功能仿真
利用Max+plusⅡ软件工具对所编程序进行编译、仿真.仿真结果如图3所示,当temp-low 为"1",即温度过低,则heat为"1"(制热);当temp-high为"1",即温度过高,则 cool为"1" (制冷).经综合后的仿真分析表明,该方案是合理可行的.通过仿真后,即可编程下载.
3 结 论
通过对空调器控制器电路的VHDL的仿真实现,表明VHDL在数字电子电路的设计中具有硬件 描述能力强、设计方法灵活、易于修改等特点.随着集成电路技术的高速发展,数字系统迅速朝着更高集成度、超小型化、高性能、高可靠性和低功耗的系统级芯片(SoC,System on Chip)方向发展,从而使可编程ASIC的设计逐步向高层设计转移.作为一种重要的高层次设计技术,VHDL已成为当代电子设计师设计数字硬件时必须掌握的一种方法.