《EDA技术应用全套课件完整版ppt教学教程最新最全.ppt》由会员分享,可在线阅读,更多相关《EDA技术应用全套课件完整版ppt教学教程最新最全.ppt(199页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章 全加器设计目录 1.1 1.1 项目需求分析项目需求分析 1.2 1.2 项目理论知识项目理论知识 1.3 1.3 项目设计项目设计 1.4 1.4 项目实施与调试项目实施与调试 1.5 1.5 项目总结与拓展项目总结与拓展1.1 1.1 项目需求分析项目需求分析全加器是基本的组合逻辑运算电路全加器是基本的组合逻辑运算电路, ,设计一个典型位二进制全加器模设计一个典型位二进制全加器模型型, ,要求要求: :( () )使用拨码开关模块作为全加器输入使用拨码开关模块作为全加器输入; ;( () )使用使用LEDLED灯模块作为全加器输出灯模块作为全加器输出; ;( () )通过设置拨码开
2、关通过设置拨码开关, ,可以准确进行全加运算可以准确进行全加运算, ,由由LEDLED灯显示并验证结灯显示并验证结果果. .1.2 1.2 项目理论知识项目理论知识1.2.1 EDA1.2.1 EDA技术简介技术简介1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构1.2.3 Quartus1.2.3 Quartus集成开发环境集成开发环境1.2.1 EDA1.2.1 EDA技术简介技术简介一、一、EDAEDA技术的概念技术的概念EDA EDA 是是Electronic Design Automation(Electronic Design Automation(电子设计
3、自动化电子设计自动化) )的缩写的缩写. .EDA EDA 技术以计算机为工具技术以计算机为工具, ,设计者在设计者在EDA EDA 软件平台上软件平台上, ,用硬件描述语言完成用硬件描述语言完成设计文件设计文件, ,然后由计算机自动地完成逻辑编译、化简、分割、综合、优然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真化、布局、布线和仿真, ,以及对特定目标芯片的适配编译、逻辑映射和以及对特定目标芯片的适配编译、逻辑映射和编程下载等工作编程下载等工作. .1.2.1 EDA1.2.1 EDA技术简介技术简介二、二、EDAEDA技术的发展技术的发展 计算机辅助设计(计算机辅
4、助设计(CADCAD)阶段)阶段 计算机辅助工程设计(计算机辅助工程设计(CAECAE)阶段)阶段 电子设计自动化(电子设计自动化(EDAEDA)阶段)阶段 1.2.1 EDA1.2.1 EDA技术简介技术简介三、三、EDAEDA技术的主要内容技术的主要内容可编程逻辑器件(可编程逻辑器件(EDA EDA 技术的主要目标器件)技术的主要目标器件) 可编程逻辑器件可编程逻辑器件(PLD)(PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件是一种由用户编程以实现某种逻辑功能的新型逻辑器件, ,主要有现场可编程门阵列主要有现场可编程门阵列(Field Programmable Gate Arra
5、y,FPGA)(Field Programmable Gate Array,FPGA)和复杂可编程和复杂可编程逻辑器件逻辑器件(Complex Programmable Logic Device,CPLD)(Complex Programmable Logic Device,CPLD)。硬件描述语言(硬件描述语言(EDA EDA 技术的主要描述和表达方式)技术的主要描述和表达方式) 硬件描述语言硬件描述语言(HDL)(HDL)是是EDA EDA 技术的主要组成部分技术的主要组成部分, ,是是EDA EDA 各种描述方法中最能体各种描述方法中最能体现优越性的一种描述方法。所谓硬件描述语言现优越性
6、的一种描述方法。所谓硬件描述语言, ,就是用于描述设计系统的逻辑功能就是用于描述设计系统的逻辑功能, ,实现实现该功能的算法、电路结构、约束条件等。该功能的算法、电路结构、约束条件等。软件开发工具(软件开发工具(EDA EDA 技术的开发平台)技术的开发平台)( () )集成的集成的PLD/FPGA PLD/FPGA 开发环境开发环境( () )综合软件综合软件( () )仿真软件仿真软件 1.2.1 EDA1.2.1 EDA技术简介技术简介四、四、EDAEDA技术的设计流程技术的设计流程(1 1) 个设计步骤个设计步骤设计准备设计准备设计输入设计输入设计处理设计处理器件编程器件编程(2 2)
7、 个设计验证过程个设计验证过程功能仿真功能仿真( (前仿真前仿真) )时序仿真时序仿真( (后仿真后仿真) )器件测试器件测试. . 1.2.1 EDA1.2.1 EDA技术简介技术简介设计准备设计准备主要进行系统功能分析和器件选择主要进行系统功能分析和器件选择, ,准备设计所用的硬件平台和软件开发准备设计所用的硬件平台和软件开发平台平台. .设计输入设计输入可以采用不同输入形式完成设计可以采用不同输入形式完成设计. .( () )原理图输入原理图输入( () )硬件描述语言输入硬件描述语言输入( () )波形输入波形输入1.2.1 EDA1.2.1 EDA技术简介技术简介设计处理设计处理(
8、() )语法和设计规则检查语法和设计规则检查( () )逻辑优化和综合逻辑优化和综合( () )适配和分割适配和分割( () )布局和布线布局和布线( () )生成编程数据文件生成编程数据文件设计校验设计校验设计校验过程包括功能仿真、时序仿真和器件测试设计校验过程包括功能仿真、时序仿真和器件测试, ,是在设计处理过程中是在设计处理过程中同时进行的同时进行的. .1.2.1 EDA1.2.1 EDA技术简介技术简介设计校验设计校验设计校验过程包括功能仿真、时序仿真和器件测试设计校验过程包括功能仿真、时序仿真和器件测试, ,是在设计处理过程中是在设计处理过程中同时进行的同时进行的. .器件编程器件
9、编程器件编程是指将编程数据放到具体的可编程器件中器件编程是指将编程数据放到具体的可编程器件中. .1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构一、可编程逻辑器件的基本结构与分类一、可编程逻辑器件的基本结构与分类可编程逻辑器件的基本结构可编程逻辑器件的基本结构可编程逻辑器件由输入接口、与门阵列、或门阵列和输出接口个模块组可编程逻辑器件由输入接口、与门阵列、或门阵列和输出接口个模块组成成.1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构可编程逻辑器件的分类可编程逻辑器件的分类可编程逻辑器件按集成度可编程逻辑器件按集成度,可分为低集成度可编程逻辑器
10、件和高集成度可编可分为低集成度可编程逻辑器件和高集成度可编程逻辑器件。程逻辑器件。1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构低集成度可编程逻辑器件低集成度可编程逻辑器件(1)PROM:Programmable Read Only Memory(2)PLA:Programmable Array Logic(3)PAL:Programmable Logic Array(4)GAL:Generic Array Logic1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构4高集成度可编程逻辑器件高集成度可编程逻辑器件(1)EPLD:Erasable
11、Programmable Logic Device(2)CPLD:Complex Programmable Logic Device宏单元是宏单元是CPLD的基本结构的基本结构,由它来实现基本的逻辑功能由它来实现基本的逻辑功能.可编程连线负责信号传递可编程连线负责信号传递,连接所有的宏单元连接所有的宏单元.I/O 引脚控制块负责输入、输出的电气特性控制引脚控制块负责输入、输出的电气特性控制,比如可以设定集电极开比如可以设定集电极开路输出、摆率控制、三态输出等路输出、摆率控制、三态输出等.(3)FPGA:Field Programmable Gate ArrayIOE(inputoutputel
12、ement,输入输出单元输入输出单元)LAB(logicarrayblock,逻辑阵列块逻辑阵列块)Interconnect(内部连接线内部连接线).1.2.2 1.2.2 可编程逻辑器件的硬件结构可编程逻辑器件的硬件结构二、可编程逻辑器件的主要厂商二、可编程逻辑器件的主要厂商Altera公司公司Xilinx公司公司Lattice公司公司Actel公司公司Lucent公司公司Atmel公司公司1.2.3 Quartus1.2.3 Quartus集成开发环境集成开发环境 Altera Quartus Altera Quartus设计软件提供完整的多平台设计环境设计软件提供完整的多平台设计环境,
13、,能够直接能够直接满足特定设计需要满足特定设计需要, ,为可编程芯片系统为可编程芯片系统(SOPC)(SOPC)提供全面的设计环提供全面的设计环境境.Quartus.Quartus软件含有软件含有FPGA FPGA 和和CPLD CPLD 设计所有阶段的解决方案设计所有阶段的解决方案. .1.2.3 1.2.3 码制码制 无权码每位无确定的权值,不能使用权展开式,但各有其特点和用无权码每位无确定的权值,不能使用权展开式,但各有其特点和用途,例如格雷码(又叫循环码、反射码),其相邻两个编码只有一位途,例如格雷码(又叫循环码、反射码),其相邻两个编码只有一位码状态不同,在逻辑函数卡诺图化简中将会用
14、到这一特点。表码状态不同,在逻辑函数卡诺图化简中将会用到这一特点。表1-11-1列列出了几种常用的出了几种常用的BCDBCD码。码。1.3 1.3 项目设计项目设计 1.3.1 1.3.1 项目功能分析项目功能分析 1.3.2 1.3.2 项目硬件设计项目硬件设计 1.3.3 1.3.3 项目软件设计项目软件设计1.3.1 1.3.1 项目功能分析项目功能分析1.3.2 1.3.2 项目硬件设计项目硬件设计1.3.3 1.3.3 项目软件设计项目软件设计1.4 1.4 项目实施与调试项目实施与调试 1.4.1 1.4.1 项目实施项目实施 1.4.2 1.4.2 项目调试项目调试1.4.1 1
15、.4.1 项目实施项目实施一、设计输入一、设计输入建立工程建立工程建立设计文件建立设计文件二、设计处理二、设计处理三、设计校验三、设计校验四、器件编程四、器件编程1.4.2 1.4.2 项目调试项目调试一、电路调试一、电路调试拨动拨码开关拨动拨码开关, ,查看发光二极管的亮灭情况查看发光二极管的亮灭情况, ,看是否符合全加看是否符合全加器的逻辑要求和设计器的逻辑要求和设计要求要求. .二、故障现象与分析二、故障现象与分析( () )拨动拨码开关拨动拨码开关, ,但但LEDLED灯不亮灯不亮: :引脚没有分配好引脚没有分配好, ,需检查并需检查并重新分配引脚重新分配引脚; ;( () )拨动拨码
16、开关拨动拨码开关, ,但但LEDLED灯亮灭情况错误灯亮灭情况错误: :电路设计逻辑出电路设计逻辑出错错, ,需检查并纠正错误需检查并纠正错误. .1.5 1.5 项目总结与拓展项目总结与拓展 1.5.1 1.5.1 项目总结项目总结 1.5.2 1.5.2 项目拓展项目拓展1.5.1 1.5.1 项目总结项目总结掌握可编程逻辑器件硬件结构掌握可编程逻辑器件硬件结构掌握掌握EDA EDA 设计流程设计流程掌握掌握QuartusQuartus软件设计步骤软件设计步骤1.5.2 1.5.2 项目拓展项目拓展简述简述CPLDCPLD和和FPGA FPGA 的不同点的不同点. .简述简述Quartus
17、Quartus软件的设计流程软件的设计流程. .采用原理图输入法采用原理图输入法, ,利用基本门电路设计实现一个位全加器利用基本门电路设计实现一个位全加器. .采用原理图输入法采用原理图输入法, ,利用基本门电路设计实现一个路选择器利用基本门电路设计实现一个路选择器. .采用原理图输入法采用原理图输入法, ,利用基本门电路设计实现一个位全减器利用基本门电路设计实现一个位全减器. .第2章 数据选择器设计目录 2.1 2.1 项目需求分析项目需求分析 2.2 2.2 项目理论知识项目理论知识 2.3 2.3 项目设计项目设计 2.4 2.4 项目实施与调试项目实施与调试 2.5 2.5 项目总结
18、与拓展项目总结与拓展2.1 2.1 项目需求分析项目需求分析设计一个简单的数据选择器模型设计一个简单的数据选择器模型, ,要求要求: :( () )使用个拨码开关模块作为数据选择器输入使用个拨码开关模块作为数据选择器输入: :路数据输入和路路数据输入和路选择键选择键; ;( () )使用个使用个LEDLED灯模块作为数据选择器输出灯模块作为数据选择器输出, ,指示数据选择结果指示数据选择结果; ;( () )通过选择键选择路数据中的一个数据通过选择键选择路数据中的一个数据, ,然后作为结果输出然后作为结果输出. .2.2 2.2 项目理论知识项目理论知识2.2.1 VerilogHDL2.2.
19、1 VerilogHDL语言的简介语言的简介2.2.2 Verilog HDL2.2.2 Verilog HDL语言的基本组成语言的基本组成2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素2.2.4 Verilog HDL2.2.4 Verilog HDL语言的描述语句语言的描述语句2.2.1 VerilogHDL2.2.1 VerilogHDL语言的简介语言的简介目前的数字电路设计在层次上可分成以下个层次目前的数字电路设计在层次上可分成以下个层次: :( () )算法级设计算法级设计: :用高级语言如用高级语言如C C语言及其他一些系统分析工具语言
20、及其他一些系统分析工具( (如如MATLAB)MATLAB)从系统的算法级方面对设计进行描述从系统的算法级方面对设计进行描述. .算法级不需要包含时序信息算法级不需要包含时序信息. .( ()RTL()RTL(寄存器传送寄存器传送) )级设计级设计: :用数据流在寄存器间传输的模式来对设计进用数据流在寄存器间传输的模式来对设计进行描述行描述. .( () )门级门级: :用逻辑级的与、或、非门等门级之间的连接关系对设计进行描用逻辑级的与、或、非门等门级之间的连接关系对设计进行描述述. .( () )开关级开关级: :用晶体管和寄存器及它们之间的连线关系来对设计进行描述用晶体管和寄存器及它们之间
21、的连线关系来对设计进行描述. .2.2.1 VerilogHDL2.2.1 VerilogHDL语言的简介语言的简介一、一、VerilogHDLVerilogHDL语言的概念语言的概念VerilogHDLVerilogHDL是一种硬件描述语言是一种硬件描述语言, ,用于从算法级、门级到开关级的多种用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模抽象设计层次的数字系统建模. .被建模的数字系统对象的复杂性可以被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间介于简单的门和完整的电子数字系统之间. .数字系统能够按层次描述数字系统能够按层次描述, ,并可在相同描述中显式
22、地进行时序建模并可在相同描述中显式地进行时序建模. .2.2.1 VerilogHDL2.2.1 VerilogHDL语言的简介语言的简介二、二、VerilogHDLVerilogHDL语言的特点语言的特点 ( () )可以采用三种不同方式或混合方式对设计建模可以采用三种不同方式或混合方式对设计建模: :行为描述方式行为描述方式, ,使用过程化结构建模使用过程化结构建模; ;数据流方式数据流方式, ,使用连续赋值语句方式建模使用连续赋值语句方式建模; ;结构化方式结构化方式, ,使用门和模块实例语句描述建模使用门和模块实例语句描述建模. . ( ()VerilogHDL)VerilogHDL中
23、有两类数据类型中有两类数据类型: :线网数据类型线网数据类型: :表示构件间的物理连线表示构件间的物理连线; ;寄存器数据类型寄存器数据类型: :表示抽象的数据存储元件表示抽象的数据存储元件. . ( () )设计能够在多个层次上加以描述。设计能够在多个层次上加以描述。 2.2.2 Verilog HDL2.2.2 Verilog HDL语言的基本组成语言的基本组成一、模块的概念一、模块的概念数字电路可简单归纳为两种要素:数字电路可简单归纳为两种要素:(1)线是器件引脚之间的物理连线;)线是器件引脚之间的物理连线;(2)器件也可简单归纳为组合逻辑器件)器件也可简单归纳为组合逻辑器件(如与或非门
24、如与或非门)和时序逻辑器件和时序逻辑器件(如如寄存器、锁存器、寄存器、锁存器、RAM 等等).一个数字系统:多个器件一个数字系统:多个器件+一定的连线关系一定的连线关系.Verilog HDL的建模:使用的建模:使用Verilog HDL语言对数字电路的两种基本要语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程素的特性及相互之间的关系进行描述的过程.模块是模块是Verilog的基本描述单位的基本描述单位,用于描述某个设计的功能或结构及其与其用于描述某个设计的功能或结构及其与其他模块通信的外部端口他模块通信的外部端口.2.2.2 Verilog HDL2.2.2 Verilog
25、HDL语言的基本组成语言的基本组成二、模块的基本结构二、模块的基本结构一个模块的结构描述位于一个模块的结构描述位于module和和endmodule语句之间语句之间,每个模块由每个模块由两部分组成两部分组成:()接口描述接口描述,即说明输入引脚和输出引脚即说明输入引脚和输出引脚;()逻辑功能描述逻辑功能描述,即定义输入是如何影响输出的即定义输入是如何影响输出的.2.2.2 Verilog HDL2.2.2 Verilog HDL语言的基本组成语言的基本组成模块声明模块声明模块声明包括模块名和输入模块声明包括模块名和输入/输出端口列表输出端口列表:module模块名模块名(输入输入/输出端口列表
26、输出端口列表);输入输入/输出端口列表是模块对外的通信接口输出端口列表是模块对外的通信接口,多个端口名之间用多个端口名之间用“,”隔开隔开.端口声明语句块端口声明语句块端口声明语句块主要用于说明模块的端口类型和位宽端口声明语句块主要用于说明模块的端口类型和位宽.常见的端口类型分为常见的端口类型分为输入输入input、输出输出output双向端口双向端口inout 端口类型端口类型信号位宽信号位宽:端口名端口名;2.2.2 Verilog HDL2.2.2 Verilog HDL语言的基本组成语言的基本组成逻辑功能描述语句块逻辑功能描述语句块逻辑功能描述语句块主要用于正确定义和说明模块的逻辑功能
27、逻辑功能描述语句块主要用于正确定义和说明模块的逻辑功能.也就是定义也就是定义输入如何影响输出输入如何影响输出.()结构描述方式结构描述方式(调用库文件调用库文件)() 数据流描述方式数据流描述方式(使用连续赋值语句使用连续赋值语句assign)()行为描述方式行为描述方式(使用使用always过程块过程块)2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素一、标识符一、标识符标识符用于表示电路系统中的模块、寄存器、输入标识符用于表示电路系统中的模块、寄存器、输入/ /输出端口、连线等物输出端口、连线等物理对象的名称理对象的名称. .标识符可以是字母、数
28、字和下划线等符号组成的任意序列标识符可以是字母、数字和下划线等符号组成的任意序列. .定义标识符时定义标识符时应遵循以下规则应遵循以下规则: :( () )首字符不能是数字首字符不能是数字; ;( () )字符数不能超过个字符数不能超过个; ;( () )大小写字母是不同的大小写字母是不同的; ;( () )不能与关键字不能与关键字( (保留字保留字) )同名同名. .VerilogHDLVerilogHDL允许使用转义标识符允许使用转义标识符. .2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素二、数据类型二、数据类型用硬件描述语言设计的电路模块所
29、处理的数据就是实际电路中的物理连用硬件描述语言设计的电路模块所处理的数据就是实际电路中的物理连线、存储单元中的逻辑值线、存储单元中的逻辑值. . 常量常量在程序运行的过程中在程序运行的过程中, ,其值不能被改变的量称为常量其值不能被改变的量称为常量. .( () )整数型数据整数型数据. . 二进制整数、十进制整数、十六进制整数和八进制整二进制整数、十进制整数、十六进制整数和八进制整数数. .符号位位宽符号位位宽 进制符号进制符号 数值数值bb2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素( () )实数型数据实数型数据: :十进制方式十进制方式:
30、 :例如例如.2.2指数方式指数方式: :例如例如100000.0100000.0表示为表示为1.0E51.0E5( () )字符型数据字符型数据. .字符串用双引号括起来的字符序列字符串用双引号括起来的字符序列, ,例如例如“HelloWorld!”.HelloWorld!”.( () )参数型数据参数型数据. .用用parameterparameter定义一个标识符来代表一个常量定义一个标识符来代表一个常量, ,称为符号常量称为符号常量, ,即即标识符形式的常量标识符形式的常量, ,采用标识符代表一个常量可提高程序的可读性和可维护性采用标识符代表一个常量可提高程序的可读性和可维护性. .参
31、参数型数据常用于定义延迟时间和变量宽度数型数据常用于定义延迟时间和变量宽度. .其格式如下其格式如下: :parameter parameter 参数名参数名1 1表达式表达式1,1,参数名参数名n n表达式表达式n;n;2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素变量变量变量是指程序运行过程中其值可以改变的量。变量是指程序运行过程中其值可以改变的量。(1)wire(1)wire型型. .相当于组合逻辑电路中的各种连接线相当于组合逻辑电路中的各种连接线: :wirenwiren: : 数据数据, ,数据数据,数据数据i;i;/定义了定义了i i
32、个个n n 位的位的wirewire型变量型变量, ,共有共有i i 条总线条总线, ,每条总线内有每条总线内有n n 条线路条线路( ()reg)reg型型. . 一种暂存数据的变量一种暂存数据的变量. .regnregn: : 数据名数据名, ,数据名数据名,数据名数据名i;i;/定义了定义了i i 个个n n 位的位的regreg型变量型变量, ,共有共有i i 个寄存器个寄存器, ,每个寄存器都是每个寄存器都是n n 位位( ()memory)memory型型. .对对regreg型变量建立数组来对存储器建模型变量建立数组来对存储器建模, ,可可以描述以描述RAM RAM 型存储器、型
33、存储器、ROM ROM 型存储器和型存储器和regreg文件文件. . regnregn: : 存储器名存储器名m m : :;/定义一个定义一个m m n n 的存储器的存储器, ,存储器的存储单元是一个存储器的存储单元是一个n n 位寄存器位寄存器, ,共有共有m m 个存储单元个存储单元2.2.3 VerilogHDL2.2.3 VerilogHDL语言的语言要素语言的语言要素三、运算符和表达式三、运算符和表达式算术运算符:、算术运算符:、 、/ /、位运算符:位运算符: 、& &、| |、 、 逻辑运算符:逻辑运算符:&(&(逻辑与逻辑与) )、|(|(逻辑或逻辑或) )、! (! (
34、逻辑非逻辑非) )关系运算符:、关系运算符:、等式运算符:、等式运算符:、! ! 、! ! 移位运算符:移位运算符:( (左移位运算左移位运算) )、( (右移位运算右移位运算) )条件运算符:条件运算符:? :? :位拼接运算符:位拼接运算符:缩减运算符:缩减运算符:, &, &、 & &、| |、|、 、2.2.4 Verilog HDL2.2.4 Verilog HDL语言的描述语句语言的描述语句一、赋值语句一、赋值语句非阻塞赋值(非阻塞赋值(Non_blockingNon_blocking):):c ca;a;阻塞赋值(阻塞赋值(BlockingBlocking):):c ca;a;二
35、、块语句二、块语句顺序语句块(顺序语句块(beginendbeginend)并行语句块(并行语句块(forkjoinforkjoin)三、条件语句三、条件语句ifif条件语句条件语句casecase条件语句条件语句2.2.4 Verilog HDL2.2.4 Verilog HDL语言的描述语句语言的描述语句四、循环语句四、循环语句foreverforever语句语句repeatrepeat语句语句whilewhile语句语句forfor语句语句五、结构说明语句五、结构说明语句initialinitial语句语句alwaysalways语句语句tasktask语句语句functionfunct
36、ion语句语句2.3 2.3 项目设计项目设计 2.3.1 2.3.1 项目功能分析项目功能分析 2.3.2 2.3.2 项目硬件设计项目硬件设计 2.3.3 2.3.3 项目软件设计项目软件设计2.3.1 2.3.1 项目功能分析项目功能分析2.3.2 2.3.2 项目硬件设计项目硬件设计2.3.3 2.3.3 项目软件设计项目软件设计( () )结构描述方式结构描述方式( () )数据流描述方式数据流描述方式( () )行为描述方式行为描述方式2.4 2.4 项目实施与调试项目实施与调试 2.4.1 2.4.1 项目实施项目实施 2.4.2 2.4.2 项目调试项目调试2.4.1 2.4.
37、1 项目实施项目实施一、设计输入一、设计输入建立工程建立工程建立设计文件建立设计文件二、设计处理二、设计处理三、设计校验三、设计校验四、器件编程四、器件编程2.4.2 2.4.2 项目调试项目调试一、电路调试一、电路调试拨动拨码开关拨动拨码开关, ,查看发光二极管的亮灭情况查看发光二极管的亮灭情况, ,看是否符合选择器看是否符合选择器的逻辑要求和设计要求的逻辑要求和设计要求. .二、故障现象与分析二、故障现象与分析( () )设置输入端口所连接的拨码开关设置输入端口所连接的拨码开关, ,拨动选择功能拨码开关拨动选择功能拨码开关, ,但但LED LED 灯不变化灯不变化: :引引脚没有分配好脚没
38、有分配好, ,需检查重新分配引脚需检查重新分配引脚. .( () )设置输入端口所连接的拨码开关设置输入端口所连接的拨码开关, ,拨动选择功能拨码开关拨动选择功能拨码开关, ,但但LEDLED灯亮灭情况错灯亮灭情况错误误: :电路设计逻辑有错误电路设计逻辑有错误, ,需检查纠正错误需检查纠正错误. .2.5 2.5 项目总结与拓展项目总结与拓展 2.5.1 2.5.1 项目总结项目总结 2.5.2 2.5.2 项目拓展项目拓展2.5.1 2.5.1 项目总结项目总结掌握掌握VerilogHDLVerilogHDL语言的基本组成语言的基本组成掌握掌握VerilogHDLVerilogHDL语言的
39、数据类型、运算符和表达式语言的数据类型、运算符和表达式掌握掌握VerilogHDLVerilogHDL语言的赋值语句、块语句语言的赋值语句、块语句掌握掌握VerilogHDLVerilogHDL语言的条件语句、循环语句和结构说明语句语言的条件语句、循环语句和结构说明语句2.5.2 2.5.2 项目拓展项目拓展采用采用VerilogHDLVerilogHDL语言文本输入法语言文本输入法, ,设计实现一个位路数据选择器设计实现一个位路数据选择器. .要求要求: :使用种逻辑功能描述方法进行描述使用种逻辑功能描述方法进行描述. .采用采用VerilogHDLVerilogHDL语言文本输入法语言文本
40、输入法, ,设计实现一个位路数据选择器设计实现一个位路数据选择器. .要求要求: :使用种逻辑功能描述方法进行描述使用种逻辑功能描述方法进行描述. .采用采用VerilogHDLVerilogHDL语言文本输入法语言文本输入法, ,设计实现一个位全加器设计实现一个位全加器. .要求要求: :使用种逻辑功能描述方法进行描述使用种逻辑功能描述方法进行描述. .采用原理图输入法采用原理图输入法, ,设计实现译码器设计实现译码器. .采用采用VerilogHDLVerilogHDL语言输入法语言输入法, ,设计实现译码器设计实现译码器. .要求要求: :使用种逻辑功能描述方法进行描述使用种逻辑功能描述
41、方法进行描述. .第3章 数码管显示译码器的设计目录 3.1 3.1 项目需求分析项目需求分析 3.2 3.2 项目理论知识项目理论知识 3.3 3.3 项目设计项目设计 3.4 3.4 项目实施与调试项目实施与调试 3.5 3.5 项目总结与拓展项目总结与拓展3.1 3.1 项目需求分析项目需求分析在数字系统中在数字系统中, ,需要直观显示数字量需要直观显示数字量, ,因此数字显示电路是数字系统中因此数字显示电路是数字系统中不可缺少的部分不可缺少的部分. .数码管显示译码器就是将数码管显示译码器就是将BCDBCD码转换为段数码管的位段显示码码转换为段数码管的位段显示码, ,以此以此来显示十进
42、制数字来显示十进制数字. .( () )输入输入: :使用位拨码开关设置位使用位拨码开关设置位BCDBCD码码; ;( () )输出输出: :使用数码管显示使用数码管显示BCDBCD码对应的十进制数字码对应的十进制数字; ;( () )通过位拨码开关改变输入的通过位拨码开关改变输入的BCDBCD码码, ,数码管改变显示对应的十进数码管改变显示对应的十进制数字制数字. .3.2 3.2 项目理论知识项目理论知识3.2.1 3.2.1 组合逻辑电路的原理组合逻辑电路的原理3.2.2 3.2.2 门电路门电路3.2.3 3.2.3 运算器运算器3.2.4 3.2.4 编码器编码器3.2.5 3.2.
43、5 译码器译码器3.2.6 3.2.6 数据选择器数据选择器3.2.7 3.2.7 数据分配器数据分配器3.2.8 3.2.8 数值比较器数值比较器3.2.1 3.2.1 组合逻辑电路的原理组合逻辑电路的原理组合逻辑电路组合逻辑电路: :在任何时刻在任何时刻, ,输出状态只取决于同一时刻各输入状态的输出状态只取决于同一时刻各输入状态的组合组合, ,而与电路以前状态无关而与电路以前状态无关, ,与其他时间的状态也无关与其他时间的状态也无关. .组合逻辑电路的特点归纳如下组合逻辑电路的特点归纳如下: :( () )输入、输出之间没有反馈延迟通道输入、输出之间没有反馈延迟通道; ;( () )电路中
44、无记忆单元电路中无记忆单元. .3.2.2 3.2.2 门电路门电路 用于实现基本逻辑运算和复合逻辑运算的单元电路称为门电路用于实现基本逻辑运算和复合逻辑运算的单元电路称为门电路. 常用的门电路在逻辑功能上有与门、或门、非门、与非门、或非门、常用的门电路在逻辑功能上有与门、或门、非门、与非门、或非门、与或非门、异或门、同或门等几种与或非门、异或门、同或门等几种.3.2.3 3.2.3 运算器运算器常用的运算电路包括加法器和乘法器常用的运算电路包括加法器和乘法器. .一、运算器的原理一、运算器的原理半加器与全加器半加器与全加器加法器加法器二、运算器的设计建模二、运算器的设计建模半加器设计半加器设
45、计全加器设计全加器设计3.2.4 3.2.4 编码器编码器一、编码器的原理一、编码器的原理基本概念基本概念用代码表示特定信号的过程叫编码用代码表示特定信号的过程叫编码; ;实现编码功能的逻辑电路叫编码器实现编码功能的逻辑电路叫编码器. .编码器的输入是被编码的信号编码器的输入是被编码的信号, ,输出是与输入信号对应的一组二进制代码输出是与输入信号对应的一组二进制代码. .普通编码器普通编码器优先编码器优先编码器二、编码器的设计建模二、编码器的设计建模3.2.5 3.2.5 译码器译码器一、译码器的原理一、译码器的原理基本概念基本概念把二进制代码按照原意转换成相应输出信号的过程叫译码把二进制代码
46、按照原意转换成相应输出信号的过程叫译码. .完成译码功能的逻辑电路叫译码器完成译码功能的逻辑电路叫译码器. .二进制译码器二进制译码器二二- -十进制译码器十进制译码器数码管显示译码器数码管显示译码器二、译码器的设计建模二、译码器的设计建模译码:把译码:把n n 个二进制代码转换成个二进制代码转换成n n 个信息代码个信息代码. .3.2.6 3.2.6 数据选择器数据选择器一、数据选择器的原理一、数据选择器的原理从若干输入信号中选择一路作为输出。从若干输入信号中选择一路作为输出。二、数据选择器的设计建模二、数据选择器的设计建模数据选择器:从多个输入端中选择一路输出。数据选择器:从多个输入端中
47、选择一路输出。相当于一个多路开关。相当于一个多路开关。3.2.7 3.2.7 数据分配器数据分配器一、数据分配器的原理一、数据分配器的原理数据分配器的逻辑功能数据分配器的逻辑功能多路分配器多路分配器, ,它只有一个数据输入端它只有一个数据输入端, ,但有但有n n个数据输出端个数据输出端. .根据根据n n个选择输入的个选择输入的不同组合不同组合, ,把数据送到把数据送到n n个数据输出端中的某一个个数据输出端中的某一个. .译码器用作数据分配器译码器用作数据分配器多路信号分时传送多路信号分时传送二、数据分配器的设计建模二、数据分配器的设计建模多路分配器的功能是将输入数据分配到不同的通道上多路
48、分配器的功能是将输入数据分配到不同的通道上, ,相当于一个单刀多掷开关相当于一个单刀多掷开关. .3.2.8 3.2.8 数值比较器数值比较器一、数值比较器的原理一、数值比较器的原理对个数对个数A A 、B B 进行比较进行比较, ,以判断其大小的逻辑电路以判断其大小的逻辑电路. .A A B B、A A B B、A A B.B.位数值比较器位数值比较器多位数值比较器多位数值比较器二、数值比较器的设计建模二、数值比较器的设计建模多位数值比较器是逐次从高位开始比较的多位数值比较器是逐次从高位开始比较的. .3.3 3.3 项目设计项目设计 3.3.1 3.3.1 项目功能分析项目功能分析 3.3
49、.2 3.3.2 项目硬件设计项目硬件设计 3.3.3 3.3.3 项目软件设计项目软件设计3.3.1 3.3.1 项目功能分析项目功能分析3.3.2 3.3.2 项目硬件设计项目硬件设计3.3.3 3.3.3 项目软件设计项目软件设计( () )文本输入法文本输入法3.4 3.4 项目实施与调试项目实施与调试 3.4.1 3.4.1 项目实施项目实施 3.4.2 3.4.2 项目调试项目调试3.4.1 3.4.1 项目实施项目实施一、设计输入一、设计输入建立工程建立工程建立设计文件建立设计文件二、设计处理二、设计处理三、设计校验三、设计校验四、器件编程四、器件编程3.4.2 3.4.2 项目
50、调试项目调试一、电路调试一、电路调试拨动拨码开关拨动拨码开关, ,查看七段数码管的显示情况查看七段数码管的显示情况, ,看是否符合数码管显示译码看是否符合数码管显示译码器的逻辑要器的逻辑要求和设计要求求和设计要求. .二、故障现象与分析二、故障现象与分析( () )拨动拨码开关拨动拨码开关, ,但数码管不亮但数码管不亮引脚没有分配好引脚没有分配好, ,需检查重新分配引脚需检查重新分配引脚. .( () )拨动拨码开关拨动拨码开关, ,但数码管显示错误但数码管显示错误首先检查电路设计逻辑是否有错误首先检查电路设计逻辑是否有错误, ,如果有如果有, ,纠正错误纠正错误. .如果逻辑没有错如果逻辑没