行为电路设计就是描述在不同时刻,不同输入值情况下,电路输出是如何动作的。单纯的行为描述是不含有任何关于电路如何搭建的信息-而这些信息可以根据前面的设计规则从电路描述中推断出来。比如,看下面的用VHDL语法写的行为描述:GT<='1' if A>B else '0'。GT(“超过”)输出可以是在软件控制下做比较运算的处理器电路中,也可以是“借用”在硬件减法电路中,还可以是在用户自定义的逻辑电路中。任何搭建的方法都会满足VHDL描述中的行为要求。
一个结构电路描述在本质上就是一个计划,处方,或是电路该如何搭建的蓝图,并且在电路搭建之间要创建出来。在其最细节、最基本的描述中,结构描述中是不含有任何关于电路怎样行为的信息的。看如图所示的结构电路描述(原理图)。要想发现该电路高级别的行为特性(假设没有前面的设计知识),就需要对细节进行分析并花费大量的时间。但是它的行为可以用相当简洁的方式写出:如果4-比特输入数A小于B,那么LT有效;如果A大于B,那么GT有效。

HDL源文件可以用行为描述方法或结构描述方法来描述电路(或更通用的,使用混合的两种方法)。在任何情况下,在电路搭建之前,必须要将HDL源文件综合为结构描述。当综合行为电路后,综合器会在产生的大量临时电路中,根据大量的规则要求试图查找出符合行为描述的结构电路。在产生基于规则的方案时,由于变量的特性,综合过程会产生不同的可选择的结构电路。但是当综合结构描述后,综合器的工作就很直观了,只有相当少的规则和推论。加速综合产生的结构电路会非常接近原结构描述。正因为如此,很多设计者都愿意用“极大相似结构”的方法,尽管这方法与VHDL的本质优势方法有差别。
一般来说,与使用结构描述方法相比,使用行为描述方法来描述给定的电路可以更简单、更省时。行为描述可以让工程师集中精力在高级别的设计考虑上,而不是花费在细节或电路搭建上。但是由于行为描述方法能够让工程师更快的设计出更复杂的系统,它们就不能再让工程师控制最终电路的结构了。综合器使用的规则必须要适用于大部分的电路,但这样对于某些特殊电路就不能优化了。某些情况下,工程师会更多的控制他们设计的电路的最终结构。这样的话,结构描述方法就更加适用了。通常,工程师都用行为描述来设计电路,这样他们可以方便的研究电路以及其可能的改变。然后,一旦设计方案定下来了,电路设计要以结构描述的形式重新编码,这样综合过程就变的更加具有预测性。结构描述读起来就像是网络表,尽管很难创建它们,但是从一个结构描述HDL源文件中可以很直观的绘制出电路。
练习1:使用WebPack工具画出下面例子中逻辑等式的原理图,然后再根据原理图创建一个结构描述VHDL源文件。打印出该原理图,并在VHDL文件中用标签标记出门电路和连接线。
HDLs编辑器使用文本编辑器来向文本文件中添加结构或行为描述,并用之代替使用图形界面向原理图中添加门电路和连接线。行为描述描述的是给电定信号赋上新值时的情况。比如,VHDL表述Y<=(A and B)or (not A and B and C) or (not A and not C),读起来就是“Y赋值等于

”,这里只描述了Y怎样动作,但却没有描述执行该操作的电路该如何搭建。结构描述使用相互连接的器件以及其信号名称来创建一个网络表(见练习1,并作为一个例子)。不管电路是用结构描述编码还是行为描述编码的,在其电路搭建前必须要进行综合,综合器会自动的最简化所有的逻辑等式。
练习2:使用WebPack工具画出上面例子中逻辑等式的原理图,先产生一个VHDL文件,然后根据VHDL列表绘制出电路。并讨论原理图与所绘制图之间的差别。