《VHDL的LOOP语句》PPT课件

《VHDL的LOOP语句》PPT课件

ID:45098962

大小:233.50 KB

页数:18页

时间:2019-11-09

《VHDL的LOOP语句》PPT课件_第1页
《VHDL的LOOP语句》PPT课件_第2页
《VHDL的LOOP语句》PPT课件_第3页
《VHDL的LOOP语句》PPT课件_第4页
《VHDL的LOOP语句》PPT课件_第5页
资源描述:

《《VHDL的LOOP语句》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五讲VHDL硬件描述语言_3教学课时:2学时教学内容:1、VHDL语句(1学时)loop语句next语句exit语句wait语句null语句2、实例演示(1学时)loop语句LOOP语句就是循环语句,它可以使包含的一组顺序语句被循环执行,其执行的次数受迭代算法控制。在VHDL中常用来描述迭代电路的行为。1.单个LOOP语句单个LOOP语句的书写格式如下:[标号:]LOOP顺序语句ENDLOOP[标号];这种循环语句需引入其他控制语句(如EXIT)后才能确定,否则为无限循环。其中的标号是可选的。例如:loop1:LOOPWAITUNTILclk=‘1’;q<=dAFTER2ns;ENDLOO

2、Ploop1;2.FOR_LOOP语句该语句语法格式为:[标号:]FOR循环变量IN循环次数范围LOOP顺序处理语句ENDLOOP[标号];libraryieee;useieee.std_logic_1164.all;entitycheck8isport(a:instd_logic_vector(7downto0);y:outstd_logic);endcheck8;architectureoneofcheck8isbeginprocess(a)variabletemp:std_logic;begintemp:='0';foriin0to7looptemp:=tempxora(i);endl

3、oop;y<=temp;endprocess;endone;例1:设计一个8位奇偶校验电路的VHDL程序。思路:输入一个8位的二进制数,计算出其校验位。若是奇校验:则要求校验位的加入使得9位二进制数中的‘1’的个数应为奇数个。偶校验则要求9位二进制数中的‘1’的个数应为偶数个。算法:设数据为”11010010”,则偶校验位为:‘0’.它可以用位’0’逐位地与数据相异或而得到校验位。i不需要预先定义,可直接使用。3.WHILE_LOOP语句这种语句的书写格式为:[标号:]WHILE条件LOOP顺序处理语句ENDLOOP[标号];在该LOOP语句中,没有给出循环次数的范围,而是给出了循环执行顺序

4、语句的条件;没有自动递增循环变量的功能,应在顺序处理语句中增加一条循环次数计算语句,用于循环语句的控制。循环控制条件为布尔表达式,当条件为“真”时,则进行循环,如果条件为“假”,则结束循环。例2:8位奇偶校验电路的WHILE_LOOP设计形式.architecturetwoofcheck8isbeginprocess(a)variabletemp:std_logic;variablei:integer;--循环变量begintemp:='0';i:=0;while(i<8)looptemp:=tempxora(i);i:=i+1;endloop;y<=temp;endprocess;endt

5、wo;思考题1:用VHDL设计一个8-3线优先编码器,输入信号为A、B、C、D、E、F、G、H,输出信号为out0,out1,out2.输入信号中A的优先级最低,依次类推,H的优先级最高。方法1:使用条件赋值语句。格式:赋值目标<=表达式1when赋值条件1else表达式2when赋值条件2else......表达式n;libraryieee;useieee.std_logic_1164.all;entityencoderisport(A,B,C,D,E,F,G,H:instd_logic;out0,out1,out2:outstd_logic);endencoder;architectur

6、eoneofencoderissignalouts:std_logic_vector(2downto0);beginouts<="111"whenH='1'else"110"whenG='1'else"101"whenF='1'else"100"whenE='1'else"011"whenD='1'else"010"whenC='1'else"001"whenB='1'else"000"whenA='1'else"XXX";out2<=outs(2);out1<=outs(1);out0<=outs(0);endone;方法2:使用if语句。格式:if条件then语句序列;elsif条件th

7、en语句序列;elsif条件then语句序列;[....else语句序列;]endif;architecturetwoofencoderissignalouts:std_logic_vector(2downto0);beginprocess(A,B,C,D,E,F,G,H)beginifH='1'thenouts<="111";elsifG='1'thenouts<="110";elsifF='1'theno

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

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

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