VHDL基本语句与基本设计.ppt

VHDL基本语句与基本设计.ppt

ID:48796224

大小:1.32 MB

页数:56页

时间:2020-01-27

VHDL基本语句与基本设计.ppt_第1页
VHDL基本语句与基本设计.ppt_第2页
VHDL基本语句与基本设计.ppt_第3页
VHDL基本语句与基本设计.ppt_第4页
VHDL基本语句与基本设计.ppt_第5页
资源描述:

《VHDL基本语句与基本设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章VHDL基本语句与基本设计EDA技术与VHDL设计7.1顺序语句并行语句VHDL组合逻辑电路设计VHDL时序逻辑电路设计7.27.37.4VHDL基本语句与基本设计顺序语句的执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用于进程和子程序中,被用来描述组合逻辑和时序逻辑。常用的顺序描述语句有:赋值语句、IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句、子程序、RETURN语句、WAIT语句和NULL语句。7.1顺序语句信号赋值语句:7.1.1赋值语句赋值目标<=赋值源;变量赋值语

2、句:赋值目标:=赋值源;根据语句所设条件,if语句有选择地执行指定的语句,其语法格式由简单到复杂可以分为三种:(1)具有开关控制的IF语句(2)具有二选择控制的IF语句(3)具有多选择控制的IF语句7.1.2IF语句一般格式:if条件then顺序语句;endif;当条件成立,执行顺序语句,否则跳过语句。具有开关控制的IF语句if(EN=’1’)thenA<=B;--当条件EN=1时,A随B变化;否则,该语句不执行endif;具有开关控制的IF语句举例一般格式:if条件then顺序语句;else顺序语句;endif;条件

3、成立执行then后顺序语句;否则执行else后的顺序语句。具有二选择控制的IF语句ifOE=‘0’thenY<=notx;elseY<=‘Z’;--高阻符号“Z”要大写endif;用IF语句描述三态非门一般格式:if条件then顺序语句;elsif条件then顺序语句;[elsif条件then顺序语句;][else顺序语句;]endif;具有多选择控制的IF语句case语句根据表达式的取值直接从多组顺序语句中选择一组执行,其语句格式为:case表达式iswhen选择值=>顺序语句;when选择值=>顺序语句;.....

4、.whenothers=>顺序语句;endcase;7.1.3CASE语句一般格式:(1)关键词others只能出现一次,且只能作为最后一种条件取值。使用others的目的是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必要的锁存器。使用CASE语句注意事项一般格式:(2)条件句中的选择值必须在表达式的取值范围内。(3)case语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。(4)case语句执行必须选中,且仅能选中所列语句中的一条。使用CASE语句注意事项(1)WHEN取值

5、=>顺序语句:(2)WHEN取值

6、取值

7、…

8、取值=>顺序语句:(3)WHEN取值TO取值=>顺序语句;(4)WHEN取值DOWNTO取值=>顺序语句;(5)WHENOTHERS=>顺序语句;CASE语句中WHEN字句书写格式d0<=‘0’;d1<=‘0’;d2<=‘0’;d3<=‘0’;CASEselISWHEH“00”=>d0<=d;WHEN“01”=>d1<=d;WHEN“10”=>d2<=d;WHENOTHERS=>d3<=d;ENDCASE;CASE语句应用举例LOOP语句与其它高级语言中的循环语句相似,它可以

9、使所包含的一组顺序语句被循环执行,其执行次数可由设定的循环参数决定。LOOP语句有三种格式:(1)无限LOOP语句(2)FOR_LOOP语句(3)WHILE_LOOP语句7.1.4LOOP语句[标号:]LOOP顺序语句EXIT标号;ENDLOOP;举例:L2:LOOPa:=a+1;EXITL2WHENa>10;ENDLOOPL2;无限LOOP语句[标号]:FOR循环变量IN离散范围LOOP顺序处理语句;ENDLOOP[标号];注意:(1)循环变量是LOOP内部自动声明的局部量,仅在LOOP内可见。(2)离散范围必须是可

10、计算的整数范围。循环次数范围规定LOOP语句中的顺序语句被执行的次数。FOR_LOOP语句LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYparity_checkISPORT(a:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC);ENDENTITYparity_check;ARCHITECTUREoneOFparity_checkISBEGINPROCESS(a)VARIABLEtmp:STD_LOGIC;BEGINtmp:=’1’;FO

11、RiIN0TO7LOOPtmp:tmpxora(i);ENDLOOP;y<=tmp;ENDPROCESS;END;用FORLOOP语句描述8位奇偶校验电路[标号]:WHILE循环条件LOOP顺序处理语句;ENDLOOP[标号];例:sum:=0;i:=0;abcd:WHILE(i<10)LOOPsum:=sum+i;i:=i+1;

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

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

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