理学EDA技术项目数据选择器电路设计PPT学习教案_第1页
理学EDA技术项目数据选择器电路设计PPT学习教案_第2页
理学EDA技术项目数据选择器电路设计PPT学习教案_第3页
理学EDA技术项目数据选择器电路设计PPT学习教案_第4页
理学EDA技术项目数据选择器电路设计PPT学习教案_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1理学理学EDA技术项目数据选择器电路设计技术项目数据选择器电路设计2一、项目描述第1页/共52页3第2页/共52页4第3页/共52页5第4页/共52页6六选一的呢?四选一的呢?二选一MUX21asby第5页/共52页7(1)VHDL程序的基本结构(2)VHDL程序的库使用与实体部分描述方法(3)VHDL程序的结构体部分描述方法(4)when_else并行语句与with_select并行语句以及在数据选择器电路中的应用VHDL相关语法 第6页/共52页8一、一、VHDLVHDL程序基本结构程序基本结构第7页/共52页9 库、程序包 实体(Entity) 结构体 (Architecture

2、) 进程 或其它并行结构 配置(Configuration)VHDLVHDL程序基本结构程序基本结构第8页/共52页10程序包:程序包:在在 VHDL VHDL 中中 , , 程序包主要用来存放各个设计都能共享的信号说明、常量定义、数据类型、子程序说明、属性说明和元件说明等部分。如果需要使用程序包中的某些说明和定义程序包主要用来存放各个设计都能共享的信号说明、常量定义、数据类型、子程序说明、属性说明和元件说明等部分。如果需要使用程序包中的某些说明和定义 , , 设计人员只需要使用设计人员只需要使用 USE USE 子句来进行一下说明就可以了。子句来进行一下说明就可以了。目的:方便公共信息、资源

3、的访问和共享。目的:方便公共信息、资源的访问和共享。库:库: 多个程序包构成库。多个程序包构成库。 1 1、 程序包、库程序包、库第9页/共52页11库的使用语法:程序包的使用有两种常用格式: 例: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.conv_integer; library 库名; use 库名程序包名项目名; use 库名程序包名All;第10页/共52页12程序包说明的内容: 常量说明; VHDL数据类型说明; 元件说明; 子程序说明;程序包的结构包括: 程序包说明(包首) 程序包

4、主体(包体)第11页/共52页13包声明项可由以下语句组成: use 语句(用来包括其它程序包); 类型说明;子类型说明;常量说明; 信号说明;子程序说明;元件说明。 package 程序包名 is 包说明项 end 程序包名;(1 1)程序包说明(包首)程序包说明(包首)语法:第12页/共52页14例:程序包说明第13页/共52页15包体说明项可含: use 语句;子程序说明;子程序主体;类型说明;子类型说明;常量说明。 package body 程序包名 is 包体说明项 end 程序包名;(2 2)程序包包体)程序包包体程序包的内容:子程序的实现算法。包体语法:第14页/共52页16程序

5、包首与程序包体的关系: 程序包体并非必须,只有在程序包中要说明子程序时,程序包体才是必须的。 程序包首可以独立定义和使用。如下: 第15页/共52页17package seven is subtype segments is bit_vector(0 to 6); type bcd is range 0 to 9;end seven; library work;use work.seven.all;entity decoder is port(input: in bcd; drive: out segments);end decoder;architecture art of decoder

6、isbegin第16页/共52页18 with input select drive=B“1111110” when 0, B“0110000” when 1, B“1101101” when 2, B“1111001” when 3, B“0110011” when 4, B“1011011” when 5, B“1011111” when 6, B“1110000” when 7, B“1111111” when 8, B“1111011” when 9, B“0000000” when others;end architecture art;abcdefg第17页/共52页19第18页/

7、共52页20(3 3)库的种类)库的种类 VHDL库可分为 5种: 1 1)IEEE IEEE 库库 定义了四个常用的程序包: std_logic_1164 std_logic_1164 std_logic_arithstd_logic_arith std_logic_signed std_logic_signed std_logic_unsignedstd_logic_unsigned第19页/共52页21 Type STD_LOGIC: 9 logic value system (U, X, 0, 1, Z, W, L, H, -) W, L, H” weak values (Not su

8、pported by Synthesis) X - (not x)used for unknown Z - (not z) used for tri-state - Dont Care 第20页/共52页22第21页/共52页23(4 4)库及程序包的使用)库及程序包的使用 库及程序包的说明总是放在实体单元前面,默认库及程序包可不作说明。用关健字library说明要使用的库,用关健字 use 说明要使用的库中的程序包。 库及程序包的作用范围:仅限于所说明的设计实体。 每一个设计实体都必须有自已完整的库及程序包说明语句。第22页/共52页242 2、实体、实体 实体: 定义系统的输入输出端口 语

9、法: ENTITY IS Generic Declarations Port DeclarationsEND ; (1076-1987 version)END ENTITY ; ( 1076-1993 version)第23页/共52页25Generic ( 常数名称:类型 := 缺省值 常数名称:类型 := 缺省值 );第24页/共52页26第25页/共52页27例:2输入与门的实体描述 entity and2 is generic(risewidth: time:= 1 ns; fallwidth: time:= 1 ns); port(a1: in std_logic; a0: in s

10、td_logic; z0: out std_loigc); end entity and2; 注:数据类型 time 用于仿真模块的设计。 综合器仅支持数据类型为整数的类属值。第26页/共52页28Port ( 端口名称,端口名称:端口模式 数据类型; 端口名称,端口名称:端口模式 数据类型 );(2 2)端口声明)端口声明端口声明:确定输入、输出端口的数目和类型。第27页/共52页29inout 和 buffer 的区别:第28页/共52页30第29页/共52页31(3 3)数据类型:)数据类型:第30页/共52页32 VHDL是一种强数据类型语言。 要求设计实体中的每一个常数、信号、变量、

11、函数以及设定的各种参量都必须具有确定的数据类型,并且相同数据类型的量才能互相传递和作用。第31页/共52页33又分为: 预定义数据类型、 用户自定义数据类型(1 1)VHDLVHDL的预定义数据类型的预定义数据类型 1 1)布尔量()布尔量(booleanboolean) 布尔量具有两种状态:false 和 true 常用于逻辑函数,如相等(=)、比较() 等中作逻辑比较。 如,bit 值转化成boolean 值: boolean_var := (bit_var = 1);第32页/共52页342 2)位()位(bitbit) bit 表示一位的信号值。 放在单引号中,如 0 或 1。3 3)

12、位矢量位矢量 (bit_vectorbit_vector) bit_vector 是用双引号括起来的一组位数据。 如: “001100” X“00B10B”4 4)字符()字符(charactercharacter) 用单引号将字符括起来。 variable character_var : character; . . Character_var : = A;第33页/共52页355 5)整数()整数(integerinteger) integer 表示所有正的和负的整数。硬件实现时,利用32位的位矢量来表示。可实现的整数范围为: -(231-1) to (231-1) VHDL综合器要求对具

13、体的整数作出范围限定,否则无法综合成硬件电路。 如:signal s : integer range 0 to 15; 信号 s 的取值范围是0-15,可用4位二进制数表示,因此 s 将被综合成由四条信号线构成的信号。第34页/共52页366 6)自然数()自然数(naturalnatural)和)和正整数(正整数(positivepositive) natural是integer的子类型,表示非负整数。 positive是integer的子类型,表示正整数。 定义如下: subtype natural is integer range 0 to integerhigh; subtype po

14、sitive is integer range 1 to integerhigh;第35页/共52页377 7)实数()实数(REALREAL) 或称浮点数 取值范围:-1.0E38 - +1.0E38 实数类型仅能用于VHDL仿真器,一般综合器 不支持。8 8)字符串(字符串(stringstring) string 是 character 类型的一个非限定 数组。用双引号将一串字符括起来。如: variable string_var : string(1 to 7); string_var := “Rosebud”;第36页/共52页389 9)时间()时间(TIMETIME) 由整数和物

15、理单位组成 如:55 ms,20 ns1010)错误等级()错误等级(SEVERITY_LEVELSEVERITY_LEVEL) 仿真中用来指示系统的工作状态,共有四种: NOTE(注意)、 WARNING(警告)、 ERROR(出错)、 FAILURE(失败)第37页/共52页39(2 2)IEEEIEEE预定义标准逻辑位与矢量预定义标准逻辑位与矢量 1 1)std_logic std_logic 类型类型 由 ieee 库中的std_logic_1164 程序 包定义,为九值逻辑系统,如下: (U,X,0,1,Z,W,L,H,-) U:未初始化的, X:强未知的, 0:强0, 1:强1,

16、Z:高阻态, W:弱未知的, L:弱0, H:弱1, -:忽略第38页/共52页40 由 std_logic 类型代替 bit 类型可以完成电子系统的精确模拟,并可实现常见的三态总线电路。2 2)std_logic_vector std_logic_vector 类型类型 由 std_logic 构成的数组。定义如下: type std_logic_vector is array(natural range) of std_logic; 赋值的原则:相同位宽,相同数据类型。第39页/共52页41(3 3)用户自定义类型)用户自定义类型 用户自定义类型是VHDL语言的一大特色。 可由用户定义的数

17、据类型有: 枚举类型、 整数和实数类型、 数组类型、 记录类型、 子类型第40页/共52页42 用类型定义语句TYPE数据类型。 TYPE语句格式:例: type week is (sun, mon, tue, wed, thu, fri, sat);type 数据类型名 is 数据类型定义 of 基本数据类型;第41页/共52页431 1)枚举类型)枚举类型 枚举该类型的所有可能的值。格式:如:type std_logic is(U,X,0,1, Z,W,L,H,-)如:type color is(blue,green,yellow, red); type my_logic is (0, 1

18、, U, Z); variable hue : color; signal sig : my_logic; hue := blue; sig = Z;type 类型名称 is (枚举文字,枚举文字);第42页/共52页44枚举类型的编码: 综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0,以后的依次加1。编码用位矢量表示 ,位矢量的长度将取所需表达的所有枚举元素的最小值。如:type color is(blue,green,yellow,red); 编码为: blue=“00”; green=“01”; yellow=“10”; red=“11”;第43页/共52页45(

19、4 4)数据类型转换)数据类型转换 VHDL是一种强类型语言,不同类型的数据对象必须经过类型转换,才能相互操作。1)类型转换函数方式 通过调用类型转换函数,使相互操作的数据对象的类型一致,从而完成相互操作。第44页/共52页46 2 2)直接类型转换方式)直接类型转换方式 对相互间非常关联的数据类型(如整型、浮点型),可进行直接类型转换。格式: 数据类型标识符(表达式)如:variable a, b : real; variable c, d : integer; a:= real(c); d:= integer(b);第45页/共52页47作用:定义系统(或模块)的行为、元件及内部 的连接关系,即描述其逻辑功能。两个组成部分: 对数据类型、常数、信号、子程序、元件等 元素的说明部分。 以各种不同的描述风格描述的系统的逻辑功 能实现的部分。常用的描述风格有:行为描 述、数据流描述、 结构化描述。3、结构体、结构体第46页/共52页484 4、配置、配置设计实体结构体1结构体2结构体3结构体n。一个设计实体的多种实现方式配置:从某个实体的多种结构体描

温馨提示

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

评论

0/150

提交评论