复习资料:VHDL(大题).ppt

复习资料:VHDL(大题).ppt

ID:52417316

大小:184.00 KB

页数:27页

时间:2020-04-05

复习资料:VHDL(大题).ppt_第1页
复习资料:VHDL(大题).ppt_第2页
复习资料:VHDL(大题).ppt_第3页
复习资料:VHDL(大题).ppt_第4页
复习资料:VHDL(大题).ppt_第5页
资源描述:

《复习资料:VHDL(大题).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、硬件描述语言(HardwareDescriptionLanguage,HDL):即可以描述硬件电路的功能、信号连接关系及定时关系的一种语言。目前,VHDL和VerilogHDL已先后成为IEEE标准硬件描述语言。1硬件描述语言VHDL:VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuits)HardwareDescriptionLanguage,即超高速集成电路硬件描述语言。2VHDL设计文件的两个基本组成部分实体(Entity)结构体(Architecture)配置(Configuration)包集合(P

2、ackage)库(Library)一个完整的VHDL程序库用于存放已编译的实体、结构体、包集合和配置VHDL程序基本结构实体部分描述设计系统的外部接口信号(即输入/输出信号)结构体用于描述系统的内部电路配置用于从库中选取所需元件安装到设计单元的实体中包集合存放各设计模块能共享的数据类型、常数、子程序等3标识符规则是VHDL语言中符号书写的一般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。VHDL语言有两个标准版:VHDL’87版和VHDL’93版。VHDL’

3、87版的标识符语法规则经过扩展后,形成了VHDL’93版的标识符语法规则。前一部分称为短标识符,扩展部分称为扩展标识符。VHDL’93版含有短标识符和扩展标识符两部分。标识符4短标识符规则:短标识符由字母、数字以及下划线字符组成,且具有以下特征要求:●第一个字符必须是字母;●最后一个字符不能是下划线;●不允许连续两个下划线;●在标识符中大、小写字母是等效的。●VHDL中的注释文字一律为2个连续的连接线“--”,可以出现在任一语句后面,也可以出现在独立行;●VHDL的保留字(关键字)不能用于标识符;5如下标识符是非法的:_tx_clk8B10Bla

4、rge#numberlink__barselectrx_clk_例如:如下标识符是合法的:tx_clkThree_state_Enablesel7DHIT_1124--标识符必须起始于字母--只能是字母、数字、下划线--不能有连续两个下划线--关键字(保留字)不能用于标识符--最后字符不能是下划线6扩展标识符规则:扩展标识符是VHDL’93版增加的标识符书写规则:(1)扩展标识符用反斜杠来定界。例如:multi_screens,eda_centrol等都是合法的扩展标识符。(2)允许包含图形符号、空格符。例如:modeA,$100,

5、p%name等。(3)反斜杠之间的字符可以用保留字。例如:buffer,entity,end等。(4)扩展标识符的界定符两个斜杠之间可以用数字打头。如:100$,2chip,4screens等。(5)扩展标识符中允许多个下划线相连。例如:Four_screens,TWO_Computer_sharptor等。(6)扩展标识符区分大小写。例如:EDA与eda不同。(7)扩展标识符与短标识符不同。例如:COMPUTER与Computer不同。7信号和变量的主要区别:1.变量是一个局部量,只能用于进程或子

6、程序中;信号是一个全局量,它可以用来进行进程之间的通信。2.变量赋值立即生效,不存在延时行为;信号赋值具有非立即性,信号之间的传递具有延时性。4.信号赋值可以出现在进程中,也可以直接出现在结构体中,但它们的运行含义不同:前者属顺序信号赋值,此时的赋值操作要视进程是否已被启动;后者属并行信号赋值,其赋值操作是各自独立并行发生的。3.变量用作进程中暂存数据的单元;信号用作电路中的信号连线。85.在进程中变量和信号的赋值形式与操作过程不同:在变量的赋值语句中,该语句一旦被执行,其值立即被赋予变量。在执行下一条语句时,该变量的值即为上一句新赋的值。在信号

7、的赋值语句中,该语句即使被执行,其值不会使信号立即发生代入,在下一条语句执行时,仍使用原来的信号值。直到进程结束之后,所有信号赋值的实际代入才顺序进行处理。因此,实际代入过程和赋值语句的执行是分开进行的。如例a所示。9例a信号和变量值代入的区别举例PROCESS(a,b,c,d)BEGINd<=a;x<=b+d;d<=c;y<=b+d;ENDPROCESS;结果:x<=b+c;y<=b+c;PROCESS(a,b,c)VARIABLEd:std_logic_vector(3downto0);BEGINd:=a;x<=b+d;d:=c;y<=b+d

8、;ENDPROCESS;结果:x<=b+a;y<=b+c;当进程运行时,信号赋值将自上而下顺序执行,但第一项赋值操作并不会发生,这是因为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。