第3章 数据选择器设计应用_第1页
第3章 数据选择器设计应用_第2页
第3章 数据选择器设计应用_第3页
第3章 数据选择器设计应用_第4页
第3章 数据选择器设计应用_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章数据选择器设计应用

《CPLD与FPGA的应用》

硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有:VHDL、VerilogHDL、ABEL、AHDL、SystemVerilog和SystemC等。其中VHDL、VerilogHDL在现在EDA设计中使用最多,也拥有几乎所有的主流EDA工具的支持。而SystemVerilog和SystemC这两种HDL语言还处于完善过程中。硬件描述语言(1)作为HDL的第一个国际标准,VHDL具有很强的可移植性。(2)具有丰富的模拟仿真语句和库函数,随时可对设计进行仿真模拟,因而能将设计中的错误消除在电路系统装配之前,在设计早期就能检查设计系统功能的可行性,有很强的预测能力。(3)VHDL有良好的可读性,接近高级语言,容易理解。(4)系统设计与硬件结构无关,方便了工艺的转换,也不会因工艺变化而使描述过时。(5)支持模块化设计,可将大规模设计项目分解成若干个小项目,还可以把已有的设计项目作为一个模块调用。(6)对于用VHDL完成的一个确定设计,可以利用EDA工具进行逻辑综合和优化,并能自动地把VHDL描述转变成门电路级网表文件。(7)设计灵活,修改方便,同时也便于设计结果的交流、保存和重用,产品开发速度快,成本低。VHDL语言特点【例3-1】用VHDL设计一个非门(反相器)。非门即y=y,设反相器的VHDL的文件名是not1.vhd,其中的.vhd是VHDL程序文件的扩展名。程序结构如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYnot1ISPORT(a:INBIT;y:OUTBIT);ENDnot1;ARCHITECTUREbehaveOFnot1ISBEGINy<=NOTa;ENDARCHITECTUREbehave;库和程序包实体结构体

多路选择器的VHDL描述

多路选择器的VHDL描述

mux21a实体

mux21a结构体

多路选择器的VHDL描述

多路选择器的VHDL描述

【例

】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINy<=aWHENs='0'ELSEb;ENDARCHITECTUREone;逻辑意义描述

多路选择器的VHDL描述

多路选择器的VHDL描述

【例】ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREone;

逻辑门关系描述de定义信号d、e

多路选择器的VHDL描述

多路选择器的VHDL描述

【例

】ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs='0'THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;

IF语句须有进程

IF语句描述

多路选择器的VHDL描述

多路选择器的VHDL描述

mux21a功能时序波形

多路选择器的VHDL描述

语句结构和语法说明

1.实体表达ENTITYe_nameISPORT(p_name:port_m

data_type;...

p_namei:port_mi

data_type);ENDENTITYe_name;2.实体名3.端口语句和端口信号名

4.端口模式

5.数据类型

数据类型说明整数(Integer)范围:32位,-2147483647-2147483646实数(Real)-1.0E+38—1.0E+38位(Bit)“1”或“0”两种逻辑值位矢量(Bit_Vector)用“”括起来的一组位数据。“0010”X“110A”布尔量(Boolean)TRUE,FALSE字符(Character)用‘’括起来的ASCII码。‘B’,‘’字符串(String)用“”括起来的字符序列“”时间(Time)由整数与单位组成。20us错误等级(SeverityLevel)仿真提示(NOTE,WARNING,ERROR,FAILURE)≥0的整数(Natuer)正整数(Positive)

数据类型

多路选择器的VHDL描述

结构体表达

【例】ARCHITECTUREarch_nameOFe_nameIS[说明语句]BEGIN(功能描述语句)ENDARCHITECTUREarch_name

;实体名结构体名[说明语句]包括在结构体中,用以说明和定义数据对象、数据类型、元件调用声明等等。[说明语句]并非是必须的(功能描述语句)则不同,结构体中必须给出相应的电路功能描述语句,可以是并行语句,顺序语句或它们的混合。

多路选择器的VHDL描述

赋值符号和数据比较符号

赋值符号表达式y<=a表示输入端口a的数据向输出端口y传输;但也可以解释为信号a向信号y赋值。VHDL要求赋值符“<=”两边的信号的数据类型必须一致。数据比较符号s=‘0’此时=不是赋值是比较又如:IF(s1='0')AND(s2='1')OR(c<b+1)THEN..

y<=aWHENs='0'ELSEb;多路选择器的VHDL描述

IF条件语句

根据条件判断要执行的语句,有三种格式。格式1:IF条件THEN

顺序执行语句

ENDIF;执行时,先判断条件,条件成立则执行THEN后的所有顺序语句,条件不成立,则执行ENDIF后的语句。如:D锁存器,IF(g=‘1’)THENq<=d;ENDIF;则g=‘1’时,数据从d输入,从q输出,当g≠‘1’时,q保持不变多路选择器的VHDL描述

IF条件语句

格式2:IF条件THEN

顺序执行语句

ELSE

顺序执行语句

ENDIF;执行时,先判断条件,条件成立则执行THEN与ELSE之间的所有顺序语句,条件不成立,则执行ELSE后的语句。IF(a='1'ANDb='1')THEN

c<='1';ENDIF;IF(a='1'ANDb='1')THENc<='1';

ELSE

c<=‘0’;ENDIF;增加ELSE语句,则当条件不满足时,c<=‘0’,则当执行过a=1且b=1,输出c=1后,输出会变化,成为与关系。多路选择器的VHDL描述

IF条件语句

格式3:IF条件1THEN

顺序执行语句

ELSIF条件2THEN

顺序执行语句

……ELSIF条件n

THEN

顺序执行语句

ELSE

顺序执行语句

ENDIF;执行时,逐级判断条件,某个条件成立则执行后跟的所有顺序语句,所有条件不成立,则执行ELSE后的语句。ELSIF不是ELSEIF多路选择器的VHDL描述

WHEN_ELSE条件信号赋值语句

z<=aWHENp1='1'ELSEbWHENp2='1'ELSEc;

格式:目的信号量<=表达式1WHEN

条件1

ELSE表达式2WHEN

条件2

······

ELSE表达式n例:CO<=‘1’WHENA=“1111”ELSE‘0’;最高赋值优先级Z为a,非b多路选择器的VHDL描述

进程语句和顺序语句【例】ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论