电子设计自动化第三讲.ppt

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

上节回顾 VHDL数据对象 信号------重要 变量------重要 常量 VHDL数据类型 上节回顾-信号(Signals) 代表连线,Port也是一种信号 没有方向性,可给它赋值,也可当作输入 在Package、Entity、Architecture中定义 用= 进行赋值 目标信号名= 表达式AFTER 时间量; 用 : = 进行初始化 设定的初始值不可综合,用于仿真 signal count:bit_vector(3 downto 0):=“0011”; 3.变量(Variable) 临时数据,没有物理意义 只能在Process、Function、 Procedure中定义,并只在 其内部有效, 要使其全局有效,先转换为Signal。 用 := 进行赋值 用 := 进行初始化 variable result : std_logic := ‘0’; 信号与变量赋值(差异) 【例6-3】 … ARCHITECTURE bhv OF DFF3 IS SIGNAL A,B : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN A = D1 ; B = A ; Q1 = B ; END IF; END PROCESS ; END ; 信号与变量赋值(差异) 【例6-4】 ... ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE A,B : STD_LOGIC ; BEGIN IF CLKEVENT AND CLK = 1 THEN A := D1 ; B := A ; Q1 = B ; END IF; END PROCESS ; END ; 数据类型 【例9-21】 SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,I,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; ... a=b AND c; --b、c 相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d=e OR f OR g ; -- 两个操作符OR相同,不需括号 h=(i NAND j)NAND k ; -- NAND不属上述三种算符中的一种,必须加括号 l=(m XOR n)AND(o XOR p); -- 操作符不同,必须加括号 h=i AND j AND k ; -- 两个操作符都是AND,不必加括号 h=i AND j OR k ; -- 两个操作符不同,未加括号,表达错误 a=b AND e ; -- 操作数b 与e的位矢长度不一致,表达错误 h=I OR L ; -- I 的数据类型是位STD_LOGIC,而L的数据类型是 ... -- 布尔量BOOLEAN,因而不能相互作用,表达错误。 IF语句 注意如果if引导event代表时钟,此时不能有else复句 用于组合逻辑的if,如果没有else付句,一定要在IF语句前面有缺省赋值,否则会造成不需要的latch IF与Case的区别—if具有优先级 * library ieee; use ieee.std_logic_1164.all; entity comp_good is port(a: in std_logic; b: in std_logic; q: out std_logic); end comp_good; architecture one of comp_good is begin process(a,b) begin if ab then q=1; else q=0; end if; end process; end one; * library ieee; use ieee.std_logic_1164.all; entity comp_bad is port(a: in std_logic; b: in std_logic; q: out std_logic); end comp_bad; architecture one of comp_bad is begin process(a,b) beg

文档评论(0)

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

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

1亿VIP精品文档

相关文档