第一章数字逻辑基础me.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章数字逻辑基础me剖析

ARCHITECTURE one OF incomplete IS BEGIN im_mem: PROCESS (a,b) BEGIN IF a = 1 THEN c = b; END IF; END PROCESS im_mem; END; a c b 引入锁 存效应 10 组合电路的VHDL语言描述 注意:用不完整条件语句将引入锁存效应 library ieee; use ieee.std_logic_1164.all; entity nand is port(a: in std_logic; b: in std_logic; c: out std_logic); end entity nand; architecture art1 of nand is begin c=not (a and b); end architecture art1; 例:(写)一个与非门 结构体结构图 3 VHDL程序的基本结构 并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。 这是VHDL语言与传统软件描述语言最大的不同; 有多种语句格式,包括:并行信号赋值语句、条件信号赋值语句、选择信号赋值语句、进程语句、元件例化语句等 每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式(如块语句)和顺序执行方式(如进程语句)。 4 并行语句 (1)简单赋值语句——布尔表达式 如逻辑函数表达式 的布尔表达式为: Y<=(A AND(NOT S )) OR (B AND S); 4 并行语句 (2)条件信号赋值语句 赋值目标信号 = 表达式 WHEN 赋值条件 ELSE …… 表达式 WHEN 赋值条件 ELSE 表达式; 根据指定条件对信号赋值,条件可以为任意表达式; 根据条件的出现的先后次序隐含优先权; 最后一个 ELSE子句隐含了所有未列出的条件; 每一子句的结尾没有标点,只有最后一句有分号。 4 并行语句 When_Else语句举例 x = a when (s = “00”) else b when (s = “01”) else c when (s = “10”) else d ; a x mux c b d s 2 隐含了所有未列出的条件 4 并行语句 (4)进程语句 基本格式: PROCESS [(信号敏感表)] 〈说明区〉 BEGIN 〈顺序语句〉 END PROCESS ; VHDL中最重要的语句,具有并行和顺序行为的双重性:进程和进程语句之间是并行关系,进程内部是一组连续执行的顺序语句 4 并行语句 敏感表举例 latchlabel: PROCESS(oe) BEGIN IF oe=‘1’ THEN y = a; END IF; END PROCESS if_label; 仿真结果错误 敏感表举例 latchlabel: PROCESS(oe,a) BEGIN IF oe=‘1’ THEN y = a; END IF; END PROCESS if_label; 仿真结果正确 5 顺序语句 每一条顺序语句的执行(指仿真执行)顺序是与它们的书写顺序基本一致的; 顺序语句只能出现在进程(Process) 、函数(Funcation)和过程(Procedure)中; 顺序语句包括:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。 (1)顺序赋值语句 变量赋值目标:=赋值源; 信号赋值目标<=赋值源; 5 顺序语句 (2)IF语句 IF 条件句 THEN 顺序语句 END IF IF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF IF 条件句 THEN 顺序语句 ELSIF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF 只能在进程内使用; 至少应有一个条件句,条件句必须由布尔表达式构成; 根据条件句产生的判断结果TRUE或FALSE,有条件地选择执行其后的顺序语句。 5 顺序语句 IF语句举例 必须在进程内使用 ARCHITECTURE one OF dff IS BEGIN PROCESS (clk) BE

文档评论(0)

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

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

1亿VIP精品文档

相关文档