第10讲-组合逻辑电路的VHDL描述、竞争与冒险.ppt_第1页
第10讲-组合逻辑电路的VHDL描述、竞争与冒险.ppt_第2页
第10讲-组合逻辑电路的VHDL描述、竞争与冒险.ppt_第3页
第10讲-组合逻辑电路的VHDL描述、竞争与冒险.ppt_第4页
第10讲-组合逻辑电路的VHDL描述、竞争与冒险.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第九讲 组合逻辑电路分析与设计,1、VHDL语言介绍 2、组合逻辑电路VHDL描述 3、组合逻辑电路中的竞争与冒险,2,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,VHDL:Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言。,VHDL作为IEEE标准的硬件描述语言和EDA的重要组成部分,经过几十年的发展、应用和完善,以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段,在电子设计领域受到了普遍的认同和广泛的接受,成为现代EDA领域的

2、首选硬件设计语言。专家认为,在新世纪中,VHDL与Verilog语言将承担起几乎全部的数字系统设计任务。,3,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,库(LIBRARY)存放预先设计好的程序包和数据的集合体。 程序包(PACKAGE)将已定义的数据类型、元件调用说明及子程序收集在一起,供VHDL设计实体共享和调用,若干个包则形成库。,IEEE库包括:STD_LOGIC_1164 STD_LOGIC_ARITH是SYNOPSYS公司加入IEEE库程序包,包括: STD_LOGIC_SIGNED(有符号数) STD_LOGIC_UNSIGNED(无符号数),1、库、程序包,4

3、,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,STD_LOGIC_SMALL_INT(小整型数) VHDL 87版本使用IEEE STD 1076-1987 语法标准 VHDL 93版本使用IEEE STD 1076-1993 语法标准,例:LIBRARY IEEE USE IEEE.STD_LOGIC_1164.ALL 描述器件的输入、输出端口数据类型中将要用到的IEEE的标准库中的STD_LOGIC_1164程序包。,5,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,格式:ENTITY 实体名 IS 类属参数说明 端口说明 END 实体名;,规则:(1)类

4、属参数说明必须放在端口说明之前,用于指定如矢量位数、延迟时间等参数。例如GENERIC(m:TIME:=1 ns);-说明m是一个值为1ns的时间参数 则程序语句:tmp1 = d0 AND se1 AFTER m;-表示d0 AND se1经1ns延迟后才送到tem1。,2、实体(ENTITY)说明,6,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,(2)端口说明是描述器件的外部接口信号的说明,相当于器件的引脚说明。其格式为: PORT(端口名,端口名:方向 数据类型名; : 端口名,端口名:方向 数据类型名);,例如:PORT(a,b:IN STD_LOGIC; s:IN

5、STD_LOGIC; y:OUT STD_LOGIC);,7,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,端口方向包括: IN; -输入, 符号: OUT; -输出, 符号: INOUT;-双向, 符号: BUFFER; -具有读功能的输出,符号:,8,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,9,例:用VHDL语言编写的实体声明: library ieee; use ieee.std_logic_1164.all; entity or_gate is port (a : in bit ; b : in bit ; c: out bit ); end or

6、_gate ;,上面的实体声明描述了一个或门单元,它有三个引脚a、b、c。给出了三个引脚a、b、c的参数;in和out数据类型是bit。,基本设计单元的实体,用于指明设计基本单元的行为、元件及内部连接关系,即定义设计单元的功能。,结构体的结构: ARCHITECTURE 结构体名 OF 实体名 IS 说明语句;-为内部信号、常数、数据类型、函数定义 BEGIN 功能描述语句 END ARCHITECTURE 结构体名;,3、结构体(ARCHITECTURE),10,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,例如:或门的结构体 ARCHITECTURE or1 OF temp

7、1 IS SIGNAL y:STD_LOGIC; BEGIN y=a OR b; END ARCHITECTURE or1;,11,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,12,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,4、进程(PROCESS),进程语句属于并行语句,它在VHDL中使用最频繁、最能体现VHDL风格。,进程语句格式: 进程标号:PROCESS (敏感信号参数表) IS 进程说明部分 BEGIN 顺序描述语句 END PROCESS 进程标号;,进程语句是并行处理语句,即各个进程是同时处理的,在一个结构体中多个Process语句是同时并发

8、运行的。,Process语句的特点: 进程结构内部的所有语句都是顺序执行的。 多进程之间,是并行执行的,并可访问构造体或实体中所定义的信号。 进程的启动是由进程标识符process后的信号敏感表所标明的信号来触发进程的活动,也可以用WAIT语句等待一个触发条件的成立。 各进程之间的通信是由信号来传递的。,13,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,例 不含信号敏感表的进程语句,ARCHITECTURE multiple_wait OF tests IS SIGNAL a,b:bit:=0; BEGIN P1:PROCESS BEGIN WAIT ON a; WAIT O

9、N b; WAIT FOR 0ns; WAIT; END PROCESS p1; END ACHITECTURE multiple_wait;,14,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,例含信号敏感表和WAIT语句的错误程序,ARCHITECTUREsensitivity_list OF tests IS SIGNAL a,b:bit:=0; BEGIN p1:PROCESS(a) BEGIN WAIT ON b; WAIT FOR 0ns; WAIT; END PROCESS p1; END ARCHITECTURE sensitivity_list;,15,第十讲

10、 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,例利用进程语句设计的半加器,ARCHITECTUTEbehav OF half_adder IS BEGIN Padder:PROCESS(a,b) BEGIN sum=a XOR b AFTER 5ns; carry=a AND b AFTER 5ns; ENDPROCESS Padder; END behav;,16,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,进程是一个无限循环的硬件行为的描述。当进程执行完最后一个语句时,在敏感信号的触发下,又开始重复执行,这个模块就这样永无修止地工作。但是如果没有敏感信号的变化,

11、这个进程就不会工作。,17,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,把特定的结构体关联(指定给)一个确定的实体,为大型系统的设计提供管理和工程组织。,5、配置(CONFIGURATION),18,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,configuration 配置名 of 实体名 is for 选配结构体名 end for ; end 配置名;,配置:从某个实体的多种结构体描述方式中选择 特定的一个。,19,VHDL语言的基本语句,顺序语句(Sequential Statements) 并行语句(Concurrent Statements),第十

12、讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,顺序语句,特征: 顺序语句只能出现在进程或子程序、块中 顺序语句描述的系统行为有时序流、控制流、条件分支和迭代算法等 顺序语句用于定义进程、子程序等的算法 顺序语句的功能操作有算术、逻辑运算,信号、变量的赋值,子程序调用等,20,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,顺序语句, WAIT语句; 断言语句; 信号代入语句; 变量赋值语句; IF语句; CASE语句;, LOOP语句; NEXT语句; EXIT语句; 过程调用语句; NULL语句。,21,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,

13、并行语句,进程语句 并发信号代入语句 条件信号代入语句 选择信号代入语句 并发过程调用语句 块语句 并行断言语句 Generate 生成语句 元件例化语句,22,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,23,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,VHDL介绍,library ieee; -使用的库 use ieee.std_logic_1164.all;-使用的包 entity and_ent is -名为and_ent的实体 port(a,b: in std_logic; -输入信号为a,b y: out std_logic); -输出信号为y end and

14、_ent; architecture and_str of and_ent is 实体and_ent的结构体,该结构体名称为and_str begin y=a and b; - 逻辑表达式 end and_str;,例:用VHDL描述2输入端与门电路。,LIBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL ENTITY or1 IS PORT(a,b:IN STD_LOGIC; y:OUT STD LOGIC); END or1; ARCHITECTURE example1 OF or1 IS BEGIN y=a OR b; END example1;,24,第十

15、讲 组合逻辑电路的VHDL描述、竞争与冒险,用VHDL描述基本逻辑器件,【例】两输入端或门的描述,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder; ARCHITECTURE example2 OF h_adder IS BEGIN so=a XOR b; co=a AND b; END example2;,25,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,用VHDL描述基本逻辑器件,【例】半加器的描述,L

16、IBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL ENTITY mux21 IS PORT(a,b:IN STD LOGIC; s:IN STD LOGIC; y:OUT STD LOGIC); END mux21; ARCHITECTURE example3 OF mux21 IS BEGIN y=a WHEN s=0 ELSE b; END ARCHITECTURE example3;,26,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,用VHDL描述基本逻辑器件,【例】2选1数据选择器的描述,27,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,用VHD

17、L描述基本逻辑器件,例:四选一电路,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT(input: IN STD_LOGIC_VECTOR (3 DOWNTO 0); sel : IN STD_LOGIC_VECTOR (1 DOWNTO 0); y: OUT STD_LOGIC); END mux4; ARCHITECTURE rtl OF mux4 IS BEGIN,PROCESS(input, sel) BEGIN IF(sel=00) THEN y=input(0); ELSIF(sel=01) THEN y=

18、input(1); ELSIF(sel=10) THEN y=input(2); ELSE y=input(3); END IF; END PROCESS; END rtl;,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,竞争(Race),由于电路中各个信号通过的路径不同,当加到某个门电路的两个信号同时向相反方向变化时:,(1) 变化时间有微小差异。,(2) 信号边沿变化时间存在差异。,这就是组合电路的竞争现象。,28,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,冒险,29,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,有竞争无冒险,有竞争有冒险,A,B,F,30,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,冒险的类别,因为信号经不同路径传输后,到达电路中某一会合点的时间差异产生的冒险称为逻辑冒险。,31,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,因为多个信号同时变化时因为过渡过程产生的差异而出现的冒险称为功能冒险。,32,第十讲 组合逻辑电路的VHDL描述、竞争与冒险,组合逻辑电路的竞争与冒险,怎样判定有无险象,例:,理论上 ,下面看实际情况:,令 B=C=1,则 有险,33,第十讲 组合逻辑电路的VHDL描述、竞争与冒险

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论