版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 vhdlvhdl基本语句与基本设计基本语句与基本设计edaeda技术与技术与vhdlvhdl设计设计顺序语句顺序语句 并行语句并行语句 vhdl vhdl组合逻辑电路设计组合逻辑电路设计 vhdl vhdl时序逻辑电路设计时序逻辑电路设计vhdlvhdl基本语句与基本设计基本语句与基本设计v顺序语句的执行顺序与书写顺序一致,与顺序语句的执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句传统软件设计语言的特点相似。顺序语句只能用于进程和子程序中,被用来描述组只能用于进程和子程序中,被用来描述组合逻辑和时序逻辑。合逻辑和时序逻辑。v常用的顺序描述语句有:赋值语句、常用的
2、顺序描述语句有:赋值语句、ifif语语句、句、casecase语句、语句、looploop语句、语句、nextnext语句、语句、exitexit语句、子程序、语句、子程序、returnreturn语句、语句、waitwait语语句和句和nullnull语句。语句。7.1 7.1 顺序语句顺序语句v信号赋值语句:信号赋值语句:7.1.1 7.1.1 赋值语句赋值语句 v变量赋值语句:变量赋值语句:v根据语句所设条件,根据语句所设条件,ifif语句有选择地执行语句有选择地执行指定的语句,其语法格式由简单到复杂可指定的语句,其语法格式由简单到复杂可以分为三种:以分为三种:(1 1)具有开关控制的)
3、具有开关控制的ifif语句语句(2 2)具有二选择控制的)具有二选择控制的ifif语句语句(3 3)具有多选择控制的)具有多选择控制的ifif语句语句7.1.2 if7.1.2 if语句语句 n一般格式:一般格式: if if 条件条件 thenthen 顺序语句顺序语句; ;end if;end if;当条件成立,执行顺序语句,否则跳过语句。当条件成立,执行顺序语句,否则跳过语句。具有开关控制的具有开关控制的ifif语句语句 if (en=1) thenif (en=1) then a=b; a=b;- - 当条件当条件en=1en=1时,时,a a随随b b变化;否则,该语句不执行变化;否
4、则,该语句不执行end if;end if;具有开关控制的具有开关控制的ifif语句举例语句举例 n一般格式:一般格式: if if 条件条件 thenthen 顺序语句顺序语句; ;elseelse 顺序语句顺序语句; ;end if;end if; 条件成立执行条件成立执行thenthen后顺序语句;否则执行后顺序语句;否则执行elseelse后的顺序语句。后的顺序语句。具有二选择控制的具有二选择控制的ifif语句语句 if oe = 0 thenif oe = 0 theny = not x;y = not x;elseelsey = z;y = 顺序语句;顺序语句; when when
5、 选择值选择值 = = 顺序语句;顺序语句; . when others = when others = 顺序语句;顺序语句;end case;end case;7.1.3 case7.1.3 case语句语句 n一般格式:一般格式:(1 1)关键词)关键词othersothers只能出现一次,且只能作只能出现一次,且只能作为最后一种条件取值。使用为最后一种条件取值。使用othersothers的目的的目的是为了使条件句中的所有选择值能涵盖表是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必达式的所有取值,以免综合器会插入不必要的锁存器。要的锁存器。使用使用casecas
6、e语句注意事项语句注意事项 n一般格式:一般格式:(2 2)条件句中的选择值必须在表达式的取值范)条件句中的选择值必须在表达式的取值范围内。围内。 (3 3)casecase语句中每一条件句的选择值只能出现语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。一次,不能有相同选择值的条件语句出现。(4 4)casecase语句执行必须选中,且仅能选中所列语句执行必须选中,且仅能选中所列语句中的一条。语句中的一条。使用使用casecase语句注意事项语句注意事项 (1 1)when when 取值取值=顺序语句:顺序语句:(2 2)when when 取值取值| |取值取值| |
7、 |取值取值=顺序语句:顺序语句:(3 3)when when 取值取值 to to 取值取值=顺序语句;顺序语句;(4 4)when when 取值取值 downto downto 取值取值=顺序语句;顺序语句;(5 5)when others=when others=顺序语句;顺序语句;casecase语句中语句中whenwhen字句书写格式字句书写格式 d0=0;d1=0;d0=0;d1=0;d2=0;d3=0;d2=0;d3d0d0d1d1d2d2d3d310 ; exit l2 when a10 ; end loop l2 ; end loop l2 ;无限无限looploop语句语
8、句 标号标号 :for for 循环变量循环变量 in in 离散范围离散范围 looploop 顺序处理语句;顺序处理语句; end loop end loop 标号标号 ;注意:注意:(1 1)循环变量是)循环变量是looploop内部自动声明的局部量内部自动声明的局部量,仅在,仅在looploop内可见。内可见。(2 2)离散范围必须是可计算的整数范围。循)离散范围必须是可计算的整数范围。循环次数范围规定环次数范围规定looploop语句中的顺序语句被语句中的顺序语句被执行的次数。执行的次数。for_loopfor_loop语句语句 library ieee;library ieee;u
9、se ieee.std_logic_1164.all;use ieee.std_logic_1164.all;entity parity_check isentity parity_check is port( a: in std_logic_vector( 7 downto 0 ) ; port( a: in std_logic_vector( 7 downto 0 ) ; y: out std_logic ) ; y: out std_logic ) ;end entity parity_check;end entity parity_check;architecture one of p
10、arity_check isarchitecture one of parity_check isbeginbegin process( a ) process( a ) variable tmp: std_logic; variable tmp: std_logic; begin begin tmp: =1 ; tmp: =1 ; for i in 0 to 7 loop for i in 0 to 7 loop tmp: tmp xor a( i ) ; tmp: tmp xor a( i ) ; end loop; end loop; y=tmp ; y=tmp ; end proces
11、s; end process;end;end;用用for loopfor loop语句描述语句描述8 8位奇偶校验电路位奇偶校验电路 标号标号 :while while 循环条件循环条件 looploop 顺序处理语句;顺序处理语句; end loop end loop 标号标号 ;例:例:sum := 0 ;i := 0 ;sum := 0 ;i := 0 ;abcd : while ( i10 ) loopabcd : while ( i10 ) loop sum:=sum+i; sum:=sum+i; i:=i+1; i:=i+1;end loop abcd ;end loop abcd
12、 ;while_loopwhile_loop语句语句 library ieee;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_1164.all;entity parity_check isentity parity_check is port( a: in std_logic_vector( 7 downto 0 ) ; port( a: in std_logic_vector( 7 downto 0 ) ; y: out std_logic ) ; y: out std_logic ) ;end entity pari
13、ty_check;end entity parity_check;architecture one of parity_check isarchitecture one of parity_check isbeginbegin process( a ) process( a ) variable tmp: std_logic;variable i: integer ; variable tmp: std_logic;variable i: integer ; begin begin tmp: =0 ; i := 0 ; tmp: =0 ; i := 0 ; while ( i8 ) loop
14、while ( i8 ) loop tmp: tmp xor a( i ) ; i:=i+1; tmp: tmp xor a( i ) ; i:=i+1; end loop; end loop; y=tmp ; y=tmp ; end process; end process;end;end;用用while_loopwhile_loop语句描述语句描述8 8位奇偶校验电路位奇偶校验电路 在在looploop语句中,语句中,nextnext语句用来跳出本次循环。其语句用来跳出本次循环。其格式分三种:格式分三种:(1 1)next:next:无条件终止当前的循环,跳回到本次无条件终止当前的循环,跳
15、回到本次循环循环looploop语句开始处,开始下次循环。语句开始处,开始下次循环。(2 2)next: next: 标号标号 ;无条件终止当前的循环,跳转到指定标号的无条件终止当前的循环,跳转到指定标号的looploop语句开始处,重新开始执行循环操作。语句开始处,重新开始执行循环操作。(3 3)next next 标号标号 when when 条件表达式条件表达式 ;7.1.5 next7.1.5 next语句语句 l1: while i10 loopl1: while i10 loop l2: while j20 loop l2: while j20 loop next l1 when
16、i=j; next l1 when i=j; end loop l2 ; end loop l2 ;end loop l1 ;end loop l1 ;nextnext语句举例语句举例nexitexit语句是语句是looploop语句的内部循环控制语句语句的内部循环控制语句,作用是结束循环状态。而区别在于,作用是结束循环状态。而区别在于nextnext语语句是跳向句是跳向looploop语句的起始点,语句的起始点,exitexit语句则语句则是跳向是跳向looploop语句的终点。语句的终点。nexitexit的语句格式也有的语句格式也有3 3种:种:(1 1)exit exit ;(2 2)
17、exit loop exit loop 标号;标号;(3 3)exit loop exit loop 标号标号 when when 条件表达式;条件表达式;7.1.6 exit7.1.6 exit语句语句 process (a)process (a)variable int_a: integer;variable int_a: integer;beginbegin int_a:=a; int_a:=a; for i in 0 to max_limit loop for i in 0 to max_limit loop if(int_a=0) then if(int_a=0) then exit
18、; exit; else int_a:=int_a-1; else int_a:=int_a-1; end if; end if; end loop; end loop;end process;end process;exitexit语句举例语句举例n在进程中(包括过程中),当执行到在进程中(包括过程中),当执行到waitwait(等待语(等待语句时),运行程序将被挂起,直到满足此语句设置句时),运行程序将被挂起,直到满足此语句设置的结束挂起条件后,才重新开始执行进程或过程中的结束挂起条件后,才重新开始执行进程或过程中的程序。的程序。waitwait语句有以下四种不同的语句格式:语句有以下四种
19、不同的语句格式:(1 1)wait -wait -无限等待无限等待(2 2)wait on -wait on -敏感信号量变换敏感信号量变换(3 3)wait until -wait until -条件满足(可综合)条件满足(可综合)(4 4)wait for -wait for -时间到时间到7.1.7 wait7.1.7 wait语句语句 n进程中其一般格式为:进程中其一般格式为:wait on wait on 信号信号 ,信号,信号 ;例如,以下两种描述是完全等价的:例如,以下两种描述是完全等价的: process(a,b) processprocess(a,b) process begin begin begin begin y=a and b; y=a and b; y=a and b; y=表达式表达式 , 参数名参数名=表达式表达式 );); 其中表达式也称为实参,它可以是一其中表达式也称为实参,它可以是一个具体的数值,也可以是一个标识符个具体的数值,也可以是一个标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系部行政例会工作制度
- 纪委办案人员工作制度
- 维修人员现场工作制度
- 综合治理防范工作制度
- 2025 初中写作运用象征帆船寓意逐梦前行课件
- 移动端母婴教育APP设计
- 2026年酒店绩效考核方案
- 2026年特种设备安全管理员考前押题及答案解析
- 保温工程监理实施细则
- 2025年法学硕士考试法理学真题及答案解析
- 2025中交集团暨中国交建区域总部市场开发人员招聘笔试历年参考题库附带答案详解
- 2025年五类人员选拔考试试题及答案
- 压力储罐设计计算书
- 产业基金课件
- 2025年疾病预防控制中心招聘考试笔试试题(含答案)
- 医院培训课件:《医疗机构消防安全知识讲座》
- 咯血护理常规课件
- 慢性肾衰竭病人的护理试题及答案
- 设备制造质量安全保证体系及措施
- 跨境电子商务专业教学标准(中等职业教育)2025修订
- 国网营销安全培训体系构建与实施
评论
0/150
提交评论