版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技电子设计及自动第四讲第1页,共35页,2022年,5月20日,20点19分,星期四本章要点 *VHDL描述语句集合的全貌建立一个清晰的概念; *对VHDL主要描述语句的作用有一个正确的认识; *建立VHDL是一种并行语言的基本概念;第2页,共35页,2022年,5月20日,20点19分,星期四VHDL主要描述语句分类VHDL的主要描述语句种类繁多,为了便于学习和理解,我们将VHDL的主要描述语句划分为:“描述功能的语句”和“描述结构的语句”两大部分,如图所示 这两大部分分别由若干语句组成第3页,共35页,2022年,5月20日,20点19分,星期四VHDL描述语句功能描述语句(Foun
2、ction)结构描述语句(Structure)并行赋值语句(Concurrent Assign)进程语句(Process)断言语句(Assert)块语句(Block)子程序(Subprogram)元件语句(Component)端口映射语句(Port Map)生成语句(Generate)参数说明语句(Generic)等待语句(Wait)顺序赋值语句(Sequent Assign)顺序控制语句(Sequent Control)IFCASELOOPFORWHILE函数(Function)过程(Procedure)最常用语句第4页,共35页,2022年,5月20日,20点19分,星期四VHDL主要描述
3、语句分类在本章中将对图中所列出的所有语句逐一进行具体介绍。如果把每一种语句比喻成一颗树,则上图给出了这些树所构成的森林的面目。由图中可以获得以下信息: 1.VHDL的主要描述语句由“描述功能的语句”和“描述结构的语句”两个部分组成 2.描述功能的语句主要有:信号赋值语句,进程语句,断言语句,子程序等;第5页,共35页,2022年,5月20日,20点19分,星期四VHDL主要描述语句分类 3.描述结构的语句主要有:component (元件),port map(端口映射),generate(生成语句),generic(参数说明语句)等; 4. 在所有VHDL语句中,描述功能的进程语句最为复杂。它
4、可以包含等待语句、顺序信号赋值语句和顺序控制语句等三部分,其中,顺序控制语句又可以包含条件语句和循环语句等5种语句。第6页,共35页,2022年,5月20日,20点19分,星期四VHDL主要描述语句分类 5. 信号的赋值可分为:进程中赋值和进程外赋值两种。进程中赋值使用顺序信号赋值语句。进程外赋值使用并行信号赋值语句。 6. if和case语句是进程语句中实现顺序控制的最常用语句。 第7页,共35页,2022年,5月20日,20点19分,星期四VHDL主要描述语句分类另外,在此需要指出两点:1. 行为级描述的VHDL程序一般不会用到描述结构的语句。2.然而除行为级描述外,RTL级和结构级描述都
5、大量使用描述功能的语句。通常情况下VHDL程序都要用到描述功能的语句。电子系统中的行为主要体现在信号的变化,组合和传输,所以一般VHDL程序都会用到描述功能的语句。所以学习的重点是描述功能的语句。第8页,共35页,2022年,5月20日,20点19分,星期四描述功能的语句信号赋值语句(Assignment)进程语句(Process)断言语句(Assert)块语句(Block)子程序(Subprogram)第9页,共35页,2022年,5月20日,20点19分,星期四对象的赋值VHDL程序中数值的载体称为对象(object)。VHDL中有四种对象:常量(constant)、变量(variable
6、)信号(signal)和文件(file)。对象赋值是电子系统的功能行为赋值语句是描述功能的语句第10页,共35页,2022年,5月20日,20点19分,星期四VHDL描述语句行为描述语句(Behaviour)结构描述语句(Structure)并行赋值语句(Concurrent Assign)进程语句(Process)断言语句(Assert)块语句(Block)子程序(Subprogram)元件语句(Component)端口映射语句(Port Map)生成语句(Generate)参数说明语句(Generic)等待语句(Wait)顺序赋值语句(Sequent Assign)顺序控制语句(Seque
7、nt Control)IFCASELOOPFORWHILE函数(Function)过程(Procedure)最常用语句第11页,共35页,2022年,5月20日,20点19分,星期四赋值符 =( )=( );1,右边信号的值传送给左边的信号;2,左右两边信号宽度必须一致;第12页,共35页,2022年,5月20日,20点19分,星期四Concurrent Assignment StatementAll the Concurrent Statement is executed in parallelConcurrent Statement does not care the position w
8、ithin the codingConcurrent Statement is : OUTPUT depends on INPUT only第13页,共35页,2022年,5月20日,20点19分,星期四Entity test1 IsPort ( a, b : in std_logic; c, d : out std_logic);end test1;architecture test1_a of test1 isbeginc = a and b;d = a or b;end test1_a;Entity test1 IsPort ( a, b : in std_logic; c, d : o
9、ut std_logic);end test1;architecture test1_a of test1 isbegind = a or b;c = a and b;end test1_a;This two excutein parallelDoes not care the position within the coding并行赋值语句(Concurrent Assignment Statement)并行赋值语句与语句出现的先后顺序无关。如下例给出的两条语句交换顺序前后等价。第14页,共35页,2022年,5月20日,20点19分,星期四C = ABD = A+Bequivalentc
10、= a and b;d = a or b;d = a or b;c = a and b;01010000100100001111两条语句交换顺序前后的仿真波形完全相同,如下图:分析真值得:并行赋值语句(Concurrent Assignment Statement)第15页,共35页,2022年,5月20日,20点19分,星期四Concurrent StatementsforCombinational Logic第16页,共35页,2022年,5月20日,20点19分,星期四Concurrent StatementsThere are several different kinds of Co
11、ncurrent Statements(1) Simple Signal Assignments (简单信号赋值)(2) Conditional Signal Assignments (条件信号赋值)(3) Selected Signal Assignments (选择信号赋值)第17页,共35页,2022年,5月20日,20点19分,星期四Putting them all together第18页,共35页,2022年,5月20日,20点19分,星期四(1) Simple Signal Assignment This kind of statements are executed in Pa
12、rallelEntity test1 isport ( a, b, e : in std_logic; c, d : out std_logic);end test1;architecture test1_body of test1 isbegin c = a and b; d = e;end test1_body;第19页,共35页,2022年,5月20日,20点19分,星期四What kind of logic supportANDNANDORNORXORNOTmore .第20页,共35页,2022年,5月20日,20点19分,星期四We want 5 Inputs AND-GateQ
13、:AND is only a two input, if I want more inputs, what can I do ?A : It is easy, we are due with Language not GraphicEntity test1 isport ( a, b, c, d, e : in std_logic; f : out bit);end test1;architecture test1_body of test1 isbegin f = a AND b AND c AND d AND e;end test1_body;第21页,共35页,2022年,5月20日,2
14、0点19分,星期四(2) Conditional Signal AssignmentsThe output get the value when the condition is truee.g. 2 to 1 multiplexerEntity test1 isport (in1, in2, sel : in std_logic; d : out std_logic);end test1;architecture test1_body of test1 isbegind = in1 WHEN sel = 0 ELSE in2;end test1_body;第22页,共35页,2022年,5月
15、20日,20点19分,星期四If we want more - 4 to 1 MuxOnce again, you are due with Language not Graphic, so it is easyEntity test1 isport (in1, in2, in3, in4 : in std_logic; sel1, sel2 : in std_logic; d : out std_logic);end test1;architecture test1_body of test1 isbegind = in1 WHEN sel1 = 0 and sel2 = 0 ELSE in
16、2 WHEN sel1 = 0 and sel2 = 1 ELSE in3 WHEN sel1 = 1 and sel2 = 0 ELSE in4;end test1_body;第23页,共35页,2022年,5月20日,20点19分,星期四(3) Select Signal AssignmentsThe output get value when matching with the selected itemEntity test1 isport (a, b: in bit; sel : in bit; c : out bit);end test1;architecture test1_bo
17、dy of test1 isbeginWITH sel SELECT c = a WHEN 1, -逗号 b WHEN 0; -分号end test1_body;第24页,共35页,2022年,5月20日,20点19分,星期四If I want more choice -It is easyEntity test1 isport (in1, in2, in3, in4 : in bit; sel : in integer; out1 : out bit);end test1;architecture test1_body of test1 isbeginwith sel select out1
18、 = in1 when 0 , in2 when 1 , in3 when 2 , in4 when 3 ;end test1_body;第25页,共35页,2022年,5月20日,20点19分,星期四ReviewConcurrent Statement forcombinational logic (without Flip-flop circuit)eg. decoder, multiplexer, multiplier, adderUnderstand the usage of the Concurrent Statementfor Combinational Logic simple
19、signal assignment statementconditional signal assignment statementselected signal assignment statement第26页,共35页,2022年,5月20日,20点19分,星期四作 业Entity MUX_8 isport (data_in: in std_logic_vector(7 downto 0); sel1, sel2, sel3 : in std_logic; d : out std_logic);end test1;提示:d=data_in(5);第27页,共35页,2022年,5月20日,
20、20点19分,星期四作 业xyZq1q20000000110101000111101011111提示:信号赋固定值 q1=0;q2=1;1第28页,共35页,2022年,5月20日,20点19分,星期四VHDL描述语句行为描述语句(Behaviour)结构描述语句(Structure)并行赋值语句(Concurrent Assign)进程语句(Process)断言语句(Assert)块语句(Block)子程序(Subprogram)元件语句(Component)端口映射语句(Port Map)生成语句(Generate)参数说明语句(Generic)等待语句(Wait)顺序赋值语句(Seque
21、nt Assign)顺序控制语句(Sequent Control)IFCASELOOPFORWHILE函数(Function)过程(Procedure)最常用语句第29页,共35页,2022年,5月20日,20点19分,星期四PROCESS语句一般格式 进程标号:PROCESS (敏感信号表)IS说明; BEGIN顺序语句 ;END PROCESS ;PROCESS是进程语句的标示符,PROCESS前可以加进程标号,也可以没有标号。进程内部说明部分用于定义本进程所需的局部数据环境,在这里可以说明数据类型、子程序和变量,在此说明区说明的变量,仅在当前进程内可对其进行读/写。BEGIN以后的顺序语
22、句为进程的执行语句部分。 第30页,共35页,2022年,5月20日,20点19分,星期四Process StatementAll the Process Statement is executed in parallel (进程与进程之间并行)Within the Process Statement, the coding is execute in sequential (进程内部语句之间串行顺序执行)Process Statement: OUTPUT depends on INPUT with Sensitivity List to control the event happen第31
23、页,共35页,2022年,5月20日,20点19分,星期四Entity test1 isPort ( clk, d1, d2 : in std_logic; q1, q2 : out std_logic);end test1;architecture test1_body of test1 isbeginProcess (clk, d2)begin if (clkevent and clk = 1) then q2 = d2; end if;end process;Process (clk, d1)begin if (clkevent and clk= 1) then q1 = d1; end
24、 if;end process;end test1_body;This two processes execute in parallelEntity test1 isPort ( clk, d1, d2 : in std_logic; q1, q2 : out std_logic);end test1;architecture test1_body of test1 isbeginProcess (clk, d1)begin if (clkevent and clk = 1) then q1 = d1; end if;end process;Process (clk, d2)begin if (clkevent and clk= 1) then q2 = d2; end if;end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年两课时说课稿
- 2025-2026学年厨师创意美术说课稿
- 2025-2026学年《蝈蝈》说课稿
- 2025-2026学年多媒体教学活动说课稿
- 2026年浙江省兰溪市高二生物下册期末考试模拟试卷及参考答案(综合卷)
- 2026年广东省台山市高二生物下册期末考试模拟卷附答案【综合题】
- 2025-2026学年大班语言落叶说课稿
- 2025-2026学年化学实验室之旅说课稿
- 2025-2026学年匆匆说课稿结尾
- 2025-2026学年大班社会我的祖国说课稿
- 《礼赞伟大祖国 争做时代少年-小学四年级国庆主题班会》
- 《医疗器械临床使用管理办法》培训考试测试题含答案
- 综合管理竞聘测试题及答案
- 湖北武汉市2026-2027学年高三年级上学期9月调研考试英语试卷
- 2026年部编版新教材道德与法治五年级上册全套教学设计(共4个单元有教学计划)
- 人教版初中英语八年级上册第一单元完整教案
- 高考英语谓语与非谓语组合练100题(含答案)
- 国药数科2026届春季校园招聘建设笔试备考试题及答案解析
- 内分泌科护理服务质量管理标准
- 雨课堂在线学堂《大数据机器学习》作业单元考核答案
- (正式版)DB65∕T 3442-2013 《金丝玉》
评论
0/150
提交评论