VHDL顺序语句(Sequential).ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3)while … loop 语句 例:sum:=0; i:=0; abcd: while (i10) loop sum:=sum+i; i:=i+1; end loop abcd; 注:循环变量 i 需事先定义、赋初值,并指定 其变化方式。一般综合工具不支持 while … loop 语句。 三 wait 语句 进程在仿真时的两个状态: 执行或挂起。 进程状态的变化受wait 语句或敏感信号量变 化的控制。 可设置 4种不同的条件: wait -- 无限等待 wait on -- 敏感信号量变化 wait until -- 条件满足(可综合) wait for -- 时间到 3、如果有 wait 语句,则不允许有敏感信号表。 三 并行信号赋值语句 包括三种: 简单并行信号赋值; 条件信号赋值; 选择信号赋值。 共同特点: 1、赋值目标必须是信号,与其它并行语句同 时执行,与书写顺序及是否在块语句中无关。 2、每一信号赋值语句等效于一个进程语句。 所有输入信号的变化都将启动该语句的执行。 四 并行过程调用语句 用过程名在结构体或块语句中可实现并行过 程调用。 其作用与一个进程等价。 格式: 过程名 [([参数名=] 表达式 {,[参数名=] 表达式})] 例:并行过程调用与串行过程调用 … procedure adder( signal a, b: in std_logic; signal sum: out std_logic); … adder(a1, b1, sum1); … process(c1, c2) begin adder(c1, c2, s1); end process; 五 VHDL的层次化设计与元件声明 (component) 及元件例化(instantial)语句 1、层次化设计 一个低层次设计在被例化前必须有一个元件声明。 ENTITY exam is PORT( ea, eb :IN STD_LOGIC_VECTOR(3 DOWNTO 0); ey : OUT STD_LOGIC); END exam ; ARCHITECTURE exam_arch OF exam IS COMPONENT compare PORT( a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); y : OUT STD_LOGIC ); END COMPONENT; --元件声明 BEGIN u1 : compare PORT MAP ( ea, eb, ey) ; --元件例化 END exam_arch ; 子程序的类型: 过程(Procedure): 0 个或多个 in、inout、 或 out 参数。可获得多个返回值。 函数(Function): 0 个或多个 in 参数,一个 return 值。 只能获得一个返回值。 过程可作为一种独立的语句结构而单独存在, 函数通常作为表达式的一部分来调用。 子程序包含两部分:子程序声明和子程序主体。 一、子程序声明 1、过程声明语法 参数声明指明输入输出端口的数目和类型, 语法如下: 方式指参数的传递方向,有三种形式: in、out、inout 2、函数声明语法 参数声明指明输入输出端口的数目和类型, 语法如下: 对函数

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档