实验六 二选一数据选择器的vhdl设计

上传人:mg****85 文档编号:49584607 上传时间:2018-07-31 格式:PPT 页数:36 大小:848.50KB
返回 下载 相关 举报
实验六 二选一数据选择器的vhdl设计_第1页
第1页 / 共36页
实验六 二选一数据选择器的vhdl设计_第2页
第2页 / 共36页
实验六 二选一数据选择器的vhdl设计_第3页
第3页 / 共36页
实验六 二选一数据选择器的vhdl设计_第4页
第4页 / 共36页
实验六 二选一数据选择器的vhdl设计_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《实验六 二选一数据选择器的vhdl设计》由会员分享,可在线阅读,更多相关《实验六 二选一数据选择器的vhdl设计(36页珍藏版)》请在金锄头文库上搜索。

1、1任务分析:数据选择器的功能 1知识准备:结构体、数据对象与运算符2任务实施:二选一数据选择器设计3任务五 二选一数据选择器的VHDL实现2一、任务分析:数据选择器一、任务分析:数据选择器在多路数据传送过程中,能够根据需要将其中 任意一路选出来的电路,叫做数据选择器,也称多路 选择器或多路开关。数据选择器(MUX)的逻辑功能是 在地址选择信号的控制下,从多路数据中选择一路数 据作为输出信号。因此对于一个具有2n个输入 和1个 输出的多路选择器,应有n个地址选择变量。一)一) 结构体结构体 ARCHITECTURE ARCHITECTURE 结构体名结构体名 OF OF 实体名实体名 ISIS

2、说明语句;说明语句; BEGINBEGIN 功能描述语句;功能描述语句; END ARCHITECTUREEND ARCHITECTURE 结构体名结构体名 ;功能:功能: 对数据类型、常数、信号、子程序和元件等元素的对数据类型、常数、信号、子程序和元件等元素的说明。说明。 描述实体逻辑行为。描述实体逻辑行为。二、知识准备:结构体二、知识准备:结构体, ,数据对象与运算符数据对象与运算符VHDLVHDL结构体术语结构体术语 说明语句:说明语句:用于定义结构体中所用的数据对象(常量用于定义结构体中所用的数据对象(常量 和信号)和子程序,并对所引用的元件加以说明,和信号)和子程序,并对所引用的元件

3、加以说明,但但 不能定义变量。不能定义变量。 功能描述语句:功能描述语句:有五种类型,可以把它们看成结构体有五种类型,可以把它们看成结构体的五种子结构。这五种语句结构本身是并行语句,但的五种子结构。这五种语句结构本身是并行语句,但内部可能含有并行运行的逻辑描述语句或顺序运行的内部可能含有并行运行的逻辑描述语句或顺序运行的逻辑描述语句,如进程内部包含的即为顺序语句。逻辑描述语句,如进程内部包含的即为顺序语句。 五种语句结构分别为五种语句结构分别为块语句、进程语句、信号赋值语块语句、进程语句、信号赋值语 句、子程序调用语句和元件例化语句句、子程序调用语句和元件例化语句。 结结 构构 体体 结结 构

4、构 图图由若干由若干并行执行语句并行执行语句包装在一包装在一 起形成一个子模块。起形成一个子模块。定义定义顺序语句顺序语句模块,用从外部模块,用从外部 获得的信号值,或内部的运算获得的信号值,或内部的运算 数据向其它的信号进行赋值。数据向其它的信号进行赋值。将设计实体内的处理结果向定将设计实体内的处理结果向定 义的信号或界面端口进行义的信号或界面端口进行赋值赋值用以调用用以调用过程或函数过程或函数,并将获,并将获 得的结果赋值于信号。得的结果赋值于信号。元件调用元件调用,用来调用另一个,用来调用另一个 实体所描述的电路。实体所描述的电路。结构体结构体说明语句说明语句功能描述语句功能描述语句 块

5、语句块语句进程语句进程语句信号赋值语句信号赋值语句子程序调用语句子程序调用语句 元件例化语句元件例化语句实体和结构体之间的关系实体和结构体之间的关系Input 1Input 1Input nInput nOutput 1Output 1Output nOutput n实实 体体A A B B C C D DSeSel lMUX_OutMUX_Out2 2结构体三种描述方法结构体三种描述方法行为描述行为描述(behavior (behavior process)process)数据流描述数据流描述(data flow)(data flow)结构化描述结构化描述(structure)(struct

6、ure)真值表布尔方程式逻辑电路结构体行为描述结构体行为描述行为描述是高层次描述方式行为描述是高层次描述方式( (类似于类似于真值表真值表) ), 它它只描述输入与输出之间的逻辑转换关系,而不只描述输入与输出之间的逻辑转换关系,而不 涉及具体逻辑电路结构等信息。涉及具体逻辑电路结构等信息。主要用于系统数学模型的仿真或系统工作原理主要用于系统数学模型的仿真或系统工作原理 的仿真。故其大量采用的算术运算、关系运算、的仿真。故其大量采用的算术运算、关系运算、 惯性延时、传输延时等描述方式是惯性延时、传输延时等描述方式是难于或不能进难于或不能进 行逻辑综合行逻辑综合的。的。Behavior Proce

7、ss描述architecture one of mux21 is beginy1010111011101011 结果为真)结果为真)= = 等于等于 /= /= 不等于不等于 小于小于 = = 小于或等于(也用于信号的赋值操作)小于或等于(也用于信号的赋值操作) 大于大于 = = 大于或等于大于或等于3 3、算术运算符、算术运算符+ + :加,:加,:减;:减; + + :正,:负:正,:负 * * :乘,乘, / /:除:除 ,REM REM 求余求余 , MODMOD求模:整数和实数,求模:整数和实数,ABSABS:求绝对值:求绝对值 * * 乘方:左边可以是整数或浮点数,右边必须乘方:左

8、边可以是整数或浮点数,右边必须 是整数,且只有在左边为浮点数时,右边才可是整数,且只有在左边为浮点数时,右边才可 以为负数。以为负数。uu其中取模,取余,取绝对值和乘方运算的操作数只能是其中取模,取余,取绝对值和乘方运算的操作数只能是 整型,其他的可以是整数和实数型。整型,其他的可以是整数和实数型。4 4、并置运算符、并置运算符VHDL语言中的并置运算符为“ SIGNAL data_2: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL data_3: STD_LOGIC_VECTOR(7 DOWNTO 0); data_1=“0000“; data_2=“1111“;

9、 data_3= data_1 运算后,data_3的结果为00001111。5 5、移位运算符、移位运算符SLL是将向量左移,右边移空位补0; SRL是将向量右移,左边移空位补0; SLA是将向量左移,右边第一位数值保持不变; SRA是将向量右移,左边第一位数值保持不变; ROL和ROR是自循环移位方式。移位运算符操作示意图移位运算符操作示意图移位运算符应用举例:A=“0101“; B=A SLL 1;-B=“1010“ C=A SRL 1;-C=“0010“ D=A SLA 1;-D=“1011“ E=A SRA 1;-E=“0010“ F=A ROL 1;-F=“1010“ G=A RO

10、R 1;-G=“1010“数据类型必须一致数据类型必须一致表达式中有多个运算符时一般要加括号,但表达式中有多个运算符时一般要加括号,但andand、oror等除外等除外VHDL操作符优先级6 6、运算符的优先级、运算符的优先级signal d1,d2,s : integer;signal d1,d2,s : integer;SIGNAL a SIGNAL a ,b b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) c : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL dSIGNAL d,e e,f f,g : STD_LOGIC_VECTOR

11、 (1 DOWNTO 0) g : STD_LOGIC_VECTOR (1 DOWNTO 0) ;SIGNAL hSIGNAL h,i i,j j,k : STD_LOGIC k : STD_LOGIC ;SIGNAL lSIGNAL l,m m,n n,o o,p : BOOLEAN p : BOOLEAN ;s=a and b; s=a and b; - integer - integer 不能进行逻辑运算不能进行逻辑运算a=b AND c; a=b AND c; - a- a、b b、c c的数据类型同属的数据类型同属4 4位长的位矢量位长的位矢量d=e OR f OR g ; d=e

12、OR f OR g ; - - 两个操作符两个操作符OROR相同,不需括号相同,不需括号h=(i NAND h=(i NAND j)NANDj)NAND k k ; - NAND- NAND必须加括号必须加括号l=(m XOR l=(m XOR n)AND(on)AND(o XOR p); XOR p); - - 操作符不同,必须加括号操作符不同,必须加括号h=i AND j AND k ; h=i AND j AND k ; - - 两个操作符都是两个操作符都是ANDAND,不必加括号,不必加括号h=i AND j OR k ; h=i AND j OR k ; - - 两个操作符不同,未加

13、括号,表达错误两个操作符不同,未加括号,表达错误a=b AND e ; a=b AND e ; - - 操作数操作数b b与与e e的位矢长度不一致,表达错的位矢长度不一致,表达错 误误h=i OR l ; h=i OR l ; - - 数据类型不同,表达错误。数据类型不同,表达错误。【例1】 ENTITY mux21a ISPORT( a, b : IN BIT ; s : IN BIT;y : OUT BIT ) ; END ENTITY mux21a ;ARCHITECTURE one OF mux21a ISBEGINy = a WHEN s = 0 ELSEb ; END ARCHI

14、TECTURE one ;任务实施:二选一数据选择器设计3【例2】ENTITY mux21a ISPORT ( a, b : IN BIT; s : IN BIT;y : OUT BIT );END ENTITY mux21a; ARCHITECTURE one OF mux21a ISSIGNAL d,e : BIT;BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ;END ARCHITECTURE one ;【例3】ENTITY mux21a ISPORT ( a, b : IN BIT; s : IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINy = (a AND (NOT s) OR (b AND s) ;END ARCHITECTURE one;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号