我的VHDL学习笔记(3)

  • CASE语句,属于顺序语句,因此必须放在process中使用,用法如下:

case expression is

when choice => sequential_statements      --quential_statements 顺序语句构成,语句间用;隔开。
when choice => sequential_statements
. . .

when others=>sequential_statements)   --如果有没有被列举的情况,用此语句统一处理。

end case;

注:

1.choice 必须在expression的取值范围内;

2.when条件句中,必须覆盖expression中的所有情况,如果choice中没有覆盖expression中的所有情况,则要用others关键词,涵盖剩下的所有情况再作处理;

3.expression的每个情况只能出现一次,必须且只能选中一个情况。

  • std_logic_vector         标准逻辑矢量数据类型, 为一维数组,所以要求注明其宽度,用法如下:

例如:pout : out  std_logic_vector(7downto 0) ;  --定义了一个宽度为8位的标准逻辑矢量,每一位分别为pout(7),pout(6),pout(5)... ...pout(1),pout(0).

或者signal: std_logic_vector(1 to 4 )        --4位

其中的每一位都为std_logic类型,用于表达多通道端口或节点,或者总线BUS。类似的数据类型还有bit_vector.

  • 并置操作符,表示将操作数或数组合并起来形成新的数组,用法如下:

abc<=a&b 相当于 abc(1)<=a;abc(0)<=b.    a,b可代表操作数或者数组。

  • component         元件例化语句,用于对现有的实体定义为元件为准备调用作出声明,并配合port map()(端口映射语句)以达到连接底层元件形成更高层次电路结构,用法如下:

Simplified Syntax:

architecture architecture_name of entity_name is

component component_name [ is ]

    generic (generic_list);
    port (port_list);
end component component_name;

component component_name2 [ is ]

    generic (generic_list);
    port (port_list);
end component component_name2;

...

begin

  • port map()   端口映射语句,用于说明元件与当前设计实体中元件间及接口间的连接说明,用法如下:

port map( [被例化成元件的实体中的端口名=>]当前实体中指定的端口名,...  );  --"=>"为连接符号。

注:

当前的设计实体相当于一个高一层次的电路系统,而当前设计的实体中指定的接口相当于整个电路系统上的插座,而被例化的实体形成的元件相当于要插在这些插座上的芯片。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值