下面是图2.4所示的半加器的VHDL描述.
entity Half_Adder is    
--模块实体定义
    port (       
--模块端口定义
     X: in BIT;    
--端口名、输入模式、BIT类型
     Y: in BIT;
     Sum : out BIT;
     Carry : out BIT);
end Half_adder;

Architecture A1 of Half_Adder is   --模块结构体定义之1--结构描述
component XOR2            
--所用元件类型XOR2的声明,称为元件模板
    port ( I1, I2: in BIT; Out1: out BIT);
--元件端口
end component;

component AND2
--所用元件类型AND2的声明
    port ( I1, I2: BIT; Out1: out BIT);
--"in" 可以省略
end component;
begin
  A: XOR2 port map (X, Y, Sum);
--元件例化(引用):标号,模型,端口关联
  B: AND2 port map (X, Y, Carry);
--结构描述的实例
end A1;

Architecture A2 of Half_Adder is
--模块结构体定义之2--行为描述
begin
  Sum <= X xor Y after 5 ns;
--信号赋值语句--描述行为
  Carry <= X and Y after 5 ns;
--关键词After后指定延迟时间
end A2;
图2.4 半加器电路图

  在实体声明中,实体本身以及它的每个端口都以标识符命名。一个VHDL标识符是一个串,中间不含空格。它遵守以下规定:
  · 串中的每个字符可以是一个字母(a到z,A到Z)、数字(0到9),或者是下划线字符( _ )。
  · 串中第一个字符必须是字母。
  · 串中不能含有相邻的下划线符,最后一个字符不能是下划线符.
  VHDL标识符不区分大小写,一个大写字母与它相应的小写字母看作是同一个字母。
某些标识符,例如begin,end和entity,是VHDL中的关键字。VHDL的关键字有固定的含义,不能用来命名实体、信号、元件或者其它的用户定义项。
  上面的例子给出了两个结构体描述。第一个结构体A1用两个元件例化语句(即元件引用语句)描述,是一个结构描述;第二个结构体含有两个并行信号赋值语句,是一个行为描述。