2022年EDA第五章复习总结.docx

上传人:Che****ry 文档编号:27264124 上传时间:2022-07-23 格式:DOCX 页数:24 大小:116.78KB
返回 下载 相关 举报
2022年EDA第五章复习总结.docx_第1页
第1页 / 共24页
2022年EDA第五章复习总结.docx_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年EDA第五章复习总结.docx》由会员分享,可在线阅读,更多相关《2022年EDA第五章复习总结.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -5.1 VHDL 概述硬件描述语言 VHDL 的突出优点 1.打破了 IC 设计者与使用者的界线 2.VHDL 及其配套工具软件简洁易学,直观明白,便于快速把握,也便于修改;3.极大地缩短了专用芯片的开发周期,降低开发成本,加快了产品更新换代的速度,提 高产品的市场竞争力;4.大大缩小电路板面积和整机体积,提高产品牢靠性,增强产品功能,实现技术保密;5.可实现电路设计的模块化和积木式多级组合;各模块均可在今后被重复再利用(调 用);6.完全实现拥有整机的自主学问产权,不再在关键芯片(专用芯片)的进口及价格方面

2、 受制于人;5.2 VHDL 程序的结构一、基本的 VHDL 描述的组成:实体( entity)部分 64 页2.结构体( architecture)部分 67 页IN 输入 、OUT 输出 是表示信号的类别;和BIT 是表示信号的类型, BIT 是系统定义的类型,即二进位类型,信号只有01两种值;每个 VHDL 语句都是 以“ ; ”终止 ,包括最终一个语句也不例外;VHDL 中的“ 注释” 是以两个减号“-”开头的;二、实体描述ENTITY 实体名IS PORT 信号名 : 类别信号类型; 信号名 : 类别信号类型 ; END 实体名 ; 同样类别和类型的信号可以用逗号分隔,在一个语句行中

3、说明;信号的类别 主要有以下 4 种:IN :此信号是输入信号;OUT :此信号是输出信号,供应应其他的实体;:缓冲信号,也是实体的输出信号,但是可以被实体本身的结构体读入;INOUT :双向信号,既可以输入,也可以输出;系统预定义的信号类型有:0或1 ; 第 1 页,共 13 页 BIT :二进位型,信号的值只能是细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -BIT_VECTOR :二进位向量,实际对应的是二进位数组;BOOLEA

4、N :布尔型,取值只能是true 或者 false ;INTEGER :整型,一般都用32 位二进制数表示整型数;CHARACTER :字符型,使用 8 位编码的 ASCII 字符;三、结构体描述OF 实体名IS ARCHITECTURE 结构体名 BEGIN END 结构体名 ; 对于一个实体来说,可以有几种不同的结构体描述;5.3 VHDL 程序的元素一、关键字 二、标识符的命名 三、数据类型85 页 85 页 91 页预定义: 整数 Integer:-2 的 31 次方-12 的 31 次方 -1 实数 Real:-1.0E+38-+1.0E+38 位 Bit :0或1 位矢量 Bit_

5、Vector:” 001100” 布尔量 Boolean:真或假 字符 Character:A,C 物理 Time:预定义为时间,其他如电压、电流等也为物理型 错误等级 :NOTE、WARNING 、ERROR、FAILURE 自然数( Natural)、正整数( Positive) 字符串( String),如”morning”96 页用户自定义类型: 枚举型 可以通过枚举类型来定义信号的取值;除了最常用的二值规律(已经预定义为 BIT 型),仍可以有三值规律(信号有三种取值: 0 、1和z ),九值规律等TYPE 枚举类型名IS 枚举型值表 ; 如 TYPE qit_logic IS 0,

6、1,Z,X STD_ULOGIC 在 IEEE1164 标准规律包中所定义的 种枚举型的数据类型:std_ulogic 类型是一种九值规律,也是一TYPE std_ulogic IS U, -Uninitialized X, -Forcing Unknown 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -0, - Forcing 0 1, - Forcing 1 Z, -High Impedance W,-

7、Weak Unknown L, -Weak 0 H, -Weak 1 数组类型- , -Dont Care; TYPE 数组名 IS ARRAY 范畴 OF 基类型型;1,其中的“ 基类型” 是已经定义过的类型,甚至可以是已经定义过 的数组类2,定义中的“ 范畴” ,既表示数组的大小,也说明用什么方式表示数组元素的 下标;通常,“ 范畴” 是用整数表示,也可以用枚举值表示3,“ 范畴” 用整数表示时,整数范畴可以是递增表示,也可以是递减表示:TYPE register IS ARRAY 0 TO 7 OF BIT; TYPE regist_1 IS ARRAY 7 DOWNTO 1 OF BI

8、T; TYPE rom IS ARRAY 0 TO 7 OF register; 类型实际上是用 register基类型 定义的 二维数组 ,即TYPE rom IS ARRAY 0 TO 7, 0 TO 7 OF BIT; 数组的范畴仍可以用 已经定义过的枚举型来表示,如:“ red、 yellow、TYPE light_delay IS ARRAY traffic_light OF INTEGER; 这里的traffic-light是已经定义的枚举类型,有三个取值(green” );将来定义的类型为light-delay 的数组,也 只会有三个元素 ;在 VHDL 中,可以对数组的整体赋值

9、:如定义了 regist_1 类型的数组信号:TYPE regist_1 IS ARRAY 7 DOWNTO 0 OF BIT; SIGNAL arr_1, arr_2 : regist_1; 97 页以下的赋值操作在VHDL 中都是答应的:arr_1 = 10110110; arr_2 =arr_1; 子类型期望对某种类型数据的范畴加以限制四、对象把信号、变量、常量和文件统称为对象;89 页1. 常量的定义 CONSTANT 常量名 : 类型名 := 常量值 ; 例如:CONSTANT array_size : INTEGER := 16; CONSTANT gate_delay : TIM

10、E := 50ns; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2.变量的定义变量的定义采纳如下的方式:VARIABLE 变量名 : 类型名 :=初值 ;变量的赋值用“:=”来表示;变量的赋值没有推迟;3.信号的定义信号定义的方式:SIGNAL 信号名 : 类型名 :=初值 ; 信号的赋值用“=” 表示,有推迟,初始化不同于赋值信号的传送可以规定推迟,也可以不规定推迟;但是VHDL 规定,假如没有指定信

11、号传送的推迟,信号的传送也会有 一个最小推迟 ;信号可以是 全局定义 的,PORT 中定义的信号就是对全部的结构体都有效;但是,信号也可以是 局部定义 的,在结构体内部定义的信号只对这个结构体有效;五、词法单元 87 页1.注释 以双连符( -)开头直到行末2.VHDL 中的数字 八进制: 以 O 开头,如 O” 340” 二进制: 以 B 开头,如 B” 11100000” 十六进制: 以 X 开头 ,如 X” E0”字符 文字字符表示形式为:单引号括起来的ASCII 字符,如A,* 字符串文字字符串表示形式为:双引号括起来的图形字符序列;如”how are you”,” 等5.位串 位串表

12、示形式为:双引号括起来的扩展的数字序列 ,数字序列前冠以基数说明符;如:长度为八的二进制数,等效245 6.VHDL 语句中使用的标点符号 分号(;)是一条语句终止的标志 逗号(,)是对象的分隔符 冒号(:)和原点( .)的用法在每条语句中给出六、表达式与运算符102 页详细的运算符和其他程序设计语言中的表达式很相像,一个表达式是由运算符把对象名、文 字、函数调用及括起来的表达式连接起来的式子;在一个 VHDL 表达式中,数据的类型应当相同;假如不同的数据类型显现在同一个表达式, VHDL 不会进行自动类型的转换,而只会给出错误信息;AND 运算;支持运算符的重载;例如可以对不同类型的信号各自

13、进行细心整理归纳 精选学习资料 第 4 页,共 13 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -七、 VHDL 的库和包1.VHDL 库的种类和使用VHDL 的库可以分为三种类型:系统库, IEEE 库、用户库;系统库 是 VHDL 语言本身预定义的库,包括 STD 库和 WORK 库; STD 库是系 统的标准库,全部系统本身预定义的类型和有关的操作都包含在这个库中;WORK 库 是用户的工作库;对用户都是 透亮的 ,也就是 随时都可以使用 的,不需

14、要在描述中专门说明;IEEE 库是 IEEE 认可的标准库,其中包括对于 的定义;STD_LOGIC 类型以及有关函数用户库 就是 VHDL 软件供应厂商开发的库,应当查询相应软件的说明;2.程序包一个 VHDL 库可以包含很多内容,并且往往以程序包(Package)的形式组织在一起;一个程序包由两个部分构成:包的说明部分(部分( Package Body);基本的结构如下:Package Declaration)和包的主体PACKAGE 程序包名 IS 程序包说明部分 END 程序包名 ; PACKAGE BODY 程序包名 程序包主体描述IS END 程序包名 ; 说明部分可以包括:常量说

15、明;信号说明,这里说明的信号可以被全部的结构体使用;类型说明;函数或过程说明;部件( Component)说明,程序包的主体部分 就是对所包含的函数、过程、结构体进行详细的描述;程序包示例PACKAGE qit_utilities IS TYPE qit IS 0, 1, Z, X;FUNCTION AND a, b :qit RETURN qit; FUNCTION OR a, b :qit RETURN qit; END qit_utilities; 只是声明,有这个函数细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 13 页 - -

16、 - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -PACKAGE BODY qit_utilities IS FUNCTION AND a, b :qit RETURN qit IS CONSTANT qit_and_table : qit_2d := 0, 0, 0, 0, 0, 1, 1, X, 0, 1, 1, X, 0, X, X, X; BEGIN RETURN qit_and_tablea, b; END AND; FUNCTION OR a, b :qit RETURN qit IS CONSTANT qit_or

17、_table : qit_2d := 0, 1, 1, X, 1, 1, 1, 1, 1, 1, 1, 1, X, 1, 1, X; BEGIN RETURN qit_or_tablea, b; END OR; 对函数的详细过程描述函数的定义方法 71 页例 3-3 比较END qit_utilities; 以上的程序包中定义了一种4 值规律及其操作 ;在说明部分定义了一种新的信号类型 qit,也就是一种 4 值规律,仍说明白两个函数 AND 和 OR,用来对 4 值规律进行“ 与”“ 或” 运算;在 BODY 部分实现了这两个函数;3.库和程序包的引用源程序都要第一声明使用什么VHDL77

18、页在全部的VHDL库;声明要使用关键字LIBRARY ,例如,要使用 IEEE 库,使用这个库中的哪个程序包就应当作以下的声明:LIBRARY IEEE; 函USE 库名.程序包名 .ALL; 包中全部内容可用USE 库名.程序包名 .子程序名 ; 包中选中内容可用4.函数和过程前一页程序包的例子中既可以使用函数,也可以使用过程(Procedure);两者统称为子程序;数的定义 包括函数说明和函数主体两部分,基本的格式如下:FUNCTION 函数名 参数表 RETURN 类型 IS BEGIN 函数体 END 函数名 ; 函数体中 肯定要包括 RETURN 语句 ;过程的定义和函数的定义特别相

19、像:PROCEDURE 过程名 参数表 IS BEGIN 过程体END 过程名 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -过程没有返回值;函数的参数传递总是 一个方向 的,也就是传入到函数,而过程的参数传递可以是 两个方向 的;详细在过程执行中参数如何传递,取决于参数的类别(IN、OUT、INOUT等),而对于函数参数的类别,就只能有一种 :IN ,就是输入到函数;5.4 VHDL 程序的描述语句可

20、以有很多并行处理语句,这些语句的执行是可以同时进行的;并行语句主要是 信号传送语句;传送时可以指定传输推迟; ;假如传送时没有指定时延,VHDL 会对并行处理语句的执行加上一个最小时延一、并行赋值 语句并行赋值语句是最基本的 VHDL 语句,它的格式是:信号名 =表达式 ; 信号名 =表达式 AFTER 推迟时间 ; 例 5.4 半加器 的数据流描述 ;ENTITY half_adder IS PORTa, b: IN BIT; s, c0: OUT BIT; END half_adder; ARCHITECTURE h_adder OF half_adder IS SIGNAL c, d:

21、BIT; c= a OR b; BEGIN 信号时非输入输出的中间量相 d= a NAND b; 当于下一阶段的输入和上一阶段的输出 . c0= NOT d; s= c AND d; END h_adder; 二、条件赋值语句条件赋值语句也是一种信号赋值语句,只是赋给信号的值可以依据条件的不同而不同;条件赋值语句的 格式如下 :信号名 = 表达式 1 WHEN 布尔表达式 1 ELSE 表达式 2 WHEN 布尔表达式 2 ELSE 表达式 n WHEN 布尔表达式 n ELSE 表达式 ; 例 5.5 用条件赋值语句描述 数据挑选器;ENTITY mux4_to_1 IS PORTd0, d

22、1, d2, d3, a, b: IN BIT; y: OUT BIT; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -END mux4_to_1; ARCHITECTURE sample_1 OF mux4_to_1 IS BEGIN y= d0 WHEN a=0 AND b=0 ELSE d1 WHEN a=0 AND b=1 ELSE d2 WHEN a=1 AND b=0 ELSE d3 WHEN

23、a=1 AND b=1 ; END sample_1 三,挑选信号赋值语句和例 5.4 比,没有需要中间信号挑选信号赋值语句可以依据一个表达式的不同取值,给信号或者信号数组赋以不同 的结果;挑选信号赋值语句的格式如下:WITH 表达式 SELECT 信号名 = 信号值 1 WHEN 表达式值 1, 信号值 2 WHEN 表达式值 2, 信号值 n WHEN others; 例 5.6 用信号挑选语句 描述数据挑选器;ENTITY mux4_to_1 IS PORTd0, d1, d2, d3, a, b: IN std_logic; y: OUT std_logic; END mux4_to_

24、1; ARCHITECTURE sample_2 OF mux4_to_1 IS BEGIN WITH a&b SELECT y= d0 WHEN 00, d1 WHEN 01, d2 WHEN 10, d3 WHEN 11, X WHEN OTHERS; END sample_2; 5.4.2 次序描述语句并行信号传输语句主要描述硬件电路或系统中信号的传送过程;同时,VHDL 仍支持次序描述语句,主要使用于对电路和系统的性能描述;次序描述语句的执行就和一般程序设计语言中语句相像,是依据语句的次序依次执行的;前一条语句的 结果会影响到下一条语句的执行;132 页一、 PROCESS语句尽管 P

25、ROCESS语句本身是并行描述语句, 可以和其他并行语句同时执行,但是PROCESS语句 内部的语句都是次序语句;PROCESS语句一旦开头执行,就要依次执行其中的次序语句,始终到最终的 END PROCESS为止;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -语句的格式如下:PROCESS信号 1, ,信号 k 用到的信号 变量说明 定义 ; 其他说明 ; BEGIN 次序语句 次序语句 END PROC

26、ESS; 二、分支语句两分支 IF 语句的格式:多分支 IF 语句的格式:IF 布尔表达式 IF 布尔表达式 THEN 次序语句 THEN 次序语句 ELSE 次序语句 ELSIF 布尔表达式 END IF; THEN 次序语句 ELSE 次序语句 END IF; 例 5.7 反向器 的次序描述;ENTITY inverter IS PORTx: IN BIT; y: OUT BIT; END inverter; ARCHITECTURE behave OF inverter IS BEGIN PROCESSx 只用到 x 作为判定条件 BEGIN IF x=0 THEN y=1;ELSE y

27、 次序语句 1 WHEN 值 k = 次序语句 k WHEN OTHERS = 次序语句 k+1 END CASE; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -例 5.8 四选一数据挑选器 的次序描述;ENTITY mux4_1 IS PORTa, b, i0, i1, i2, i3: IN BIT;y: OUT BIT; END mux4_1; ARCHITECTURE behave OF mux4_

28、1 IS SIGNAL sel bit_vector1 DOWNTO 0; BEGIN sel y y y y信号名 1, ,接口信号 n =信号名n; 采纳这样的格式,就不要求 COMPONENT 语句中的信号名和ENTITY 的PORT 部分的信号名保持次序上的一样,而只要它们的对应关系正确就可以了;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -例 5.9 全加器的结构描述;ENTITY full_a

29、dder IS PORTx, y, cin: IN BIT; sum, carry: OUT BIT; END full_adder; 使用前面已经定义过的半加器ARCHITECTURE struct OF full_adder IS COMPONENT half_adder 部件声明 PORTa, b: IN BIT;s, c0: OUT BIT; END COMPONENT; SIGNAL h1_s, h1_c, h2_c: BIT; BEGIN h1: half_adder PORT MAPx, y, h1_s, h1_c; 部件描述第一种(如 x 对应声明中的 a)h2: half_a

30、dder PORT MAPa=h1_s, b=cin, s=sum, c0=h2_c; 其次种( h2 中的 a 对应 h1_s)第一个全家器的输出被其次个的输入对应carry=h2_c OR h1_c; END struct; 5.5.2 时序规律电路中的应用一、时钟信号时序规律电路中进程的敏锐信号是时钟信号;描述方式有两种:1 时钟信号显示地显现在PROCESS语句后面的敏锐信号表中;2 时钟信号没有显示地显现在 在 WAIT 语句的后面;沿分为上升沿和下降沿;PROCESS语句后面的敏锐信号表中,而是显现(1) 上升沿描述 : 其物理意义是指时钟信号的规律值是从0跳变到1 ;描述 1:P

31、ROCESS(clk)BEGIN 1 )THEN 描述 2:IF (clkEVENT AND clk = END PROCESS ;label2:PROCESS(clk)BEGIN WAIT UNTIL clk = 1 ;END PROCESS ;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -(2) 下降沿描述 : 1跳变到0其物理意义是指时钟信号的规律值是从描述 1:PROCESS(clk)BEGIN IF (clkEVENT AND clk = 0 )THEN END PROCESS ;描述 2:PROCESS(clk)BEGIN 0 ;WAIT UNTIL clk = END PROCESS ;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 13 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁