- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1第10章VHDL的基本语句
2 VHDL程序设计中有两大基本描述语句系列,即顺序语句和并行语句系列。在逻辑系统的设计中,这些语句从多侧面完整地描述了数字系统的硬件结构和基本逻辑功能。
3基本概念定义顺序语句——执行过程中,语句的之行顺序是按照语句的书 写顺序一条语句一条语句的执行。并行语句——执行过程中,语句的之行顺序与语句的书写顺 序无关,所有语句是并发执行。注意顺序语句只能出现在进程、过程和函数中,用以定义所执 行的算法,因此源代码中前面的语句的执行结果可能会对 后面语句的执行结果产生影响。并行语句相互之间是异步执行,书写顺序不带表它们的执 行顺序,而执行顺序由各自的触发事件决定。
45.1 顺序语句——(Sequential)VHDL有6类基本顺序语句:赋值语句流程控制语句等待语句子程序调用语句返回语句空操作语句
5赋值语句赋值语句——将一个值或一个表达式的运算结果传递 给一个对象,如信号或变量。功能:格式:变量:= 表达式;信号 = 表达式;a:=10;q=‘1’;例如:
6信号与变量赋值的区别:硬件实现的功能不同信号代表电路单元、功能模块间的互联,代表实际的硬 件连线;变量代表电路单元内部的操作,代表暂存的临时数据。信号赋值延迟更新数值,用于时序电路;变量赋值立即更新数值,用于组合电路。赋值行为的不同一个进程:最后一次赋值有效 多个进程:一般编译器无法编译信号的多次赋值
7architecture rtl of ex is signal a : std_logic;begin process(…) begin a = b; … a = c; end process;end rtl;architecture rtl of ex is signal a : std_logic;begin process(…) begin a = b; … end process; process(…) begin a = c; ... end process;end ex;信号的多次赋值许多编译器无法编译只有最后一个值有效
8流程控制语句 执行一条或多条语句 跳过一条或多条语句 重复执行一条或多条语句。流程控制语句分为2大类:选择语句循环语句流程控制语句通过条件控制开关决定是否: 流程控制语句共有五种: ·IF语句 ·CASE语句 ·LOOP语句 ·NEXT语句 ·EXIT语句
9二、流程控制之选择语句——if语句VHDL描述硬件电路中使用最频繁的语句——if语句。背景:格式:第一种If (条件句)then顺序语句End if第二种If (条件句)then顺序语句Else顺序语句End if第三种If (条件句)then顺序语句Elsif (条件句) then顺序语句..Else 顺序语句End if
10注意:If语句中至少应一个条件,条件句必须由Boolean表达式构成;注意end if和elsif书写格式。 第三种格式语句格式中隐含了优先级别的判断, 最先出现的条件优先级最高,可用于设计具有优 先级的电路。
11【例】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; q : out STD_LOGIC_vector(3 downto 0) ) ; END ; ARCHITECTURE bhv OF CNT4 ISsignal q1: STD_LOGIC_vector(3 downto 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN q1 = q1 + 1 ; END IF; q=q1; END PROCESS ;END bhv;
12case 语句常用来描述总线或编码、译码行为。可读性比if 语句强。背景:格式:case(表达式)is when 选择条件
文档评论(0)