VHDL实体的端口知识
更新时间:2012/12/6 点击:1427次
1.端口名
端口名是赋于每个外部引脚的名称,名称的含义要明确,如D开头的端口名表示数据,A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。下面是合法的端口名:
CLK,RESET,A0,D3
2.模式
模式用来说明数据、信号通过该端口的传输方向。端口模式有in、out、buffer、inout。
(1)输入(in)
输入仅允许数据流入端口。输入信号的驱动源由外部向该设计实体内进行。输入模式主要用于时钟输入、控制输入(如Load、Reset、Enable、CLK)和单向的数据输入,如地址信号(address)。不用的输入一般接地,以免浮动引入干扰噪声。
(2)输出(out)
输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看作可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言,不用的输出端口不能接地,避免造成输出高电平时烧毁被设计实体。
(3)缓冲(buffer)
缓冲模式的端口与输出模式的端口类似,只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出,也能用于反馈。
缓冲端口的驱动源可以是:
设计实体的内部信号源;
其他实体的缓冲端口。
缓冲不允许多重驱动,不与其他实体的双向端口和输出端口相连。
内部反馈的实现方法有:
建立缓冲模式端口;
建立设计实体的内部节点。
缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出,计数器的现态被用来决定计数器的次态。实体既需要输出,又需要反馈,这时设计端口模式应为缓冲 模式。
(4)双向模式(inout)
双向模式可以代替输入模式、输出模式和缓冲模式。
在设计实体的数据流中,有些数据是双向的,数据可以流入该设计实体,也有数据从设计实体流出,这时需要将端口模式设计为双向端口。
双向模式的端口允许引入内部反馈,所以双向模式端口还可以作为缓冲模式用。由上述分析可见,双向端口是一个完备的端口模式。
一般而言,输入信号把端口指派成输入模式,输出信号把端口指派成输出模式,而双向数据信号,如计算机的PCI总线的地址/数据复用总线、DMA控制器数据总线,都选用端口双向模式。这一良好的设计习惯,使得从端口名称、端口模式就可一目了然地知道信号的用途、性质、来源和去向,十分方便。对一个大型设计任务,大家应协同工作,从而不至于引起歧义。
3.数据类型(types)
数据类型端口说明除了定义端口标识名称、端口定义外,还要标明出入端口的数据类型。VHDL语言的IEEE 1706/93标准规定,EDA综合工具支持的数据类型为布尔型(boolean)、位型(bit)、位矢量型(bit-vector)和整数型(integer)。
由IEEE std_logic_1164所约定的、由EDA工具支持和提供的数据类型为标准逻辑(standard logic)类型。标准逻辑类型也分为布尔型、位型、位矢量型和整数型。为了使EDA工具的仿真、综合软件能够处理这些逻辑类型,这些标准库必须在实体中声明或在USE语句中调用。
端口名是赋于每个外部引脚的名称,名称的含义要明确,如D开头的端口名表示数据,A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。下面是合法的端口名:
CLK,RESET,A0,D3
2.模式
模式用来说明数据、信号通过该端口的传输方向。端口模式有in、out、buffer、inout。
(1)输入(in)
输入仅允许数据流入端口。输入信号的驱动源由外部向该设计实体内进行。输入模式主要用于时钟输入、控制输入(如Load、Reset、Enable、CLK)和单向的数据输入,如地址信号(address)。不用的输入一般接地,以免浮动引入干扰噪声。
(2)输出(out)
输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看作可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言,不用的输出端口不能接地,避免造成输出高电平时烧毁被设计实体。
(3)缓冲(buffer)
缓冲模式的端口与输出模式的端口类似,只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出,也能用于反馈。
缓冲端口的驱动源可以是:
设计实体的内部信号源;
其他实体的缓冲端口。
缓冲不允许多重驱动,不与其他实体的双向端口和输出端口相连。
内部反馈的实现方法有:
建立缓冲模式端口;
建立设计实体的内部节点。
缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出,计数器的现态被用来决定计数器的次态。实体既需要输出,又需要反馈,这时设计端口模式应为缓冲 模式。
(4)双向模式(inout)
双向模式可以代替输入模式、输出模式和缓冲模式。
在设计实体的数据流中,有些数据是双向的,数据可以流入该设计实体,也有数据从设计实体流出,这时需要将端口模式设计为双向端口。
双向模式的端口允许引入内部反馈,所以双向模式端口还可以作为缓冲模式用。由上述分析可见,双向端口是一个完备的端口模式。
一般而言,输入信号把端口指派成输入模式,输出信号把端口指派成输出模式,而双向数据信号,如计算机的PCI总线的地址/数据复用总线、DMA控制器数据总线,都选用端口双向模式。这一良好的设计习惯,使得从端口名称、端口模式就可一目了然地知道信号的用途、性质、来源和去向,十分方便。对一个大型设计任务,大家应协同工作,从而不至于引起歧义。
3.数据类型(types)
数据类型端口说明除了定义端口标识名称、端口定义外,还要标明出入端口的数据类型。VHDL语言的IEEE 1706/93标准规定,EDA综合工具支持的数据类型为布尔型(boolean)、位型(bit)、位矢量型(bit-vector)和整数型(integer)。
由IEEE std_logic_1164所约定的、由EDA工具支持和提供的数据类型为标准逻辑(standard logic)类型。标准逻辑类型也分为布尔型、位型、位矢量型和整数型。为了使EDA工具的仿真、综合软件能够处理这些逻辑类型,这些标准库必须在实体中声明或在USE语句中调用。