版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章全加器设计第01章全加器的设计第02章数据选择器的设计第03章数码管显示译码器的设计第04章计数器的设计第05章可控流水灯的设计第06章数字时钟的设计第07章交通信号灯控制器的设计第08章序列检测器的设计第09章数字频率计的设计第10章简易数字存储示波器的设计目录1.1项目需求分析1.2项目理论知识1.3项目设计1.4项目实施与调试1.5项目总结与拓展1.1项目需求分析全加器是基本的组合逻辑运算电路,设计一个典型1位二进制全加器模型,要求:(1)使用拨码开关模块作为全加器输入;(2)使用LED灯模块作为全加器输出;(3)通过设置拨码开关,可以准确进行全加运算,由LED灯显示并验证结果.1.2项目理论知识1.2.1EDA技术简介1.2.2可编程逻辑器件的硬件结构1.2.3QuartusⅡ集成开发环境1.2.1EDA技术简介
一、EDA技术的概念EDA是ElectronicDesignAutomation(电子设计自动化)的缩写.EDA技术以计算机为工具,设计者在EDA软件平台上,用硬件描述语言完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,以及对特定目标芯片的适配编译、逻辑映射和编程下载等工作.1.2.1EDA技术简介
二、EDA技术的发展1.计算机辅助设计(CAD)阶段2.计算机辅助工程设计(CAE)阶段3.电子设计自动化(EDA)阶段
1.2.1EDA技术简介
三、EDA技术的主要内容1.可编程逻辑器件(EDA技术的主要目标器件)可编程逻辑器件(PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件,主要有现场可编程门阵列(FieldProgrammableGateArray,FPGA)和复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)。2.硬件描述语言(EDA技术的主要描述和表达方式)硬件描述语言(HDL)是EDA技术的主要组成部分,是EDA各种描述方法中最能体现优越性的一种描述方法。所谓硬件描述语言,就是用于描述设计系统的逻辑功能,实现该功能的算法、电路结构、约束条件等。3.软件开发工具(EDA技术的开发平台)(1)集成的PLD/FPGA开发环境(2)综合软件(3)仿真软件
1.2.1EDA技术简介
四、EDA技术的设计流程(1)4个设计步骤设计准备设计输入设计处理器件编程(2)3个设计验证过程功能仿真(前仿真)时序仿真(后仿真)器件测试.
1.2.1EDA技术简介
1.设计准备主要进行系统功能分析和器件选择,准备设计所用的硬件平台和软件开发平台.2.设计输入可以采用不同输入形式完成设计.(1)原理图输入(2)硬件描述语言输入(3)波形输入1.2.1EDA技术简介
3.设计处理(1)语法和设计规则检查(2)逻辑优化和综合(3)适配和分割(4)布局和布线(5)生成编程数据文件4.设计校验设计校验过程包括功能仿真、时序仿真和器件测试,是在设计处理过程中同时进行的.1.2.1EDA技术简介
4.设计校验设计校验过程包括功能仿真、时序仿真和器件测试,是在设计处理过程中同时进行的.5.器件编程器件编程是指将编程数据放到具体的可编程器件中.1.2.2可编程逻辑器件的硬件结构一、可编程逻辑器件的基本结构与分类1.可编程逻辑器件的基本结构可编程逻辑器件由输入接口、与门阵列、或门阵列和输出接口4个模块组成.1.2.2可编程逻辑器件的硬件结构2.可编程逻辑器件的分类可编程逻辑器件按集成度,可分为低集成度可编程逻辑器件和高集成度可编程逻辑器件。1.2.2可编程逻辑器件的硬件结构3.低集成度可编程逻辑器件(1)PROM:ProgrammableReadOnlyMemory(2)PLA:ProgrammableArrayLogic(3)PAL:ProgrammableLogicArray(4)GAL:GenericArrayLogic1.2.2可编程逻辑器件的硬件结构4.高集成度可编程逻辑器件(1)EPLD:ErasableProgrammableLogicDevice(2)CPLD:ComplexProgrammableLogicDevice①宏单元是CPLD的基本结构,由它来实现基本的逻辑功能.②可编程连线负责信号传递,连接所有的宏单元.③I/O引脚控制块负责输入、输出的电气特性控制,比如可以设定集电极开路输出、摆率控制、三态输出等.(3)FPGA:FieldProgrammableGateArray①IOE(inputoutputelement,输入输出单元)②LAB(logicarrayblock,逻辑阵列块)③Interconnect(内部连接线).1.2.2可编程逻辑器件的硬件结构二、可编程逻辑器件的主要厂商1.Altera公司2.Xilinx公司3.Lattice公司4.Actel公司6.Lucent公司7.Atmel公司1.2.3QuartusⅡ集成开发环境
AlteraQuartusⅡ设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC)提供全面的设计环境.QuartusⅡ软件含有FPGA和CPLD设计所有阶段的解决方案.1.2.3码制无权码每位无确定的权值,不能使用权展开式,但各有其特点和用途,例如格雷码(又叫循环码、反射码),其相邻两个编码只有一位码状态不同,在逻辑函数卡诺图化简中将会用到这一特点。表1-1列出了几种常用的BCD码。1.3项目设计1.3.1项目功能分析1.3.2项目硬件设计1.3.3项目软件设计1.3.1项目功能分析1.3.2项目硬件设计1.3.3项目软件设计1.4项目实施与调试1.4.1项目实施1.4.2项目调试1.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程1.4.2项目调试一、电路调试拨动拨码开关,查看发光二极管的亮灭情况,看是否符合全加器的逻辑要求和设计要求.二、故障现象与分析(1)拨动拨码开关,但LED灯不亮:引脚没有分配好,需检查并重新分配引脚;(2)拨动拨码开关,但LED灯亮灭情况错误:电路设计逻辑出错,需检查并纠正错误.1.5项目总结与拓展1.5.1项目总结1.5.2项目拓展1.5.1项目总结1.掌握可编程逻辑器件硬件结构2.掌握EDA设计流程3.掌握QuartusⅡ软件设计步骤1.5.2项目拓展1.简述CPLD和FPGA的不同点.2.简述QuartusⅡ软件的设计流程.3.采用原理图输入法,利用基本门电路设计实现一个2位全加器.4.采用原理图输入法,利用基本门电路设计实现一个8路选择器.5.采用原理图输入法,利用基本门电路设计实现一个2位全减器.第2章数据选择器设计目录2.1项目需求分析2.2项目理论知识2.3项目设计2.4项目实施与调试2.5项目总结与拓展2.1项目需求分析设计一个简单的数据选择器模型,要求:(1)使用3个拨码开关模块作为数据选择器输入:2路数据输入和1路选择键;(2)使用1个LED灯模块作为数据选择器输出,指示数据选择结果;(3)通过选择键选择2路数据中的一个数据,然后作为结果输出.2.2项目理论知识2.2.1VerilogHDL语言的简介2.2.2VerilogHDL语言的基本组成2.2.3VerilogHDL语言的语言要素2.2.4VerilogHDL语言的描述语句2.2.1VerilogHDL语言的简介
目前的数字电路设计在层次上可分成以下4个层次:(1)算法级设计:用高级语言如C语言及其他一些系统分析工具(如MATLAB)从系统的算法级方面对设计进行描述.算法级不需要包含时序信息.(2)RTL(寄存器传送)级设计:用数据流在寄存器间传输的模式来对设计进行描述.(3)门级:用逻辑级的与、或、非门等门级之间的连接关系对设计进行描述.(4)开关级:用晶体管和寄存器及它们之间的连线关系来对设计进行描述.2.2.1VerilogHDL语言的简介
一、VerilogHDL语言的概念VerilogHDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模.被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间.数字系统能够按层次描述,并可在相同描述中显式地进行时序建模.2.2.1VerilogHDL语言的简介
二、VerilogHDL语言的特点(1)可以采用三种不同方式或混合方式对设计建模:①行为描述方式,使用过程化结构建模;②数据流方式,使用连续赋值语句方式建模;③结构化方式,使用门和模块实例语句描述建模.(2)VerilogHDL中有两类数据类型:①线网数据类型:表示构件间的物理连线;②寄存器数据类型:表示抽象的数据存储元件.(3)设计能够在多个层次上加以描述。
2.2.2VerilogHDL语言的基本组成一、模块的概念数字电路可简单归纳为两种要素:(1)线是器件引脚之间的物理连线;(2)器件也可简单归纳为组合逻辑器件(如与或非门)和时序逻辑器件(如寄存器、锁存器、RAM等).一个数字系统:多个器件+一定的连线关系.VerilogHDL的建模:使用VerilogHDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程.模块是Verilog的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口.2.2.2VerilogHDL语言的基本组成二、模块的基本结构一个模块的结构描述位于module和endmodule语句之间,每个模块由两部分组成:(1)接口描述,即说明输入引脚和输出引脚;(2)逻辑功能描述,即定义输入是如何影响输出的.2.2.2VerilogHDL语言的基本组成1.模块声明模块声明包括模块名和输入/输出端口列表:
module模块名(输入/输出端口列表);输入/输出端口列表是模块对外的通信接口,多个端口名之间用“,”隔开.2.端口声明语句块端口声明语句块主要用于说明模块的端口类型和位宽.常见的端口类型分为输入input、输出output双向端口inout
端口类型[信号位宽-1:0]端口名;2.2.2VerilogHDL语言的基本组成3.逻辑功能描述语句块逻辑功能描述语句块主要用于正确定义和说明模块的逻辑功能.也就是定义输入如何影响输出.(1)结构描述方式(调用库文件)(2)数据流描述方式(使用连续赋值语句assign)(3)行为描述方式(使用always过程块)2.2.3VerilogHDL语言的语言要素一、标识符标识符用于表示电路系统中的模块、寄存器、输入/输出端口、连线等物理对象的名称.标识符可以是字母、数字和下划线等符号组成的任意序列.定义标识符时应遵循以下规则:(1)首字符不能是数字;(2)字符数不能超过1024个;(3)大小写字母是不同的;(4)不能与关键字(保留字)同名.VerilogHDL允许使用转义标识符.2.2.3VerilogHDL语言的语言要素二、数据类型用硬件描述语言设计的电路模块所处理的数据就是实际电路中的物理连线、存储单元中的逻辑值.1.常量在程序运行的过程中,其值不能被改变的量称为常量.(1)整数型数据.二进制整数、十进制整数、十六进制整数和八进制整数.<符号位><位宽>′<进制符号><数值>8′b110010112.2.3VerilogHDL语言的语言要素(2)实数型数据:①十进制方式:例如3.24②指数方式:例如100000.0表示为1.0E5(3)字符型数据.字符串用双引号括起来的字符序列,例如“HelloWorld!”.(4)参数型数据.用parameter定义一个标识符来代表一个常量,称为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性.参数型数据常用于定义延迟时间和变量宽度.其格式如下:
parameter参数名1=表达式1,……,参数名n=表达式n;2.2.3VerilogHDL语言的语言要素2.变量变量是指程序运行过程中其值可以改变的量。(1)wire型.相当于组合逻辑电路中的各种连接线:
wire[n-1:0]数据1,数据2,……,数据i;//定义了i个n位的wire型变量,共有i条总线,每条总线内有n条线路(2)reg型.一种暂存数据的变量.
reg[n-1:0]数据名1,数据名2,……,数据名i;//定义了i个n位的reg型变量,共有i个寄存器,每个寄存器都是n位(3)memory型.对reg型变量建立数组来对存储器建模,可以描述RAM型存储器、ROM型存储器和reg文件.
reg[n-1:0]存储器名[m-1:0];//定义一个m×n的存储器,存储器的存储单元是一个n位寄存器,共有m个存储单元2.2.3VerilogHDL语言的语言要素三、运算符和表达式1.算术运算符:+、-、∗、/、%2.位运算符:~、&、|、^、^~3.逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)4.关系运算符:>、<、>=、<=5.等式运算符:==、!=、===、!==6.移位运算符:<<(左移位运算)、>>(右移位运算)7.条件运算符:?:8.位拼接运算符:{}9.缩减运算符:,
&、~&、|、~|、^、^~2.2.4VerilogHDL语言的描述语句一、赋值语句1.非阻塞赋值(Non_blocking):c<=a;2.阻塞赋值(Blocking):c=a;二、块语句1.顺序语句块(begin…end)2.并行语句块(fork…join)三、条件语句1.if条件语句2.case条件语句2.2.4VerilogHDL语言的描述语句四、循环语句1.forever语句2.repeat语句3.while语句4.for语句五、结构说明语句1.initial语句2.always语句3.task语句4.function语句2.3项目设计2.3.1项目功能分析2.3.2项目硬件设计2.3.3项目软件设计2.3.1项目功能分析2.3.2项目硬件设计2.3.3项目软件设计(1)结构描述方式(2)数据流描述方式(3)行为描述方式2.4项目实施与调试2.4.1项目实施2.4.2项目调试2.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程2.4.2项目调试一、电路调试拨动拨码开关,查看发光二极管的亮灭情况,看是否符合选择器的逻辑要求和设计要求.二、故障现象与分析(1)设置输入端口所连接的拨码开关,拨动选择功能拨码开关,但LED灯不变化:引脚没有分配好,需检查重新分配引脚.(2)设置输入端口所连接的拨码开关,拨动选择功能拨码开关,但LED灯亮灭情况错误:电路设计逻辑有错误,需检查纠正错误.2.5项目总结与拓展2.5.1项目总结2.5.2项目拓展2.5.1项目总结1.掌握VerilogHDL语言的基本组成2.掌握VerilogHDL语言的数据类型、运算符和表达式3.掌握VerilogHDL语言的赋值语句、块语句4.掌握VerilogHDL语言的条件语句、循环语句和结构说明语句2.5.2项目拓展1.采用VerilogHDL语言文本输入法,设计实现一个4位2路数据选择器.要求:使用3种逻辑功能描述方法进行描述.2.采用VerilogHDL语言文本输入法,设计实现一个8位4路数据选择器.要求:使用3种逻辑功能描述方法进行描述.3.采用VerilogHDL语言文本输入法,设计实现一个8位全加器.要求:使用3种逻辑功能描述方法进行描述.4.采用原理图输入法,设计实现3G8译码器.5.采用VerilogHDL语言输入法,设计实现3G8译码器.要求:使用3种逻辑功能描述方法进行描述.第3章数码管显示译码器的设计目录3.1项目需求分析3.2项目理论知识3.3项目设计3.4项目实施与调试3.5项目总结与拓展3.1项目需求分析在数字系统中,需要直观显示数字量,因此数字显示电路是数字系统中不可缺少的部分.数码管显示译码器就是将BCD码转换为7段数码管的位段显示码,以此来显示十进制数字.(1)输入:使用4位拨码开关设置4位BCD码;(2)输出:使用数码管显示BCD码对应的十进制数字;(3)通过4位拨码开关改变输入的BCD码,数码管改变显示对应的十进制数字.3.2项目理论知识3.2.1组合逻辑电路的原理3.2.2门电路3.2.3运算器3.2.4编码器3.2.5译码器3.2.6数据选择器3.2.7数据分配器3.2.8数值比较器3.2.1组合逻辑电路的原理
组合逻辑电路:在任何时刻,输出状态只取决于同一时刻各输入状态的组合,而与电路以前状态无关,与其他时间的状态也无关.组合逻辑电路的特点归纳如下:(1)输入、输出之间没有反馈延迟通道;(2)电路中无记忆单元.3.2.2门电路用于实现基本逻辑运算和复合逻辑运算的单元电路称为门电路.常用的门电路在逻辑功能上有与门、或门、非门、与非门、或非门、与或非门、异或门、同或门等几种.3.2.3运算器常用的运算电路包括加法器和乘法器.一、运算器的原理1.半加器与全加器2.加法器二、运算器的设计建模1.半加器设计2.全加器设计3.2.4编码器一、编码器的原理1.基本概念用代码表示特定信号的过程叫编码;实现编码功能的逻辑电路叫编码器.编码器的输入是被编码的信号,输出是与输入信号对应的一组二进制代码.2.普通编码器3.优先编码器二、编码器的设计建模3.2.5译码器一、译码器的原理1.基本概念把二进制代码按照原意转换成相应输出信号的过程叫译码.完成译码功能的逻辑电路叫译码器.2.二进制译码器3.二-十进制译码器4.数码管显示译码器二、译码器的设计建模译码:把n个二进制代码转换成2n个信息代码.3.2.6数据选择器一、数据选择器的原理从若干输入信号中选择一路作为输出。二、数据选择器的设计建模数据选择器:从多个输入端中选择一路输出。相当于一个多路开关。3.2.7数据分配器一、数据分配器的原理1.数据分配器的逻辑功能多路分配器,它只有一个数据输入端,但有2n个数据输出端.根据n个选择输入的不同组合,把数据送到2n个数据输出端中的某一个.2.译码器用作数据分配器3.多路信号分时传送二、数据分配器的设计建模多路分配器的功能是将输入数据分配到不同的通道上,相当于一个单刀多掷开关.3.2.8数值比较器一、数值比较器的原理对2个数A、B进行比较,以判断其大小的逻辑电路.A>B、A=B、A<B.1.1位数值比较器2.多位数值比较器二、数值比较器的设计建模多位数值比较器是逐次从高位开始比较的.3.3项目设计3.3.1项目功能分析3.3.2项目硬件设计3.3.3项目软件设计3.3.1项目功能分析3.3.2项目硬件设计3.3.3项目软件设计(1)文本输入法3.4项目实施与调试3.4.1项目实施3.4.2项目调试3.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程3.4.2项目调试一、电路调试拨动拨码开关,查看七段数码管的显示情况,看是否符合数码管显示译码器的逻辑要求和设计要求.二、故障现象与分析(1)拨动拨码开关,但数码管不亮引脚没有分配好,需检查重新分配引脚.(2)拨动拨码开关,但数码管显示错误首先检查电路设计逻辑是否有错误,如果有,纠正错误.如果逻辑没有错误,还需检查引脚是否连接错误,如果有,重新分配与连接.3.5项目总结与拓展3.5.1项目总结3.5.2项目拓展3.5.1项目总结1.掌握组合逻辑电路的运算器设计2.掌握组合逻辑电路的编码器和译码器的设计3.掌握组合逻辑电路的数据选择器、数据分配器和数据比较器设计3.5.2项目拓展1.设计实现一个8位半加器.2.设计实现一个4位全加器.3.设计实现一个4位乘法器.4.设计实现一个二G十进制编码器.5.设计实现一个二G四译码器.6.设计实现一个4选1数据选择器,其中输入数据位宽为4位.7.设计实现一个带使能控制端stn的8选1数据选择器.8.设计实现一个1位二进制数据比较器.第4章计数器的设计目录4.1项目需求分析4.2项目理论知识4.3项目设计4.4项目实施与调试4.5项目总结与拓展4.1项目需求分析计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制等功能,同时兼有分频功能.本项目要求设计一个六十进制的计数器:(1)每隔1s,计数器增加1,递增至59时,计数器自动归零;(2)计数器的计数值分个位和十位输出,便于数码管显示;(3)使用按键可以实现计数器复位.4.2项目理论知识4.2.1时序逻辑电路的原理4.2.2触发器4.2.3计数器4.2.4分频器4.2.5锁存器4.2.6寄存器4.2.7存储器4.2.1时序逻辑电路的原理
一、时序逻辑电路的结构与原理时序逻辑电路是一种输出不仅与当前的输入有关,而且与其输出状态的原始状态有关,这相当于在组合逻辑的输入端加上了一个反馈输入,在其电路中有一个存储电路,可以将输出的状态保持住.4.2.1时序逻辑电路的原理
二、时序逻辑电路的设计方法1.同步时序电路的分析方法所有触发器在同一个时钟脉冲控制下同时进行状态转换2.异步时序电路的分析方法各个触发器不是由同一个时钟脉冲控制的,因此各触发器不在同一时刻进行状态转换.4.2.2触发器一、触发器的原理触发器是一种对脉冲边沿敏感的存储电路,它们只能在作为触发信号的时钟脉冲上升沿或下降沿的变化瞬间才改变状态.二、触发器的设计触发器是一种应用在数字电路上具有记忆功能的循序逻辑组件,可记录二进制数字信号“1”和“0”.触发器是在时钟边沿进行数据锁存的.4.2.3计数器一、计数器的原理计数器主要由触发器组成,用于统计输入计数脉冲的个数.二、计数器的设计同步计数器是指构成计数器的各个触发器的状态只在同一时钟信号的触发下才会发生变化的计数器.4.2.4分频器一、分频器的原理分频器是指使输出信号频率为输入信号频率整数分之一的电子电路.分频器可以大致分为两种,一种是偶数分频,另一种是奇数分频.二、分频器的设计1.偶数分频 2.奇数分频4.2.5锁存器一、锁存器的原理锁存器是一种对脉冲电平敏感的存储单元电路,可以在特定输入脉冲电平作用下改变状态.1.不带使能控制的锁存器2.带使能控制的锁存器二、锁存器的设计锁存器不同于触发器,在不锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,数据就被锁住,输入信号不起作用.4.2.6寄存器一、寄存器的原理用来存储一组二进制代码的同步时序电路称为寄存器二、寄存器的设计由于触发器有记忆功能,所以利用触发器可以方便地构成寄存器.由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器.4.2.7存储器一、存储器的原理存储器为每一个存储单元编写一个地址,因此,只有地址指定的存储单元才能够与公共I/O相连,然后进行存储数据的读/写操作.二、存储器的设计1.只读存储器(ROM)2.随机存储器(RAM)4.3项目设计4.3.1项目功能分析4.3.2项目硬件设计4.3.3项目软件设计4.3.1项目功能分析4.3.2项目硬件设计3.3.3项目软件设计采用文本编辑法,使用VerilogHDL语言描述六十进制计数器:4.4项目实施与调试4.4.1项目实施4.4.2项目调试4.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程4.4.2项目调试一、电路调试(1)根据项目需要引入1Hz时钟源;(2)接通电源,观察2个数码管的显示状态,是否随时钟的变化而进行计数.二、故障分析与排除1.数码管显示不正确故障原因:计数功能不正确;故障排除:首先检查技术功能逻辑设计是否正确,如果不正确,重新设计.2.数码管显示错位故障原因:外围电路引脚配置错误;故障排除:检查外围电路引脚配置顺序.4.5项目总结与拓展4.5.1项目总结4.5.2项目拓展4.5.1项目总结1.掌握时序逻辑电路的计数器的设计2.掌握时序逻辑电路的分频器的设计3.掌握时序逻辑电路的锁存器、寄存器和存储器设计4.5.2项目拓展1.采用原理图法,在原理图编辑器中绘制RS触发器的原理图结构.2.采用原理图法,在原理图编辑器中绘制8位锁存器的原理图结构.3.采用原理图法,在原理图编辑器中绘制8位寄存器的原理图结构.4.设计实现D触发器.5.设计实现十进制计数器.6.设计实现8分频器.7.设计实现1000分频器.8.设计实现带复位的50分频器.9.设计实现8位锁存器.10.设计实现带OE控制端的8位寄存器.11.设计实现8×8的RAM.12.设计实现8×8的ROM.第5章可控流水灯设计目录5.1项目需求分析5.2项目理论知识5.3项目设计5.4项目实施与调试5.5项目总结与拓展5.1项目需求分析控制16个LED灯进行流水灯显示.设计4种显示模式状态:(1)从左到右逐个点亮LED灯;(2)从右到左逐个点亮LED灯;(3)从中间到两边逐个点亮LED灯;(4)从两边到中间逐个点亮LED灯.4种模式状态循环切换,由复位键Rst控制系统的运行与停止.5.2项目理论知识5.2.1有限状态机5.2.2有限状态机的设计5.2.1有限状态机
有限状态机(FiniteStateMachine,FSM)是表示有限个状态以及状态之间的转移和动作的数学模型,由时序电路和组合电路组成。状态机的基本操作有2种:(1)状态机的内部状态转换.(2)产生输出信号序列.5.2.1有限状态机
建立有限状态机主要有2种方法:状态转移图(状态图)和状态转移表(状态表).5.2.2有限状态机的设计一、典型的状态机二、有限状态机的描述方法(1)一段式FSM描述方法(2)两段式FSM描述方法(3)三段式FSM描述方法5.3项目设计5.3.1项目功能分析5.3.2项目软件设计5.3.1项目功能分析5.3.2项目软件设计采用文本输入法,使用VerilogHDL语言描述可控流水灯设计5.4项目实施与调试5.4.1项目实施5.4.2项目调试5.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程5.4.2项目调试一、电路调试(1)根据项目需要引入20MHz时钟源;(2)接通电源,观察16个LED灯的闪烁状态,看是否随时钟变化进行4个显示状态切换.二、故障分析与排除1.LED灯显示不正确故障原因:状态机输出不正确,外围电路引脚配置错误.故障排除:检查状态转换时输出的设置,如果不正确,重新根据状态对输出进行设置.如果正确,检查外围电路引脚配置顺序.2.状态切换不正确故障原因:状态转换工作不正常.故障排除:首先检查当前状态(现态)的设置是否正确,如果不正确,重新设置当前状态;如果正确,则检查下一个状态(次态)的设置是否正确.5.5项目总结与拓展5.5.1项目总结5.5.2项目拓展5.5.1项目总结1.掌握有限状态机的结构和基本操作2.掌握有限状态机的典型设计模型和方法5.5.2项目拓展设计实现一个32位心形流水灯,如图5G10所示,显示模式如下:(1)从左至右逐个点亮LED灯(LED1→LED32);(2)从右至左逐个点亮LED灯(LED32→LED1);(3)从中间到两边逐个点亮LED灯(LED1→LED16,LED32→LED17);(4)从两边到中间逐个点亮LED灯(LED16→LED1,LED17→LED32);(5)从每边一半向两头逐个点亮LED灯(LED8→LED1,LED9→LED16,LED24→LED17,LED25→LED32).第6章数字时钟的设计目录6.1项目需求分析6.2项目设计6.3项目实施与调试6.4项目总结与拓展6.1项目需求分析设计一个简易的数字时钟,具体功能要求如下:(1)24小时制,能显示时、分和秒,时、分、秒各占2位;(2)小时为二十四进制,分和秒为六十进制;(3)可以进行时间设置,设置时间闪烁显示.6.2项目设计6.2.1项目功能分析6.2.2项目硬件设计
6.2.3项目软件设计6.2.1项目功能分析6.2.1项目功能分析6.2.2项目硬件设计6.2.2项目软件设计一、子模块设计1.时钟分频模块设计(Clock_Divide.v)2.状态转换模块设计(State_Change.v)3.显示控制模块设计(Display_Control.v)二、顶层设计(Digital_Clock.v)6.3项目实施与调试6.3.1项目实施6.3.2项目调试6.3.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程6.3.2项目调试一、电路调试(1)根据项目需要引入20MHz时钟源;(2)接通电源,观察数码管显示的数值,看是否随时钟的变化而进行加1计数,秒计满59向分进1,分计满59向时进1,计到23:59:59时,自动归零为00:00:00.二、故障分析与排除1.数码管只显示:00:00:00故障原因:计数模块工作不正常.故障排除:首先检查计数模块的时钟输入是否正确,如果不正确,检查时钟分频模块.如果正确,则检查计数模块;2.数码管显示错位故障原因:显示控制模块工作不正常,外围电路引脚配置错误.故障排除:检查显示控制模块的时、分、秒的个位和十位输入是否正确;检查外围电路引脚配置顺序.6.4项目总结与拓展6.4.1项目总结6.4.2项目拓展6.4.1项目总结1.掌握典型数字电路系统的模块化设计方法与思路2.掌握系统模块仿真思路和方法6.4.2项目拓展设计完成电子秒表计时器:实现一个能显示00.00秒(百分之一秒)到59.99秒,当计时达到并超过1分钟时,给出LED灯常亮信号告警,计数结果停留在计数最大值(即99.99秒)上的电子秒表.具有继续/暂停按键和复位清零开关.(1)复位开关为HIGH时,系统复位,电子秒表显示时间为0秒;当复位开关为LOW时,系统开始按继续/暂停按键控制进行工作;(2)当继续/暂停按键按下时,系统暂停计数,显示停留在所暂停时刻;当继续/暂停按键松开时,系统正常计数,显示精度为0.01秒.第7章交通信号灯控制器的设计目录7.1项目需求分析7.2项目设计7.3项目实施与调试7.4项目总结与拓展7.1项目需求分析设计一个具有3种交通信号灯和倒计时显示器的十字路口交通信号灯控制器:(1)十字路口的A、B两个方向各设一组信号灯:绿灯(G)、黄灯(Y)和红灯(R).(2)A、B两个方向各设一组倒计时显示器,A方向的绿灯、黄灯和红灯显示时间分别为40s、5s和50s;B方向的绿灯、黄灯和红灯显示时间分别为30s、5s和60s.(3)具有总体清零功能.计时器由初始状态开始计数,对应状态的LED指示灯点亮.7.2项目设计7.2.1项目功能分析7.2.2项目硬件设计
7.2.3项目软件设计7.2.1项目功能分析7.2.1项目功能分析7.2.2项目硬件设计7.2.2项目软件设计一、子模块设计1.时钟分频模块设计(Clock_Divide.v)2.状态转换模块设计(State_Change.v)3.显示控制模块设计(Display_Control.v)二、顶层设计(Traffic_Light.v)7.3项目实施与调试7.3.1项目实施7.3.2项目调试7.3.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程7.3.2项目调试一、电路调试(1)根据项目需要引入20MHz时钟源;(2)接通电源,观察交通信号灯(红、黄、绿三色LED灯)是否符合设计要求,数码管是否进行倒计时显示,计时到0时交通信号灯是否发生变化.二、故障分析与排除1.数码管只显示:00,不进行倒计时故障原因:倒计时部分工作不正常.故障排除:首先检查1s时钟脉冲输入是否正确连接,再检查引脚配置是否正确.2.数码管显示错位(高位、低位错位)故障原因:显示控制模块工作不正常.故障排除:检查显示控制模块的倒计时时间的个位和十位输入、输出是否正确;检查外围电路引脚配置顺序.7.4项目总结与拓展7.4.1项目总结7.4.2项目拓展7.4.1项目总结1.掌握Moore有限状态机的实现思路和方法2.掌握编写TestBench测试文档的方法3.掌握ModelSim仿真工具的使用方法7.4.2项目拓展1.使用Moore有限状态机FSM实现10010串的检测第8章序列检测器设计目录8.1项目需求分析8.2项目设计8.3项目实施与调试8.4项目总结与拓展8.1项目需求分析设计一个“11”序列检测器.(1)接收1位串行随机信号,在时钟的控制下,识别接收到的数据与检测码是否相同.(2)相同时,数码管显示“1”;不同时,数码管显示“0”.“11”序列检测器的检测码是“11”,即在输入的串行数据流中检测“11”序列,如果在连续的2个时钟周期内输入“11”,就在下一个时钟周期内输出“1”,说明检测到“11”序列.8.2项目设计8.2.1项目功能分析8.2.2项目硬件设计
8.2.3项目软件设计8.2.1项目功能分析8.2.1项目功能分析8.2.2项目硬件设计8.2.2项目软件设计一、子模块设计1.状态转换模块设计(State_Change.v)2.显示控制模块设计(Display_Control.v)二、顶层设计(Sequential_Detector.v)8.3项目实施与调试8.3.1项目实施8.3.2项目调试8.3.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程8.3.2项目调试一、电路调试(1)根据项目需要引入10ns时钟源;(2)接通电源,观察数码管显示的数值,看是否符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床诊疗效果评估报告
- 2026年黑龙江艺术职业学院单招综合素质考试参考题库带答案解析
- 个性化医疗与健康管理方案
- 2026年包头铁道职业技术学院高职单招职业适应性测试备考试题有答案解析
- 医院内部礼仪规范指南
- 医院医疗废物焚烧设备安全规范与操作培训
- 2026年河南护理职业学院高职单招职业适应性测试模拟试题有答案解析
- 2026年安徽电气工程职业技术学院高职单招职业适应性测试模拟试题有答案解析
- 2026年黑龙江生态工程职业学院单招职业技能考试参考题库带答案解析
- 财富能量课件封面
- 2025年(完整)《公共基础知识》考试题库附答案
- 2025贵州铜仁市“千名英才·智汇铜仁”本地引才413人考试题库附答案
- 山西省2026届高三第一次八省联考语文(T8联考)(含答案)
- 2025年杭州余杭水务有限公司招聘36人参考笔试题库及答案解析
- 2025山东聊城市市属事业单位定向招聘随军未就业家属8人备考核心试题附答案解析
- 急危重症护理进展
- 2026年江西应用技术职业学院单招职业适应性测试必刷测试卷附答案
- 【语文】江苏省南京市瑞金北村小学小学五年级上册期末试题(含答案)
- 电厂装置性违章培训课件
- 2025年艾滋病防治知识暨反歧视培训试题及答案
- 国家开放大学《劳动与社会保障法》形考任务1-4参考答案
评论
0/150
提交评论