数字逻辑电路实践教程-基于FPGA和Verilog 课件 第4章 基本逻辑电路设计实例_第1页
数字逻辑电路实践教程-基于FPGA和Verilog 课件 第4章 基本逻辑电路设计实例_第2页
数字逻辑电路实践教程-基于FPGA和Verilog 课件 第4章 基本逻辑电路设计实例_第3页
数字逻辑电路实践教程-基于FPGA和Verilog 课件 第4章 基本逻辑电路设计实例_第4页
数字逻辑电路实践教程-基于FPGA和Verilog 课件 第4章 基本逻辑电路设计实例_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第4章基本逻辑电路设计实例1.常用组合逻辑电路的设计组合逻辑电路在任何时刻产生的稳态输出只取决于该时刻电路的输入状态,与电路原来的状态无关。从电路结构上看,组合逻辑电路只有输入到输出的通路,没有输出到输入的反馈回路,电路由组合逻辑器件构成,不包含记忆元件。常用的组合逻辑电路有编码器、译码器、数据选择器、数值比较器、加法器等。用VerilogHDL对组合逻辑电路建模时,always语句的敏感信号必须是电平触发,且敏感信号列表要包含所有被赋值的信号。always语句内一般采用阻塞赋值。另外,也可以使用assign语句对wire型变量进行赋值,综合后结果也是组合逻辑电路。1.常用组合逻辑电路的设计组合逻辑电路设计编码器译码器数据选择器数值比较器加法器1.常用组合逻辑电路的设计组合逻辑电路设计编码器数字系统中一般用二进制表示存储或处理的信息,并按照一定的规律对二进制码进行编排,使每组代码具有特定的含义,这个过程称为编码。具有编码功能的逻辑电路称为编码器。编码器分为普通编码器和优先编码器。普通编码器任何时刻只允许一个输入信号有效,如果出现多个输入信号同时有效,输出将出现错误。优先编码器允许多个输入信号同时有效,输出只对优先级最高的输入信号进行编码。1.常用组合逻辑电路的设计组合逻辑电路设计编码器——8-3线优先编码器EI为选通输入端,低电平有效。EO为选通输出端,低电平有效,与另一编码器EI端相连可拓展出更多位数的优先编码器。GS为编码输出有效信号,低电平有效,表示输入端有输入。I7~I0为编码输入端,低电平有效,I7优先级最高。A2~A0为编码输出端,低电平有效。

8-3线优先编码器逻辑符号1.常用组合逻辑电路的设计组合逻辑电路设计编码器——8-3线优先编码器8-3线优先编码器功能表1.常用组合逻辑电路的设计组合逻辑电路设计编码器——8-3线优先编码器用VerilogHDL语言实现8-3线优先编码器8-3线优先编码器仿真结果1.常用组合逻辑电路的设计组合逻辑电路设计译码器译码是将具有特定含义的编码转换成有效电平信号后输出,是编码的逆过程。具有译码功能的逻辑电路称为译码器。译码器分为两种,一种是二进制译码器,即将二进制代码转换成与之一一对应的有效信号,可用于对存储器单元地址译码的类似场合;另一种是代码转换器,即将一种代码转换成另外一种代码,比如BCD-七段显示译码器就是将BCD码转换成七段码进行显示的。1.常用组合逻辑电路的设计组合逻辑电路设计译码器——3-8译码器3-8译码器是一个将输入的3位二进制代码转换成8位输出的逻辑电路。G1为控制信号,高有效。G2A、G2B为控制信号,低有效。A为3位二进制输入信号。Y为8位输出信号,同一时刻只有一位输出有效。3-8译码器逻辑符号1.常用组合逻辑电路的设计组合逻辑电路设计译码器——3-8译码器3-8译码器功能表1.常用组合逻辑电路的设计组合逻辑电路设计译码器——3-8译码器3-8译码器仿真结果用VerilogHDL语言实现3-8译码器1.常用组合逻辑电路的设计组合逻辑电路设计数据选择器在数字系统中,从多个输入通道中选择一路输出的过程叫做数据选择。实现数据选择功能的逻辑电路称为数据选择器。1位四选一数据选择器表示从4路数据中选择1路进行输出的选择器,每路输入的位宽为1。en为使能信号,高有效。sel为选择信号,表示选择哪一路输出。din为4路输入信号。输出信号dout表示选出的一路信号。1位四选一数据选择器逻辑符号1.常用组合逻辑电路的设计组合逻辑电路设计数据选择器1位四选一数据选择器仿真结果用VerilogHDL语言实现1位四选一数据选择器1位四选一数据选择器功能表1.常用组合逻辑电路的设计组合逻辑电路设计数值比较器在数字系统中,数值比较器是用于比较两个数大小或相等的逻辑电路。进行比较的两个数位宽相同,可以是一位的,也可以是多位的,比较结果有大于、等于和小于三种情况,对应有三个输出,但只有一个输出为真。常用的数值比较器有4位数值比较器和8位数值比较器。4位数值比较器用于位宽为4的两个数数值大小的比较。输入信号A、B为待比较的两个4位数,输出F为比较结果。4位数值比较器逻辑符号1.常用组合逻辑电路的设计组合逻辑电路设计数值比较器——4位数值比较器4位数值比较器功能表用VerilogHDL语言实现4位数值比较器4位数值比较器仿真结果1.常用组合逻辑电路的设计组合逻辑电路设计加法器加法器是用于执行加法运算的功能部件,是数字系统中最基本的逻辑器件。只考虑两个加数而不考虑低位进位的加法器称为半加器(HalfAdder,HA)。既考虑两个加数又考虑低位进位的加法器称为全加器(FullAdder,FA)。根据加法器进位方式又分为串行进位加法器和超前进位加法器。输入信号A、B为进行加法运算的两个1位数据;输入信号CI为前级进位;输出信号F为运算结果;输出信号CO为产生的向高位的进位。1位全加器逻辑符号1.常用组合逻辑电路的设计组合逻辑电路设计加法器——1位全加器1位全加器功能表用VerilogHDL语言实现1位全加器1位全加器仿真结果2.常用时序逻辑电路的设计时序逻辑电路时序逻辑电路在任一时刻的输出信号不仅与当时的输入信号有关,而且还与电路的原状态有关。从电路结构上看,时序逻辑电路通常由组合逻辑电路和存储电路两部分组成,存在记忆元件。常用的时序逻辑电路有锁存器、触发器、寄存器、计数器、存储器等。用VerilogHDL构建时序逻辑电路时,always语句必须是边沿触发,可以是时钟信号、复位信号的上升沿或下降沿,一般采用非阻塞赋值。2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器计数器寄存器移位寄存器存储器2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器锁存器(Latch)和触发器(Filp-Flop,FF)是典型的双稳态电路,是构成时序逻辑电路的基本单元。锁存器采用电平控制,控制信号在有效电平期间,输出信号随输入信号变化。触发器采用时钟边沿触发控制方式,只有在时钟信号的上升沿或者下降沿到达时输出状态才会发生变化。常见的锁存器包括:R-S锁存器、D锁存器、J-K锁存器。常见的触发器包括J-K触发器、D触发器、T触发器。2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器R-S锁存器D锁存器J-K触发器D触发器2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器R-S锁存器R-S锁存器是构成其他锁存器和触发器的基本单元。输入信号R、S分别为锁存器的复位端和置位端,输出信号Q、Qn为锁存器的状态输出。

R-S锁存器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器R-S锁存器R-S锁存器功能表用VerilogHDL语言实现R-S锁存器R-S锁存器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器D锁存器输入信号EN为使能控制端。D为锁存器数据输入端。Q为数据输出端。D锁存器逻辑符号D锁存器功能表用VerilogHDL语言实现D锁存器D锁存器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器J-K触发器J-K触发器功能较全,容易转换成其他类型触发器。J、K为触发器的数据输入端。CP为边沿触发信号,上升沿触发。输出信号Q、Qn为触发器的数据输出端。J-K触发器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器J-K触发器J-K触发器功能表J-K触发器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计锁存器和触发器D触发器D触发器是最常用的触发器。clk为边沿触发信号,上升沿触发。D为触发器的数据输入端。Q为触发器的数据输出端。D触发器逻辑符号D触发器功能表用VerilogHDL语言实现D触发器D触发器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计计数器计数器是一种能对输入脉冲进行计数的电路,是数字电路设计中最为常见、应用最为广泛的时序逻辑电路。计数器的基本原理是按照一定的顺序将多个触发器连接起来,随着时钟脉冲的变化以一定的计数规律更新触发器的组合状态,从而实现对时钟脉冲的计数。计数器可计数的状态个数称为计数器的模。计数器种类较多,按照计数方向可分为加法计数器、减法计数器、可逆计数器等。按照各触发器的时钟是否同步可分为同步计数器和异步计数器。2.常用时序逻辑电路的设计时序逻辑电路设计计数器——4位二进制加1计数器clk为计数时钟信号,上升沿触发。ctrl为功能控制信号,可以表示清零、置数、加1计数和保持四种功能。din为置数时的数据输入端。Q为计数输出信号。4位二进制加1计数器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计计数器——4位二进制加1计数器4位二进制加1计数器功能表用VerilogHDL语言实现4位二进制加1计数器4位二进制加1计数器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计寄存器寄存器是数字电路中用于暂存信息的时序逻辑电路。最简单的寄存器由触发器构成,把多个D触发器的时钟端连接起来,就构成一个可以存储多位二进制代码的寄存器。常用作地址寄存器、指令寄存器、数据寄存器、控制寄存器、状态寄存器等。en为使能端。rst为复位信号。clk为边沿触发信号,上升沿触发。data为数据输入信号。q为寄存器数据输出信号。8位寄存器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计寄存器——8位寄存器8位寄存器功能表用VerilogHDL语言实现8位寄存器8位寄存器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计移位寄存器移位寄存器是指存储的二进制数据在时钟信号控制下可以进行左移或右移的寄存器,常用于数据的串并转换、数值运算等。移位寄存器按照工作方式可以分为串入串出型、串入并出型及并入串出型。按照移位方式可以分为单向移位、双向移位、循环移位、扭环移位等类型。2.常用时序逻辑电路的设计时序逻辑电路设计移位寄存器——4位双向移位寄存器clk是进行移位操作的时钟信号,上升沿触发。en是使能端。sl、sr为功能选择端,用于确定模块当前的功能(清零、左移、右移或保持)。din是移位后补位数据的输入端。q是移位寄存器的数据输出端。4位双向移位寄存器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计移位寄存器4位双向移位寄存器功能表4位双向移位寄存器仿真结果2.常用时序逻辑电路的设计时序逻辑电路设计存储器存储器是时序逻辑电路的一种,能够存储大量的二进制信息,按照读写类型可以分为只读存储器(ReadOnlyMemory,ROM)和随机存储器(RandomAccessMemory,RAM)。ROM存储器可以从指定的存储单元中读取相应的数据,但不能进行写入操作。RAM存储器可以从指定的存储单元读取相应的数据,也可以将数据写入到指定的单元中。所谓“随机存取”,指的是当存储器中的数据被读取或写入时,所需要的时间与这段信息所在的位置或所写入的位置无关。这种存储器在断电后会丢失存储内容,因此用来暂时存储程序、数据和中间结果。2.常用时序逻辑电路的设计时序逻辑电路设计存储器从Verilog语法定义的角度来看,定义一个存储器的语法格式为:reg[DATA_WIDTH-1:0]mem[0:DEEPTH-1]其中DATA_WIDTH是位宽,DEEPTH是深度,如reg[7:0]mem[15:0]表示定义了一个数据位宽为8,共16个存储单元的存储器。2.常用时序逻辑电路的设计时序逻辑电路设计存储器——8位随机存储器clk是同步读写时钟信号,上升沿触发;cs是片选信号,高有效;wr是写控制信号,高有效;rd是读控制信号,高有效;addr是存储器地址信号,位宽为4;din是存储器数据输入信号;q为存储器数据输出信号。8位随机存储器逻辑符号2.常用时序逻辑电路的设计时序逻辑电路设计存储器——8位随机存储器8位随机存储器功能表8位随机存储器仿真结果3.有限状态机的设计有限状态机简介有限状态机,英文全称FiniteStateMachine,简称FSM,是数字电路设计中的一个重要的概念和设计方法。有限状态机分为两大类:摩尔(Moore)型状态机和米里(Mealy)型状态机。其中Moore型状态机的输出仅与现态有关,Mealy型状态机的输出不仅与现态有关,而且和输入也有关。Moore型和Mealy型状态机结构框图3.有限状态机的设计状态机设计步骤确定状态机类型,即选择Moore型还是Mealy型状态机。进行逻辑分析与抽象,确定输入、输出与状态,用状态转换表、状态转换图、算法状态机等工具描述状态机。确定各状态的编码。实现状态机。3.有限状态机的设计状态机设计步骤描述方法状态转换表和状态转换图状态转移表通常是一个二维表格,其中行表示状态,列表示事件或条件,单元格记录了在特定状态下满足某个事件或条件时应转移到的状态。状态转换图与状态转换表的本质相同,通过绘制圆圈表示状态,用带箭头的直线表示状态之间的转移,箭头线上可以标注转移的操作或条件,由于用图形表示,更加形象且直观。Moore型电路的输出和状态名一起以“状态/输出”的形式标注在圆圈内,Mealy型电路的输出和输入有关,以“输入/输出”的形式标注在连线旁。3.有限状态机的设计状态机设计步骤描述方法算法状态机图算法状态机图,英文全称AlgorithmicStateMachineChart,简称ASM图,是一种用于描述数字系统控制过程的算法流程图,类似于计算机中的程序流程图,不同之处在于ASM图能表示事件的精确时间顺序,而程序流程图只表示事件的先后顺序,没有时间概念。3.有限状态机的设计状态机设计步骤描述方法算法状态机图ASM图基本符号(a)状态框(c)条件输出框(b)判断框3.有限状态机的设计状态机设计步骤描述方法算法状态机图状态框表示控制器所处的状态,用矩形表示,框内标明当前状态所做的操作和输出,如无操作输出可空。状态名置于矩形框左上角,状态编码置于右上角。判断框表示当前状态下输入变量对控制器的影响,用菱形表示。判断框不占用时间。条件输出框用来表示控制器在所处状态下且符合某个条件时所做的操作和输出,用椭圆状或两端为圆弧的框表示。3.有限状态机的设计状态机设计步骤状态编码状态机中对状态的编码有:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码。

8个状态对应的不同编码格式3.

温馨提示

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

评论

0/150

提交评论