版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VHDL与数字电路设计,主讲:崔 刚 北京工业大学电控学院电工电子中心 2005年9月1,目录,概述 第一章 VHDL的程序结构和软件操作 第二章 数据类型与数据对象的定义 第三章 并行赋值语句 第四章 顺序赋值语句 第五章 组合逻辑电路的设计 第六章 时序逻辑电路的设计 第七章 子程序、库和程序包 第八章 CPLD和FPGA的结构与工作原理 第九章 数字钟电路的设计,本节主要内容,传统数字电路设计方法 EDA设计方法 PLD器件 PLD器件设计流程 文本设计输入VHDL程序设计,数字电子技术的基本知识回顾,组合逻辑电路 编码器、译码器、数据选择器、加法器、数值比较器等 时序逻辑电路 同步时序
2、逻辑电路 异步时序逻辑电路 寄存器、移位寄存器、计数器、序列信号发生器,一、传统设计方法,(1)首先确定可用的元器件; (2)根据这些器件进行逻辑设计,完成各模块; (3)将各模块进行连接,最后形成系统; (4)而后经调试、测量观察整个系统是否达到规定的性能指标。,传统的设计方法是基于中小规模集成电路器件进行设计(如74系列及其改进系列、CC4000系列、74HC系列等都属于通用型数字集成电路),而且是采用自底向上进行设计:,EDA(Electronics Design Automation)即电子设计自动化技术,是利用计算机工作平台,从事电子系统和电路设计的一项技术。 EDA技术为电子系统设
3、计带来了这样的变化: (1)设计效率提高,设计周期缩短; (2)设计质量提高; (3)设计成本降低; (4)能更充分地发挥设计人员的创造性; (5)设计成果的重用性大大提高,省去了不必要的重复劳动。,二、EDA设计方法,自顶向下的设计方法,数字电路的EDA设计是基于PLD进行设计的,支持自顶向下的设计方法: (1)首先从系统设计入手,在顶层进行功能划分和结构设计; (2)然后再逐级设计底层的结构; (3)并在系统级采用仿真手段验证设计的正确性; (4)最后完成整个系统的设计,实现从设计、仿真、测试一体化。,传统设计方法 vs EDA设计方法,三、PLD器件 (一)出现的背景,如果能把所设计的数
4、字系统做成一片大规模集成电路,则不仅能减小电路的体积、重量、功耗,而且会使电路的可靠性大为提高。 为某种专门用途而设计的集成电路叫做专用集成电路,即所谓的ASIC(Application Specific Integrated Circuit的缩写)。 在用量不大的情况下,设计和制造这样的专用集成电路成本很高,而且设计、制造的周期也较长。 可编程逻辑器件的研制成功为解决上述问题提供了比较理想的途径。,(二)PLD概述,PLD是可编程逻辑器件(Programmable Logic Device)的英文缩写。 可编程逻辑器件是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的逻辑门和触
5、发器等基本逻辑元件。通过编程可以设置其逻辑功能。 PLD编程: 利用开发工具对PLD进行加工,即按设计要求将这些片内的元件连接起来,使之完成某个逻辑电路或系统的功能,成为一个专用集成电路(ASICApplication Specific Integrated Circuit)。,PLD开发系统,PLD开发系统包括硬件和软件两部分。 硬件部分:计算机、下载电缆或编程器; 软件部分:集成开发系统。 Altera公司:Maxplus 、 Quartus Xilinx公司:Foundation、 ISE Lattice公司:Synario System、ispEXPERT System,四、PLD设计
6、流程,设计准备,设计输入,设计处理,器件编程,功能仿真,时序仿真,器件测试,PLD设计准备,在设计之前,首先要进行方案论证和器件选择等设计准备工作。 设计者首先要根据任务要求,判断系统的可行性。系统的可行性要受到逻辑要求合理性、成本、开发条件、器件供应等方面的约束。 若系统可行,则根据系统所完成的功能及复杂程度,对器件本身的资源和成本、工作速度及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。,设计输入,将所设计的电路的逻辑功能按照开发系统要求的形式表达出来的过程称为设计输入。 通常,设计输入有如下三种方式: (1)原理图输入方式 适用于对系统及各部分电路很熟悉的场合。 (2)
7、硬件描述语言输入方式 硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。 (3)波形输入方式,设计处理,逻辑优化 把逻辑描述转变为最适合在器件中实现的形式,优化使设计所占用的资源最少。 逻辑综合 根据设计描述,对给定的硬件结构组件,最终获得门级电路甚至更底层的电路描述文件,即将多个模块化设计文件合并为一个网表文件。 适配 确定优化后的逻辑能否与器件中的宏单元和I/O单元适配。 分割 将大的设计分割为多个便于器件内部资源实现的逻辑小块的形式。,设计校验,设计校验过程包括功能仿真和时序仿真。 功能仿真 时
8、序仿真,器件编程,器件编程就是将开发系统生成的目标文件下载到可编程逻辑器件中,来定义内部模块的逻辑功能以及它们的相互连接关系。 两种编程方式: 编程器 下载电缆,PLD开发系统,PLD开发系统包括硬件和软件两部分。 硬件部分:计算机、下载电缆或编程器; 软件部分:集成开发系统。 Altera公司:Maxplus 、 Quartus Xilinx公司:Foundation、 ISE Lattice公司:Synario System、ispEXPERT System,设计举例,设计内容: 十进制计数器电路设计。,PLD器件:ACEX1K系列的EP1K30QC208。 开发系统:MAX+plus系统
9、。 编程方式:下载电缆。,实验下载板,12:30:42,设计过程,1、设计输入 VHDL 演示1 2、逻辑验证 演示2 3、设计处理 引脚设定 演示3 4、器件编程 连接下载电缆 演示4,三、PLD电路设计的特点,1、设计简单,方便; 2、电路系统可以集成在一片芯片上; 3、电路设计不依赖于器件进行设计; 4、电路系统很容易完善和升级。,器件选择:(1)电路系统所完成的功能及复杂程度; (2)器件本身的资源和成本、性能参数、 器件编程工艺等方面进行权衡。,VHDL是非常高速集成电路硬件描述语言 (Very High speed Integrated Circuit Hardware Descr
10、iption Language)的英文缩写。,五、文本设计输入VHDL程序设计,语法和风格: (1)类似与现代高级编程语言,如C语言。 (2)VHDL描述的是硬件,它包含许多硬件特有的结构。,VHDL设计 VS 电路图设计,VHDL与电路图设计电路的方式不同,和电路图设计方式相比: (1)易于修改; (2)设计能力更强; (3)VHDL语言很方便:独立于器件设计;相同的程序代码可以用于不同厂家生产的器件。,VHDL程序的基本结构,include “stdio.h”; include “math.h”; int main(void) int a,b,c; a=8; b=9; c=a+b; ret
11、urn c; ,Library std; Use std.standard.all; Entity and2 is Port( a,b : in bit; c : out bit); End and2; Architecture a1 of and2 is Begin c = a and b; End a1;,VHDL程序,C程序,VHDL程序的基本结构,(1)LIBRARY和PACHAGE声明区; (2)ENTITY定义区; (3)ARCHITECTURE定义区;,Library(库)是用于存放预先编译好的Package(程序包)。 Package (程序包)中定义了基本的常数,数据类型,元
12、件及子程序等。 作用:声明在实体和结构体定义中将用到的 数据类型、元件或子程序等。 声明格式: Library 库名; Use 库名. PACKAGE名.All;,(1)LIBRARY和PACKAGE声明区,作用: ENTITY(实体)用于定义电路的外观,即I/O端口的类型和数量。 定义格式: Entity 实体名 is Port( a : in bit; b : in bit; c : out bit); End 实体名;,(2)ENTITY定义区,端口名,数据类型,端口模式,端口模式(MODE)有以下几种类型: IN ;OUT;INOUT ;BUFFER 端口模式可用下图说明:(黑框代表一
13、个设计或模块) IN OUT BUFFER INOUT,(2)ENTITY定义区,(3)ARCHITECTURE定义区,实体的实现。即说明电路执行什么动作或实现功能。 定义格式: Architecture 结构体名 of 实体名 is 声明语句;(内部信号、变量、常数,元件,子程序声明) Begin 并行描述语句; End 结构体名;,二输入与门电路设计范例,电路真值表,二输入与门电路设计范例,Library std; Use std.standard.all; Entity and2 is Port( a : in bit; b : in bit; c : out bit); End and
14、2; -实体定义结束。,双减号-为VHDL程序的注释符,类似C语言中的/注释符。,二输入与门电路设计范例,Architecture Na of and2 is Begin c =0 when a=0 and b = 0 else 0 when a=1 and b = 0 else 0 when a=0 and b = 1 else 1; 符号=为信号直接赋值符。 End Na; -结构体Na Architecture Nb of and2 is Begin c = a and b; -and 为逻辑与操作 End Nb; -结构体Nb,第一章 VHDL的程序结构和软件操作,1-1 VHDL程序
15、的基本结构 1-2 Max+plus的操作,1-1 VHDL程序的基本结构,include “stdio.h”; include “math.h”; int main(void) int a,b,c; a=8; b=9; c=a+b; return c; ,Library std; Use std.standard.all; Entity and2 is Port( a,b : in bit; c : out bit); End and2; Architecture a1 of and2 is Begin c = a and b; End a1;,VHDL程序,C程序,1-1 VHDL程序的基
16、本结构,(1)LIBRARY和PACHAGE声明区; (2)ENTITY定义区; (3)ARCHITECTURE定义区; (4)CONFIGURATION定义区。,Library(库)是用于存放预先编译好的Package(程序包)。 Package (程序包)中定义了基本的常数,数据类型,元件及子程序等。 作用:声明在实体和结构体定义中将用到的 数据类型、元件或子程序等。 声明格式: Library 库名; Use 库名. PACKAGE名.All;,(1)LIBRARY和PACKAGE声明区,作用: ENTITY(实体)用于定义电路的外观,即I/O端口的类型和数量。 定义格式: Entity
17、 实体名 is Port( a : in bit; b : in bit; c : out bit); End 实体名;,(2)ENTITY定义区,端口名,数据类型,端口模式,(2)ENTITY定义区,标识符的定义原则: (1)标识符由字母、数字和下划线组成,a7_; (2)在标识符不区分大小写,ab和AB是一样的; (3)第一个字符必须是字母,即a666; (4)不允许有两个连续的下划线,a_b错误; (5)末尾不能是下划线,mname_错误; (6)标识符不能和关键字相同,如Entity,is等。,端口模式(MODE)有以下几种类型: IN ;OUT;INOUT ;BUFFER 端口模式可
18、用下图说明:(黑框代表一个设计或模块) IN OUT BUFFER INOUT,(2)ENTITY定义区,(3)ARCHITECTURE定义区,定义了实体的实现。即电路的具体描述,说明电路执行什么动作或实现功能。 定义格式: Architecture 结构体名 of 实体名 is 声明语句;(内部信号、变量、常数,元件,子程序声明) Begin 并行描述语句; End 结构体名;,(4)CONFIGURATION定义区,一个完整VHDL电路设计必须有一个实体和对应的结构体,即实体和结构体对构成一个完整的VHDL设计。 一个实体可对应一个结构体或多个结构体,即一个实体可以有不同的描述方式。 作用:当实体有多个结构体时,系统默认实体选用最后一个结构体,利用CONFIGURATION语句可以任意选择采用哪一个结构体。,(4)CONFIGURATION定义区,定义格式: Configuration 配置名 of 实体名 is for 选用的结构体名 end for; end configuratio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配电间安全操作管理制度培训
- 企业三总师安全职责与风险管理实务
- 2026埃及美术讲解面试题目及答案
- 城镇排水泵站电动机运行中的检查规定培训课件
- 店长岗位职责
- 汽车测评与选购(项目五任务二)
- 2025年区块链溯源提升供应链创新能力
- 钢构生产车间外包合同
- 小区清洁垃圾外包合同
- 天津市河西区2024-2025学年七年级上学期语文期末试卷(含答案)
- DB32/T 3958-2020化工企业安全生产信息化管理平台建设技术规范
- 福建省厦门市湖里区2023-2024学年六年级下学期期末语文试题(有答案)
- 教学课件-积极心理学(第2版)刘翔平
- 2025年炼焦安全生产表态发言稿(2篇)
- 老年人摄影知识培训课件
- 中医化腐清创治疗
- 财经纪律培训课件
- CJJ218-2014 城市道路彩色沥青混凝土路面技术规程
- T-ZNX 023-2023 副产氯化钾团体标准
- 北楼新增电梯井专项施工设计方案
- 岩土钻掘工程学-第一章课件
评论
0/150
提交评论