决断函数接收一个基类型是决断类型的一维非限定性数组值,返回一个决断类型的值。作为例子,考虑下面的类型声明;
    type Bit4 is ( X , 1 , 0 , Z );
    type Bit4_Vector is array (Integer range <>) of Bit4;
  我们可以声明一个用以决断这种类型信号的决断函数,如下所示:
    function Wired_Or(Input: Bit4_Vector) return Bit4;

  决断信号可以看作广义的线或信号在VHDL中的表示。决断函数一般是由用户写的,用以指定对信号进行决断的方法。其特点是:输入参数是一个一维非限定性数组,其元素的类型与返回类型相同。数组的范围大小即为信号源的个数。
  用这个决断函数定义决断类型,其类型为决断类型的信号即为决断信号:
    subtype Resolved_Wire is Wired_Or Bit4;
                        --决断类型,带有决断函数名的子类型定义
    signal Resolved_Signal: Resolved_Wire;  --决断信号,其类型为决断类型
  也可以将决断信号直接包含在信号声明中,即把上面的包中决断类型和决断信号的声明合在一起:
    signal Resolved_Signal: Wired_Or Bit4;