绿茶的学习生活

C-Linux-VHDL

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  2 随笔 :: 7 文章 :: 2 评论 :: 0 Trackbacks

顺序描述语句
信号赋值语句和变量赋值语句
目标信号<=表达式;
目标变量:=表达式;
信号的说明只能在VHDL语言程序的并行部分进行说明(如在结构体的说明部分),但可以在VHDL语言的并行和顺序不愤怒同时使用。
变量说明和赋值语句只能在VHDL的顺序部分进行说明和使用,即只能出现在进程、过程和函数中
信号赋值和变量赋值语句有一定相似性,但不同点也是有的:对信号赋值语句来说,信号赋值的执行和信号的更新至少有delta的延时,否则保持原状态;对于变量赋值语句来说,变量赋值语句执行后立即得到新值。

条件语句
if语句
在VHDL语言中,if语句是具有条件控制功能的语句,它根据制定的条件及其条件是否成立来确定语句的执行顺序。
if语句格式:
if 条件1 then
    第一组顺序语句;
elseif 条件2 then
    第二组顺序语句;
elseif 条件n then
    第n组顺序语句;
esle 第n+1组顺序语句;
end if;

if语句的每个条件都是一个布尔表达式,返回值为布尔型。每个分支可以有一个或多个顺序语句。

if条件的另外两种形式:
(1)
if 条件 then
   顺序语句;
end if;


(2)
if 条件 then
   顺序语句;
else 
   顺序语句;
end if;

case语句
case语句是根据条件表达式的值执行由符号“=>”所指的一组顺序语句。
case语句语法:

case 条件表达式 is
    when 条件表达式的值 =>一组顺序语句;
    ...
    when 条件表达式的值 =>一组顺序语句;
    when others =>一组顺序语句;
end case;

if条件是有序的,先处理最起始、最有限的条件,后处理次优先的条件。
case语句是无序的,所有条件表达式的值都并行处理。
case语句中条件表达式的值必须列举穷尽,又不能重复,不能穷尽的条件表达式的值用others表示

循环控制语句
loop语句
loop语句使用程序进行有规则的循环,循环次数由迭代算法或其他数据
for loop循环语句
for loop循环,是loop循环语句的一种基本形式,执行有限次循环。格式如下:
循环标号:for 循环变量 in 范围 loop
                           顺序处理语句;
                    end loop 循环标号;
循环标号:for loop 循环语句的标识符。
循环变量:整数变量,循环变量的值在每次循环中都发生变化。循环变量不需另加说明,在循环体中可读不可写。
范围:离散范围,是循环变量在循环过程中依次取值的范围,实际上限制了循环次数。
顺序处理语句:循环体,是一组顺序语句。
for loop循环执行时,该循环变量从指定变量范围内每取一个之进行一次循环,取完范围内全部指定值,结束循环。

while loop循环语句
while loop循环是loop循环的另外一种形式
循环标号:while 条件表达式 loop
                   顺序处理语句
                   end loop 循环标号;
循环标号用来作为该while loop循环语句的标识符。
while后面的条件表达式是布尔表达式。while loop循环语句在每次执行前要先检查条件表达式的值,当条件表达式的值为true时,就执行循环体中的顺序处理语句,执行完毕好返回到该循环的开始,然后再次检查条件表达式的值;若表达式值为false,那么结束循环并转而执行while loop后的语句。

next跳出循环语句
在loop中,next语句用于跳出本次循环,转入下次循环,并重新开始。
next 循环标号 when 条件表达式;
其中循环标号用来表明结束本次循环后下一次循环的起始位置;
条件表达式的值为布尔量,是跳出本次循环的条件,条件表达式的值为真时,跳出本次循环
循环标号和条件表达式是可选项。当next后无循环标号和条件表达式时,要执行到该语句就立即无条件跳出本次循环,从loop语句的起始位置进入下一次循环。

exit退出循环语句
在loop中,exit语句在循环体内用来描述退出循环并结束循环这一功能。
exit 循环标号 when 条件表达式;
when后的条件表达式是布尔表达式,exit退出循环语句在条件表达式为真时,退出循环标号指定的循环体。
exit退出循环语句when后面的条件表达式可以缺少,成为无条件退出循环语句
exit 循环标号;
当遇到无条件退出循环语句时,立即从循环标号指明的循环体中退出

exit退出循环语句后的循环标号也可缺少,成为默认无条件退出循环语句时,立即从exit所在的循环体中退出。
exit

null语句
在VHDL语言中,null表示一种站空操作,它不进行任何操作,执行该语句只是使VHDL语言程序去执行下一个语句。
语法简单:null;即可
null常出现在case中,它用来表示case语句中所剩余的条件选择值下的操作行为,从而能够满足case语句对条件选择值全部列举的要求

posted on 2008-07-17 21:59 绿茶 阅读(3748) 评论(1)  编辑 收藏 引用 所属分类: VHDL语言学习

评论

# re: VHDL的基本语句-顺序描述语句 2009-12-11 04:05 chuxuezhe
错了,是elsif  回复  更多评论
  

只有注册用户登录后才能发表评论。