![2023年VHDL必须掌握的知识点和相关例题整理_第1页](http://file4.renrendoc.com/view/d09f833d5a8fb65ef2a75bad76211fba/d09f833d5a8fb65ef2a75bad76211fba1.gif)
![2023年VHDL必须掌握的知识点和相关例题整理_第2页](http://file4.renrendoc.com/view/d09f833d5a8fb65ef2a75bad76211fba/d09f833d5a8fb65ef2a75bad76211fba2.gif)
![2023年VHDL必须掌握的知识点和相关例题整理_第3页](http://file4.renrendoc.com/view/d09f833d5a8fb65ef2a75bad76211fba/d09f833d5a8fb65ef2a75bad76211fba3.gif)
![2023年VHDL必须掌握的知识点和相关例题整理_第4页](http://file4.renrendoc.com/view/d09f833d5a8fb65ef2a75bad76211fba/d09f833d5a8fb65ef2a75bad76211fba4.gif)
![2023年VHDL必须掌握的知识点和相关例题整理_第5页](http://file4.renrendoc.com/view/d09f833d5a8fb65ef2a75bad76211fba/d09f833d5a8fb65ef2a75bad76211fba5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL总复习之
必须要掌握的知识点和相关例题目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc"VHDL总复习之必须要掌握的知识点和相关例题 PAGEREF_Toc\h1HYPERLINK\l"_Toc"1.ﻩVHDL语言的基本设计实体和完整的VHDL语言程序的结构ﻩPAGEREF_Toc\h2HYPERLINK\l"_Toc"2. 进程(PROCESS)语句的结构ﻩPAGEREF_Toc\h2HYPERLINK\l"_Toc"3.ﻩVHDL语言子程序的结构ﻩPAGEREF_Toc\h2HYPERLINK\l"_Toc"(1).ﻩ过程(Procedure) PAGEREF_Toc\h2HYPERLINK\l"_Toc"(2).ﻩ函数(Function)ﻩPAGEREF_Toc\h2HYPERLINK\l"_Toc"4.ﻩ过程与函数的重要区别 PAGEREF_Toc\h3HYPERLINK6. VHDL语言中客体的概念及使用范围 PAGEREF_Toc\h3HYPERLINK\l"_Toc"7.ﻩ信号和变量的区别及作用范围ﻩPAGEREF_Toc\h3HYPERLINK\l"_Toc"8. VHDL语言的数据类型和运算操作 PAGEREF_Toc\h4HYPERLINK9.ﻩVHDL语言构造体的三种描述方式 PAGEREF_Toc\h4HYPERLINK\l"_Toc"10. COMPONENT(元件)语句和COMPONENT—INSTANT(元件例示)语句的功能和书写格式ﻩPAGEREF_Toc\h5HYPERLINK11.ﻩVHDL语言的重要描述语句的功能、使用场合和语法格式ﻩPAGEREF_Toc\h5HYPERLINK13.ﻩVHDL语言的数值类属性描述ﻩPAGEREF_Toc\h6HYPERLINK\l"_Toc"14. VHDL语言的信号属性函数 PAGEREF_Toc\h7HYPERLINK\l"_Toc"15.ﻩ数值系统的定义方法,各种状态的含义ﻩPAGEREF_Toc\h7HYPERLINK17. 仿真Δ延时引入的因素和对并发语句仿真结果的影响 PAGEREF_Toc\h8HYPERLINK18. 逻辑综合的概念与重要环节ﻩPAGEREF_Toc\h8HYPERLINK\l"_Toc"19.ﻩ运用VHDL语言和FPGA进行电路设计的重要环节 PAGEREF_Toc\h8ﻬVHDL的全称以及运用VHDL设计硬件电路所具有的特点VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage(超高速集成电路硬件描述语言)(1)设计文献齐全、方法灵活、支持广泛(2)
系统硬件描述能力强(3)
VHDL语言可以与工艺无关编程(4)VHDL语言标准、规范、易于共享和复用VHDL语言的基本设计实体和完整的VHDL语言程序的结构一个VHDL语言的基本设计实体由实体说明和构造体两个部分构成;一个完整的VHDL语言程序包含5个部分:实体、构造体、配置、包集合(程序包)和库。进程(PROCESS)语句的结构重要特点:并发语句,由敏感信号量启动;内部的语句顺序执行,进程不能嵌套。VHDL语言子程序的结构VHDL语言子程序有两种类型:过程、函数过程(Procedure)在程序包中定义的格式(用户自定义过程的设计方法):PACKAGE包集合名ISPROCEDURE过程名(参数1,参数2,…)END包集合名;PACKAGEBODY包集合名ISPROCEDURE过程名(参数1,参数2,…)IS[定义语句]BEGIN[顺序解决语句];END[过程名];END包集合名;过程调用的方法:过程名(参数1,参数2,…);过程调用语句属于并发语句。函数(Function)在程序包中定义的格式(用户自定义函数的设计方法):PACKAGE包集合名ISFUNCTION函数名(参数1,参数2,…)RETURN数据类型名END包集合名;PACKAGEBODY包集合名ISFUNCTION函数名(参数1,参数2,…)RETURN数据类型名IS[(变量)定义语句]BEGIN[顺序解决语句];RETURN[变量名];END[函数名];END包集合名;函数调用的方法:出现于语句的表达式中。过程与函数的重要区别函数只包具有输入参数,只有一个返回值;过程即包具有输入参数,也包含输出参数或输入输出参数,可以有多个返回值,这些返回值通过过程中定义的输出参数带回。进程和子程序中使用的语句进程中和子程序的所有语句按顺序执行,只能使用顺序描述语句。VHDL语言中客体的概念及使用范围VHDL语言中可以赋予一个值的对象称为客体;客体重要涉及三种:信号、常数、变量;信号和常数为全局量,变量为局部量。信号和变量的区别及作用范围信号和变量值的代入不仅形式不同,并且操作过程也不相同。变量的赋值使用赋值符“:=”,信号的代入使用代入符“:=”。变量的赋值在赋值语句执行时立即生效,信号的代入在代入语句执行时并不立即发生,代入语句的解决和实际的代入过程是分开进行的。实际的代入过程在进程(PROCESS)或子程序(SUBPROGRAM)语句执行完毕时发生,与代入语句的解决存在延时。变量是局部量,作用范围是进程和子程序;信号是全局量,作用范围是构造体、实体和程序包。例:ARCHITECTUREbehaveOFxinhaoIS……………P1:PROCESS(A,B,C,D)BEGINﻩD<=A;X<=B+D;D<=C;Y<=B+D;ENDPROCESS;---------------------------ARCHITECTUREbehaveOFxinhao_bianliangIS…………P2:PROCESS(A,B,C)VARIABLED:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN D:=A;X<=B+D;D:=C;Y<=A+D;ENDPROCESS;P1的运营结果:X<=B+C,Y<=B+CP2的运营结果:X<=B+A,Y<=B+CVHDL语言的数据类型和运算操作1)VHDL语言具有十种标准的数据类型2)用户定义的数据类型涉及枚举类型、数组类型、记录类型等枚举数据类型的定义方法:TYPE数据类型名IS(元素,元素,…)3)VHDL语言共有4类运算操作:逻辑运算(Logical)关系运算(Relational)算术运算(Arithmetic)并置运算(Concatenation)VHDL语言构造体的三种描述方式行为描述方式寄存器传输(数据流)描述方式结构化描述方式COMPONENT(元件)语句和COMPONENT—INSTANT(元件例示)语句的功能和书写格式元件语句是最基本的描述语句,在构造体中用来(说明)调用已设计好的逻辑描述模块[即元件(COMPONENT)];COMPONENT元件名GENERIC说明;PORT说明;ENDCOMPONENT;元件例示语句是在构造体的结构描述中不可缺少的一个基本语句,该语句将现成元件的端口信号映射成高层次设计电路中的信号,用来在构造体中产生一个现成元件的实例。标号名:元件名GENERICMAP(参数,参数,…)PORTMAP(信号,信号,…);VHDL语言的重要描述语句的功能、使用场合和语法格式(1)重要的并发语句•进程•信号代入语句•过程调用语句•块语句•元件例示语句(ComponentInstant)•生成语句(Generate)(2)重要的顺序语句•WAIT语句•信号代入语句•变量赋值语句•IF语句•CASE语句•循环语句(FOR循环,WHILE循环)[注意:GENERATE(生成)语句和COMPONENT—INSTANT(元件例示)语句是并发语句]例:八位行波计数器的设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);ENDdffr;ARCHITECTUREoneOFdffrISSIGNALqin:STD_LOGIC;BEGINq<=qin;qb<=NOTqin;PROCESS(clk,clr)BEGINIFclr='1'THENqin<='0';ELSIFclk'EVENTANDclk='1'THENqin<=d;ENDIF;ENDPROCESS;ENDone;ENTITYrplcontISPORT(clk,clr:INSTD_LOGIC;count:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDrplcont;ARCHITECTUREoneOFrplcontISSIGNALcntints:STD_LOGIC_VECTOR(8DOWNTO0);COMPONENTdffrISPORT(clk,clr,d:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);ENDCOMPONENT;BEGINcntints(0)<=clk;g1:FORiIN0TO7GENERATEdffx:dffrPORTMAP(clk=>cntints(i),clr=>clr,d=>cntints(i+1),q=>count(i),qb=>cntints(i+1));ENDGENERATE;ENDone;VHDL语言的命名规则注意:名字的最前面应当是英文字母,不能连续使用下划线‘_’,名字的最后也不能使用‘_’。VHDL语言的数值类属性描述数值类属性用来得到数组、一般数据或程序块的有关值。例:•T'LEFT得到数值类或子类区间的最左端的值•T'RIGHT得到数值类或子类区间的最右端的值•T'HIGH得到数值类或子类区间的高端值•T'LOW得到数值类或子类区间的低端值VHDL语言的信号属性函数此类描述函数用于获得信号的行为信息。例:•s'EVENT假如事件发生,则返回“真”值,否则返回“假”值。•s'LAST_EVENT返回从前一个事件发生到现在所经历的时间值。•s'LAST_VALUE返回信号最后一次改变以前的值。数值系统的定义方法,各种状态的含义例:九态数值系统由三种强度值和三种逻辑值组成:强度值:Z--高阻强度,R--电阻强度,F--强强度逻辑值:0--逻辑“0”,1--逻辑“0”,X--逻辑“X”即:Z0,Z1,ZX,R0,R1,RX,F0,F1,FX可用枚举数据类型加以定义:例:四态数值系统的定义TYPEfourstateIS(‘X’,‘0’,‘1’,‘Z’);采用有限状态机进行电路设计的基本方法有限状态机分为两类:Moore型输出信号仅与当前状态有关Mealy型-输出信号不仅与当前状态有关,还与所有的输入信号有关为了使综合工具可以将一个完整的VHDL源代码辨认为有限状态机,必须还要遵循一定的描述规则规定,一个有限状态机的描述应当涉及以下内容:◆至少涉及一个状态信号,它们用来指定有限状态机状态。◆状态转移指定和输出指定,它们相应于控制步的转移条件。◆时钟信号,它是用来进行同步的。◆同步或异步复位信号。描述方法:(1)三进程描述1.状态逻辑描述;2.状态寄存器描述;3.输出逻辑描述。(2)双进程描述1.一个进程描述三个中的任何两个;2.此外一个用一个进程(3)单进程描述状态逻辑,状态寄存器,输出逻辑描述合用一个进程。状态机中的状态可用枚举数据类型数据进行定义。仿真Δ延时引入的因素和对并发语句仿真结果的影响用软件平台进行仿真,事实上对VHDL的“并发语句”也只能逐条地加以执行(解决),为了使语句的执行与硬件动作的结果一致,而与语句的顺序无关,就必须引入Δ延时,这样,软件就可按照电路的实际结构拟定仿真顺序,仿真也就真实地模拟了硬件的动作,并且其仿真结果与语句的顺序无关。因此,在进行VHDL程序设计时,对于构造体中的并发语句,设计者可以完全不考虑语句的顺序。逻辑综合的概念与重要环节逻辑综合就是将较高抽象层次的描述转换为较低抽象层次的描述一种方法(或者说过程)。就现有的逻辑综合工具而言,所谓就是将RTL级的描述转换为门级网表的过程。重要环节如下:1.RTL描述转换为非优化的布尔等式描述2.布尔等式优化3.门级网表映射运用VHDL语言和FPGA进行电路设计的重要环节VHDL程序设计VHDL程序编译VHDL程序仿真生成网表文献(含器件选择、端口分派,第二次编译)下载FPGA器件例:1-365进制计数器(计数器结果由三个4位二进制数输出,且计数器由时钟的上升沿触发,计数器满时输出进位(溢出)脉冲,重新计数。)[计数范围:0-364,或1-365均可]LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYbcd365countISPORT(clk,clr:INSTD_LOGIC;bcd1n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);bcd10n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);bcd100n:OUTSTD_LOGIC_VECTOR(3DOWNTO0);co:OUTSTD_LOGIC:='0');ENDbcd365count;ARCHITECTUREoneOFbcd365countISSIGNALbcd1ns,bcd10ns,bcd100ns:STD_LOGIC_VECTOR(3DOWNTO0);gp:PROCESS(clk,clr)BEGINIFclr='0'THENbcd1ns<="0001";ELSIF(clk'EVENTANDclk='1')THENIF(bcd100ns=3ANDbcd10ns=6ANDbcd1ns=5)THENbcd1ns<="0001";ELSIFbcd1ns=9THENbcd1ns<="0000";ELSEﻩbcd1ns<=bcd1ns+1;ENDIF;ENDIF;ENDPROCESS;sp:PROCESS(clk,clr)BEGINIFclr='0'THENbcd10ns<="0000";ELSIF(clk'EVENTANDclk='1')THENIF(bcd100ns=3ANDbcd10ns=6ANDbcd1ns=5)OR(bcd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《食品冷加工与设备》课件
- 《浙江水专土木系》课件
- 《抗心律失常药》课件
- 《质膜及其表面结构》课件
- 游戏业新员工训练模板
- 联谊会申请书
- 如何找到近三年的参考文献
- 2024-2025人教版初中七下数学湖北专版9.2.2第1课时-由图形的平移判断点的坐标变化【课件】
- 抵押贷款申请书
- 外语学术研究应关注应用
- 档案管理培训
- 私密品牌年度规划
- 《向量共线定理》同步课件
- 小学数学学习经验交流课件
- 信永中和在线测评85题
- DB41-T 2704-2024 森林抚育技术规程
- 2020-2021学年浙江省金华市东阳市七年级(下)期末数学试卷(附答案详解)
- 苏教版小学语文上册教学研究论文
- 片状锌粉行业分析!中国片状锌粉行业市场发展前景研究报告(2024版)
- 2024至2030年中国中水回用行业发展监测及投资战略规划报告
- NB/T 11430-2023煤矿TBM掘进施工工艺要求
评论
0/150
提交评论