《第3章数据选择器设计应用优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章数据选择器设计应用优秀PPT.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 数据选择器设计应用现在学习的是第1页,共18页 硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有:VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC等。其中VHDL、VerilogHDL在现在EDA设计中使用最多,也拥有几乎所有的主流EDA工具的支持。而SystemVerilog和SystemC这两种HDL语言还处于完善过程中。硬件描述语言现在学习的是第2页,共18页o(1)作为HDL的第一个国际标准,VHDL具有很强的可移植性。o(2)具有丰富的模拟仿真语句和库函数,随时可对设计进行仿真模拟,因而能将设计中的错误消除在电路
2、系统装配之前,在设计早期就能检查设计系统功能的可行性,有很强的预测能力。o(3)VHDL有良好的可读性,接近高级语言,容易理解。o(4)系统设计与硬件结构无关,方便了工艺的转换,也不会因工艺变化而使描述过时。o(5)支持模块化设计,可将大规模设计项目分解成若干个小项目,还可以把已有的设计项目作为一个模块调用。o(6)对于用VHDL完成的一个确定设计,可以利用EDA工具进行逻辑综合和优化,并能自动地把VHDL描述转变成门电路级网表文件。o(7)设计灵活,修改方便,同时也便于设计结果的交流、保存和重用,产品开发速度快,成本低。VHDL语言特点现在学习的是第3页,共18页o【例3-1】用VHDL设计
3、一个非门(反相器)。o非门即y=y,设反相器的VHDL的文件名是not1.vhd,其中的.vhd是VHDL程序文件的扩展名。程序结构如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY not1 IS PORT(a:IN BIT;y:OUT BIT);END not1;ARCHITECTURE behave OF not1 IS BEGIN y=NOT a;END ARCHITECTURE behave;库和程序包库和程序包实体实体结构体结构体现在学习的是第4页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 多路选择器的多路选择器的
4、VHDLVHDL描述描述 mux21a实体实体 mux21a结构体结构体 现在学习的是第5页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 多路选择器的多路选择器的VHDLVHDL描述描述 【例【例】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b ;END ARCHITECTURE one;逻辑意义描述现在学习的是第6页,共18页 多路选择器的多路选择器的VHDLVHDL描述描
5、述 多路选择器的多路选择器的VHDLVHDL描述描述 【例】【例】ARCHITECTURE one OF mux21a IS SIGNAL d,e:BIT;BEGIN d=a AND(NOT S);e=b AND s;y=d OR e ;END ARCHITECTURE one;逻辑门关系描述de定义信号d、e现在学习的是第7页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 多路选择器的多路选择器的VHDLVHDL描述描述 【例【例】ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;EL
6、SE y=b;END IF;END PROCESS;END ARCHITECTURE one;IF语句须有进程 IF语句描述现在学习的是第8页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 多路选择器的多路选择器的VHDLVHDL描述描述 mux21a功能时序波形功能时序波形 现在学习的是第9页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 语句结构和语法说明语句结构和语法说明 1.实体表达实体表达 ENTITY e_name IS PORT(p_name:port_m data_type;.p_namei:port_mi data_type);END ENTITY
7、 e_name;2.实体名实体名 3.端口语句和端口信号名端口语句和端口信号名 4.端口模式端口模式 5.数据类型数据类型 现在学习的是第10页,共18页 数据类型 说 明整数(Integer)范围:32位,-2147483647-2147483646实数(Real)-1.0E+381.0E+38位(Bit)“1”或“0”两种逻辑值位矢量(Bit_Vector)用“”括起来的一组位数据。“0010”X“110A”布尔量(Boolean)TRUE,FALSE字符(Character)用 括起来的ASCII码。B,字符串(String)用“”括起来的字符序列 “”时间(Time)由整数与单位组成。
8、20us错误等级(Severity Level)仿真提示(NOTE,WARNING,ERROR,FAILURE)0的整数(Natuer)正整数(Positive)数据类型现在学习的是第11页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 结构体表达结构体表达【例】【例】ARCHITECTURE arch_name OF e_name IS 说明语句说明语句BEGIN (功能描述语句功能描述语句)END ARCHITECTURE arch_name;实体名实体名 结构体名结构体名 说明语句包括在结构体中,用以说明和定义数据对象、数据类型、元件调用声明等等。说明语句并非是必须的(功能
9、描述语句)则不同,结构体中必须给出相应的电路功能描述语句,可以是并行语句,顺序语句或它们的混合。现在学习的是第12页,共18页 多路选择器的多路选择器的VHDLVHDL描述描述 赋值符号和数据比较符号赋值符号和数据比较符号 赋值符号赋值符号表达式表达式y=a表示输入端口表示输入端口a的数据向输出端口的数据向输出端口y传输;但也可以解释为信号传输;但也可以解释为信号a向向信号信号y赋值。赋值。VHDL要求赋值符要求赋值符“=”两边的信号的数据类型必须一致。两边的信号的数据类型必须一致。数据比较符号数据比较符号s=0 此时此时=不是赋值是比较不是赋值是比较又如又如:IF(s1=0)AND(s2=1
10、)OR(cb+1)THEN.y=a WHEN s=0 ELSE b ;现在学习的是第13页,共18页多路选择器的多路选择器的VHDLVHDL描述描述 IF条件语句条件语句 o根据条件判断要执行的语句,有三种格式。o格式1:IF 条件 THENo 顺序执行语句o END IF;o执行时,先判断条件,条件成立则执行THEN后的所有顺序语句,条件不成立,则执行END IF后的语句。o如:锁存器,IF (g=1)THENo q=d;o END IF;o则g=1时,数据从d输入,从q输出,当g1时,q保持不变现在学习的是第14页,共18页多路选择器的多路选择器的VHDLVHDL描述描述 IF条件语句条件
11、语句 o格式:IF 条件 THENo 顺序执行语句oELSEo 顺序执行语句 oEND IF;o执行时,先判断条件,条件成立则执行THEN与ELSE之间的所有顺序语句,条件不成立,则执行ELSE后的语句。IF(a=1 AND b=1)THEN c=1;END IF;IF(a=1 AND b=1)THEN c=1;ELSE c=0;END IF;增加ELSE语句,则当条件不满足时,c=,则当执行过a=1且b=1,输出c=1后,输出会变化,成为与关系与关系。现在学习的是第15页,共18页多路选择器的多路选择器的VHDLVHDL描述描述 IF条件语句条件语句 o格式:IF 条件 THENo 顺序执行
12、语句oELSIF 条件THENo 顺序执行语句 o o ELSIF 条件nTHENo 顺序执行语句o ELSEo 顺序执行语句oEND IF;o执行时,逐级判断条件,某个条件成立则执行后跟的所有顺序语句,所有条件不成立,则执行ELSE后的语句。ELSIF不是ELSEIF现在学习的是第16页,共18页多路选择器的多路选择器的VHDLVHDL描述描述 WHEN_ELSE条件信号赋值语句条件信号赋值语句 z =a WHEN p1=1 ELSE b WHEN p2=1 ELSE c ;w格式:目的信号量=表达式1 WHEN 条件1w ELSE 表达式2 WHEN 条件2w w ELSE 表达式nn例:
13、CO=1 WHEN A=“1111”ELSE 0;最高赋值优先级Z为a,非b 现在学习的是第17页,共18页多路选择器的多路选择器的VHDLVHDL描述描述 进程语句和顺序语句进程语句和顺序语句【例】【例】ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE one;在VHDL中,所有合法的顺序描述语句都必须放在进程语句中。PROCESS旁的(a,b,s)称为进程的敏感信号表,通常要求将进程中所有的输入信号都放在敏感信号表中。当某一敏感信号有变化,启动进程,执行进程语句,然后进入等待状态,直到下一次启动。现在学习的是第18页,共18页