(Sequential)硬件执行:并发执行(VHDL本质)仿真执行:顺序执行、并发执行分为两大类:顺序(Sequential)描述语句并发(Concurrent)ponentVHDL主要描述语句并行处理语句在结构体(ARCHITECTURE)中执行的语句在进程(PROCESS)函数(FUNCTION)过程(PROCEDURE)中执行的语句硬件描述的特点高级语言的特点(SequentialStatements)顺序处理语句(ConcurrentStatements)顺序描述语句:执行(指仿真执行)顺序与书写顺序基本一致,与传统软件执行语言的特点相似。顺序语句只能用在进程与子程序中。可描述组合逻辑、时序逻辑。常用的顺序描述语句:赋值语句;if语句;case语句;loop语句;next语句;exit语句;子程序;return语句;wait语句;null语句。:1)简单名称,如my_var;2)索引名称,如my_array_var(3);3)片断名称,如my_array_var(3to6);4)记录域名,;5)集合,如(my_var1,my_var2).所有对象均分为:变量和信号对象:=表达式;----变量赋值对象<=表达式;----信号赋值要求:表达式的值必须与对象的类型、宽度一致。:1)赋值方式的不同:变量:=表达式;信号<=表达式;2)硬件实现的功能不同:信号代表电路单元、功能模块间的互联,代表实际的硬件连线;变量代表电路单元内部的操作,代表暂存的临时数据。3)有效范围的不用:信号:程序包、实体、结构体;全局量。变量:进程、子程序;局部量。ARCHITETURE{SIGNALDeclarations}Label1:PROCESS{VARIABLEDeclarations}Label2:PROCESS{VARIABLEDeclarations}..4)赋值行为的不同:信号赋值延迟更新数值、时序电路;变量赋值立即更新数值、组合电路。5)信号的多次赋值:::多源驱动线与、线或、三态例:信号的多次赋值Architecturertlofexissignala:std_logic;Beginprocess(…)begina<=b;…a<=c;endprocess;Endrtl;Architecturertlofexissignala:std_logic;Beginprocess(…)begina<=b;…endprocess;process(…)begina<=c;…endprocess;Endrtl;例:信号赋值与变量赋值的比较信号赋值:Architecturert1ofsigissignala,b:std_logic;Beginprocess(a,b)begina<=b;b<=a;endprocess;Endrt1;----结果是a和b的值互换变量赋值:Architecturert1ofvarisBeginprocessvariablea,b:std_logic;begina:=b;b:=a;endprocess;Endrt1;----结果是a和b的值都等于b的初值
顺序语句 来自淘豆网m.daumloan.com转载请标明出处.