《组合电路的VHDL设计.ppt》由会员分享,可在线阅读,更多相关《组合电路的VHDL设计.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.1 四选一多路选择器及四选一多路选择器及CASE语句表述方式语句表述方式na、b、c、d:输入端口ns1、s0:通道选择控制信号ny:输出端口 电路模型电路模型 时序波形图时序波形图3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.1 四选一多路选择器及四选一多路选择器及CASE语句表述方式语句表述方式 3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.2 CASE语句语句ncase 语句属于顺序语句,因此必须放在进程语句Process中使用。nWhen条件句中的所代表的的
2、值必须在Case范围内,且数据类型匹配。n除非所有的值能完全覆盖Case语句中表达式的取值,否则必须在最末一行加上When other=,NULL表示不作任何操作。n不能重复3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.2 CASE语句语句 Case语句多条件选择值可以有4种不同的表达方式n单个普通值n数值选择范围n并列数值n混合方式 3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.2 CASE语句语句n下例给出了Case语句使用中几种容易发生的错误 n标准逻辑矢量(std_logic_vector)类型在std_logic_1164程序包
3、中的 定义语句如下:3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.3 IEEE库预定义标准逻辑位与矢量库预定义标准逻辑位与矢量n使用std_logic_vector可以表达电路中并列的多通道端口或节点或者总线。nB的数据类型被定义为一个具有8位位宽的矢量或总线端口信号。nA的数据类型为4位位宽总线,数据对象是信号Signal。nC的数据类型是bit位矢量数据类型,其每一个数据类型都是逻辑bitn无符号数据类型:3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.4 其他预定义标准数据类型其他预定义标准数据类型nVHDL综合工具匹配的扩展程序包中
4、定义了一些有用的数据类型。如Synopsys公司在IEEE库中加入的程序包std_logic_arith定义了如下数据类型:n有符号数据类型:n以上数据类型在std_logic_arith程序包中的定义语句如下:3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.5 信号定义和数据对象信号定义和数据对象 3.3.6 并置操作符并置操作符 n数据对象有三类:信号(signal)、变量(variable)和常量(constant)。ne作为信号,它可以如同一根导线那样在整个结构体中传递信息,但存储或传递的数据类型(取值范围)只能包含在std_logic定义的元素中。n操作符&
5、表示将信号或是数组合并起来形成新的数据矢量。s=s1&s0相当于令 s(1)=s1;s(0)=s03.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 3.3.7 四选一多路选择器的四选一多路选择器的VHDL不同描述方式不同描述方式 n顺序语句,需要进程 语句process引导。n并行语句,无需无需进程 语句process引导。3.3 四选一多路选择器及其四选一多路选择器及其VHDL描述描述 1.WHEN_ELSE条件信号赋值语句条件信号赋值语句 n语句的一般表达式:n并行赋值语句是相对于进程语句而言的,条件测试同样具有顺序性(优先级),下例中若p1与p2同为1,则z内部元件以外需要连接的端口名或信号名注意:1)连接表达式在port map()语句内的位置是任意的;2)=连接符号不限制信号数据的流动方向(即流入或流出)n一旦位置关联例化语句关联例化语句确定后,被连接元件的源文件中的端口表内的信号位置就不能再变动了:3.4 全加器及其全加器及其VHDL表述表述 3.4.3 8位加法器设计及算术操作符应用位加法器设计及算术操作符应用 3.4 全加器及其全加器及其VHDL表述表述 3.4.3 8位加法器设计及算术操作符应用位加法器设计及算术操作符应用
限制150内