




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第九讲组合逻辑电路分析与设计1、VHDL语言介绍2、组合逻辑电路VHDL描述3、组合逻辑电路中的竞争与冒险2第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍VHDL:Very High Speed Integrated Circuit Hardware Description Language,即超高速,即超高速集成电路硬件描述语言。集成电路硬件描述语言。 VHDL作为作为IEEE标准的硬件描述语言和标准的硬件描述语言和EDA的重要组成部分,经过几十年的发展、应用和完善,的重要组成部分,经过几十年的发展、应用和完善,以其强大的系统描述能力、规范的程序设计结构、以其强大的系统描述能力
2、、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段,在灵活的语言表达风格和多层次的仿真测试手段,在电子设计领域受到了普遍的认同和广泛的接受,成电子设计领域受到了普遍的认同和广泛的接受,成为现代为现代EDA领域的首选硬件设计语言。专家认为,领域的首选硬件设计语言。专家认为,在新世纪中,在新世纪中,VHDL与与Verilog语言将承担起几乎全语言将承担起几乎全部的数字系统设计任务。部的数字系统设计任务。3第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍结构体结构体(ARCHITECTURE)进程进程或其它并行结构或其它并行结构实体实体ENTITY)配置配置CONFIGURAT
3、ION)库、程序包库、程序包设设计计实实体体库库LIBRARYLIBRARY)存放预先设计好的程序包和数据存放预先设计好的程序包和数据的集合体。的集合体。程序包程序包PACKAGEPACKAGE)将已定义的数据类型、元件将已定义的数据类型、元件调用说明及子程序收集在一起,供调用说明及子程序收集在一起,供VHDLVHDL设计实体共设计实体共享和调用,若干个包则形成库。享和调用,若干个包则形成库。IEEE库包括:库包括:STD_LOGIC_1164STD_LOGIC_ARITH是是SYNOPSYS公司加公司加入入IEEE库程序包,包括:库程序包,包括:STD_LOGIC_SIGNED有符号数)有符
4、号数)STD_LOGIC_UNSIGNED无符号数)无符号数)1、库、程序包、库、程序包4第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍STD_LOGIC_SMALL_INT(小整型数小整型数)VHDL 87版本使用版本使用IEEE STD 1076-1987 语法标准语法标准VHDL 93版本使用版本使用IEEE STD 1076-1993 语法标准语法标准例:例:LIBRARY IEEEUSE IEEE.STD_LOGIC_1164.ALL描述器件的输入、输出端口数据类型中将要用到的描述器件的输入、输出端口数据类型中将要用到的IEEE的标准库中的的标准库中的STD_LOGIC_
5、1164程序包。程序包。5第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍格式:格式:ENTITY 实体名实体名 IS类属参数说明类属参数说明端口说明端口说明END 实体名;实体名; 规则:(规则:(1类属参数说明必须放在端口说明之前,类属参数说明必须放在端口说明之前,用于指定如矢量位数、延迟时间等参数。例如用于指定如矢量位数、延迟时间等参数。例如GENERICm:TIME:=1 ns););-说明说明m是是一个值为一个值为1ns的时间参数的时间参数则程序语句:则程序语句:tmp1 = d0 AND se1 AFTER m;-表表示示d0 AND se1经经1ns延迟后才送到延迟后才
6、送到tem1。2、实体、实体ENTITY说明说明6第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍(2端口说明是描述器件的外部接口信号的说明,端口说明是描述器件的外部接口信号的说明,相当于器件的引脚说明。其格式为:相当于器件的引脚说明。其格式为:PORT端口名端口名,端口名,端口名:方向:方向 数据类型名;数据类型名;: 端口名端口名,端口名,端口名:方向:方向 数据类型名);数据类型名); 例如:例如:PORTa,b:IN STD_LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC););7第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍端口方向
7、包括:端口方向包括:IN; -输入,输入, 符号:符号:OUT; -输出,输出, 符号:符号:INOUT;-双向,双向, 符号:符号:BUFFER;-具有读功能的输出,符号:具有读功能的输出,符号:D QBUFFER 端口端口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_gate ;上面的实体声明描
8、述了一个或门单元,它有三上面的实体声明描述了一个或门单元,它有三个引脚个引脚a、b、c。给出了三个引脚。给出了三个引脚a、b、c的参的参数;数;in和和out数据类型是数据类型是bit。基本设计单元的实体,用于指明设计基本单元的行为、基本设计单元的实体,用于指明设计基本单元的行为、元件及内部连接关系,即定义设计单元的功能。元件及内部连接关系,即定义设计单元的功能。 结构体的结构:结构体的结构:ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS说明语句说明语句;-为内部信号、常数、数据类型、函数为内部信号、常数、数据类型、函数定义定义BEGIN功能描述语句功能描述语句END A
9、RCHITECTURE 结构体名;结构体名;3、结构体、结构体ARCHITECTURE)10第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍例如:或门的结构体例如:或门的结构体ARCHITECTURE or1 OF temp1 ISSIGNAL y:STD_LOGIC;BEGINy=a OR b;END ARCHITECTURE or1;11第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍12第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍4、进程、进程PROCESS)进程语句属于并行语句,它在进程语句属于并行语句,它在VHDL中使用最频繁、中使用最频繁、最能体现
10、最能体现VHDL风格。风格。 进程语句格式:进程语句格式:进程标号:进程标号:PROCESS (敏感信号参数表)(敏感信号参数表) IS 进程说明部分进程说明部分 BEGIN顺序描述语句顺序描述语句 END PROCESS 进程标号进程标号; 进程语句是并行处理语句,即各个进程是同时处理的,在一个结构体中多个Process语句是同时并发运行的。Process语句的特点:语句的特点:进程结构内部的所有语句都是顺序执行的。进程结构内部的所有语句都是顺序执行的。多进程之间,是并行执行的,并可访问构造多进程之间,是并行执行的,并可访问构造体或实体中所定义的信号。体或实体中所定义的信号。进程的启动是由进
11、程标识符进程的启动是由进程标识符process后的信号后的信号敏感表所标明的信号来触发进程的活动,也敏感表所标明的信号来触发进程的活动,也可以用可以用WAIT语句等待一个触发条件的成立。语句等待一个触发条件的成立。各进程之间的通信是由信号来传递的。各进程之间的通信是由信号来传递的。13第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍例 不含信号敏感表的进程语句ARCHITECTURE multiple_wait OF tests ISSIGNAL a,b:bit:=0;BEGINP1:PROCESS BEGIN WAIT ON a; WAIT ON b; WAIT FOR 0ns;
12、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第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍例利
13、用进程语句设计的半加器ARCHITECTUTEbehav OF half_adder ISBEGINPadder:PROCESS(a,b)BEGIN sum=a XOR b AFTER 5ns; carry=a AND b AFTER 5ns;ENDPROCESS Padder;END behav;16第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍 进程是一个无限循环的硬件行为的描述。当进程执行完最后一个语句时,在敏感信号的触发下,又开始重复执行,这个模块就这样永无修止地工作。但是如果没有敏感信号的变化,这个进程就不会工作。17第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL
14、介绍把特定的结构体关联指定给一个确定的实体,为把特定的结构体关联指定给一个确定的实体,为大型系统的设计提供管理和工程组织。大型系统的设计提供管理和工程组织。5、配置、配置CONFIGURATION)18第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍configuration configuration 配置名配置名 of of 实体名实体名 is is for for 选配结构体名选配结构体名 end for end for ;end end 配置名;配置名;配置:从某个实体的多种结构体描述方式中选择配置:从某个实体的多种结构体描述方式中选择 特定的一个。特定的一个。19VHDL语
15、言的基本语句语言的基本语句n顺序语句顺序语句Sequential Statements)n并行语句并行语句Concurrent Statements)第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍顺序语句特征:顺序语句只能出现在进程或子程序、块中顺序语句描述的系统行为有时序流、控制流、条件分支和迭代算法等顺序语句用于定义进程、子程序等的算法顺序语句的功能操作有算术、逻辑运算,信号、变量的赋值,子程序调用等20第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍顺序语句 WAIT语句; 断言语句; 信号代入语句; 变量赋值语句; IF语句; CASE语句; LOOP语句; NE
16、XT语句; EXIT语句; 过程调用语句; NULL语句。21第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍并行语句 进程语句 并发信号代入语句 条件信号代入语句 选择信号代入语句 并发过程调用语句 块语句 并行断言语句 Generate 生成语句 元件例化语句22第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍23第十讲 组合逻辑电路的VHDL描述、竞争与冒险VHDL介绍library ieee; -使用的库使用的库use ieee.std_logic_1164.all;-使用的包使用的包 entity and_ent is -名为名为and_ent的实体的实体 por
17、t(a,b: in std_logic; -输入信号为输入信号为a,b y: out std_logic); -输出信号为输出信号为yend and_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 ISPORT(a,b:IN STD_
18、LOGIC;y:OUT STD LOGIC););END or1;ARCHITECTURE example1 OF or1 ISBEGIN y=a OR b;END example1;24第十讲 组合逻辑电路的VHDL描述、竞争与冒险用VHDL描述基本逻辑器件【例】两输入端或门的描述【例】两输入端或门的描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder ISPORT(a,b:IN STD_LOGIC;so,co:OUT STD_LOGIC);END h_adder;ARCHITECTURE example2 OF h_adder
19、 ISBEGIN so=a XOR b;co=a AND b;END example2; absoco25第十讲 组合逻辑电路的VHDL描述、竞争与冒险用VHDL描述基本逻辑器件【例】半加器的描述【例】半加器的描述LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL ENTITY mux21 ISPORTa,b:IN STD LOGIC;s:IN STD LOGIC;y:OUT STD LOGIC););END mux21;ARCHITECTURE example3 OF mux21 ISBEGIN y=a WHEN s=0 ELSEb;END ARCHITECTU
20、RE example3;ab sy26第十讲 组合逻辑电路的VHDL描述、竞争与冒险用VHDL描述基本逻辑器件【例】【例】2选选1数据选择器的描述数据选择器的描述27第十讲 组合逻辑电路的VHDL描述、竞争与冒险用VHDL描述基本逻辑器件例例:四选一电路四选一电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(input: IN STD_LOGIC_VECTOR (3 DOWNTO 0);sel : IN STD_LOGIC_VECTOR (1 DOWNTO 0);y: OUT STD_LOGIC);END mux4;AR
21、CHITECTURE rtl OF mux4 ISBEGINPROCESS(input, sel)BEGINIF(sel=00) THENy=input(0);ELSIF(sel=01) THENy=input(1);ELSIF(sel=10) THENy=input(2);ELSEy=input(3);END IF;END PROCESS;END rtl;第十讲 组合逻辑电路的VHDL描述、竞争与冒险组合逻辑电路的竞争与冒险竞争竞争(Race) (Race) 由于电路中各个信号通过的路径不同,当加到某个门电路的两个信号同时向相反方向变化时:(1) 变化时间有微小差异。(2) 信号边沿变化时间
22、存在差异。这就是组合电路的竞争现象。28第十讲 组合逻辑电路的VHDL描述、竞争与冒险组合逻辑电路的竞争与冒险冒险冒险由于存在竞争,使电路的输出出现瞬间的逻辑错误称为冒险。工程上也称为毛刺。ABF“0”想理ABF&29第十讲 组合逻辑电路的VHDL描述、竞争与冒险组合逻辑电路的竞争与冒险有竞争无冒险有竞争有冒险ABF30第十讲 组合逻辑电路的VHDL描述、竞争与冒险组合逻辑电路的竞争与冒险冒险的类别冒险的类别因为信号经不同路径传输后,到达电路中某一会因为信号经不同路径传输后,到达电路中某一会合点的时间差异产生的冒险称为逻辑冒险。合点的时间差异产生的冒险称为逻辑冒险。31第十讲 组合逻辑电路的VHDL描述、竞争与冒险组合逻辑电路的竞争与冒险因为多个信号同时变化时因为过渡过程产生的差因为多个信号同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省金科大联考2025届高三3月质量检测数学试卷
- 多发伤疑难病例护理讨论
- 呼吸心跳骤停护理个案
- 办公室礼仪培训
- 单元七酒店安全管理(公共安全管理)
- 手外科患者的疼痛管理
- 侗族文化介绍
- 陕西省咸阳市2024-2025学年高三下学期高考模拟检测(二)化学试题(含答案)
- 截瘫病人的并发症护理
- 中国压缩机零部件行业发展状况及需求潜力预测报告2025-2030年
- 部编版小学二年级语文下册《口语交际图书借阅公约》教学反思(三篇)
- 艾滋病(AIDS)经典课件
- 卵巢癌根治术手术配合
- 义务教育质量监测小学四年级 德育模拟试卷附答案
- 人教版五年级下册语文 第4单元 10.青山处处埋忠骨课前预习课件
- PPT模板 上海外国语大学
- 数学人教版八年级下册数学活动——折纸做60度,30度,15度的角
- 各阶段的BIM技术应用71页
- 仓库绩效考核制度规定办法
- 重返狼群李微漪和格林
- JND-Ⅱ增量型双路闸门开度仪
评论
0/150
提交评论