
基于Verilog HDL的通信系统设计 陈曦 等编著 第4章.ppt
14页第4章 简单逻辑电路实现,第2部分 实践篇,基于Verilog HDL的通信系统设计,基于Verilog HDL的通信系统设计,常用的最基本数字电路模块是数字通信系统中不可缺少的基本组成部分一个数字信号的处理系统,都包含了许许多多的逻辑电路一般逻辑电路大致分为两大类:组合逻辑电路和时序逻辑电路在组合逻辑电路中,任何一个时刻的输出信号仅取决于当前的输入信号而在时序逻辑电路中,任何时刻的输出信号不仅取决于当前的输入信号,而且还取决于电路原来的工作状态,即与以前的输入信号及输出也有关系本章主要介绍常用的基本组合逻辑电路和时序逻辑电路的设计本章内容是学习基于Verilog HDL通信系统实现的前提和基础,希望读者引起足够重视基于Verilog HDL的通信系统设计,4-1 简单组合逻辑电路的Verilog HDL实现,组合逻辑电路是一种在任何时刻的输出仅取决于当时输入信号的逻辑电路常用的组合逻辑电路主要有:编码器、译码器、数据选择器、半加器、全加器等4-1-1 基本门电路,在Verilog HDL中,内置了一些基本门原语,很好的实现了基本门电路的设计设计人员在设计模块时,直接调用这些模块即可,而不需要自己设计这些模块。
但是,在调用的过程中,要注意其调用的格式 内置门原语主要有:“与”(and)、“或”(or)、“异或”(xor)等用这些原语可以设计比较复杂的组合电路基于Verilog HDL的通信系统设计,4-1-2 译码器,译码器的功能是将输入的二进制代码翻译成对应的高低电平信号一般译码器属于一种多输入、多输出的电路但是输出埠的数目比输入的要多,主要是将输入编码转化成输出编码在此转换过程中,输入和输出一一对应,即每一种输入码字产生与之对应的唯一的一个输出码字 译码器有三个埠:输入码字埠、使能埠和输出码字埠4-1-3 数据选择器,在多路数据传送过程中,有时需要将多路数据中任一路信号挑选出来,完成这种功能的逻辑电路称为数据选择器下面以8选1数据选择器为例,介绍数据选择器的Verilog HDL描述,其主要有使能输入、选择输入和数据输出三个端口,当使能信号en有效时,8选1数据选择器的选择数据口“data_in”负责选择“ram”中存储的需要的数据,最后将结果输出到输出埠“data_out”基于Verilog HDL的通信系统设计,4-1-4 半加器,加法是数字系统中最常见的算术运算,而加法器是一种实现加法运算的逻辑电路。
最简单的是半加器半加器的功能是:实现两个输入数据的相加运算,不带进位输入其电路结构框图如图4-5所示图4-5 半加器的结构框图,基于Verilog HDL的通信系统设计,4-1-5 全加器,全加器与半加器的区别是:全加器有三个输入埠,其中,有两个输入埠和半加器相同,唯一不同的是增加了低位二进制数相加输出到本位的进位信号全加器可以通过真值表化简获得输入信号和输出信号的逻辑表达式,利用基本门电路实现;可以通过半加器的级联方式实现,本例采用半加器的级联实现全加器的功能基于Verilog HDL的通信系统设计,4-2 简单时序逻辑的Verilog HDl实现,时序逻辑电路简称为时序电路,与组合逻辑电路并驾齐驱,是数字电路两大重要分支之一时序逻辑电路中必须含有具有记忆能力的内存件,任意时刻的输出信号不仅和当时的输入信号有关,而且还与原来状态有关时序逻辑电路由组合逻辑电路和内存电路两部分组成内存件的种类很多,如触发器、延迟线、磁性器件等,而触发器是时序电路的基本组成单元基于Verilog HDL的通信系统设计,4-2-1 D触发器,在数字系统中,常常要存储一些数字信息触发器具有记忆功能、能存储数字信息的最常用的一种基本单元电路。
由两个门电路交叉耦合构成的基本触发器,只要输入信号发生变化,触发器状态就会根据其逻辑功能发生相应的变化但是在实际应用当中,电路状态的变化是在一定的时钟周期驱动下而改变的,即输出状态是以触发器的输入作为状态转移的条件,如果只是输入的变化,而时钟信号无效,输出是不会发生状态转移的,输入的变化只是状态变化的一个必备条件,最终输出状态的转移是在始终信号的作用下发生的为此,在基本触发器的基础上加上触发器导引电路,构成时钟控制的触发器经常使用的是钟控D触发器和钟控J-K触发器基于Verilog HDL的通信系统设计,4-2-2 R-S触发器,由四个集成门构成的电位触发方式的钟控触发器,在约定电平器件对输入激励信号均敏感,从而造成在某些条件下产生多次的翻转现象避免多次翻转的方法之一,就是采用具有存储功能的触发导引电路,主从结构式的触发器就是这类触发器4-2-3 J-K触发器,主从式J_K触发器可以看做是主从式R-S触发器的改进,解决了在R-S触发器中当R端和S端同时有效时,R-S触发器并没有做出定义的问题,即在R-S触发器中,R和S同时为1时,输出是不确定状态,而在主从式J_K触发器对各种情况做出了明确的定义,当R和S同时为1时,实现状态的翻转,即原来的状态是0,转移后的状态是1,反之亦然。
基于Verilog HDL的通信系统设计,4-2-4 计数器,在数字系统中,计数器不但可以统计输入脉冲个数,进行计时和计数,而且还可以实现信号分频、定时、产生节拍脉冲和脉冲序列等,其应用极其广泛一般计数器包含:同步计数器、异步计数器、加法减法计数器以及可逆计数器等一般的时序逻辑很容易实现计数功能4-2-5 串并转换电路,在数字元通信系统中常常需要将串行数据流转化成并行数据流或将并行数据流转化成串行数据流来处理,常常需要串并或并串电路完成以上转换过程串并转换电路就主要用于将多位串行输入数据转换为一路并行输出数据,它的实现方式有很多种,可以采用移位寄存器或采用状态机来实现串并转换功能基于Verilog HDL的通信系统设计,4-2-6 分频器,分频器是时序电路中比较常用的一种电路,可以将系统时钟根据实际需求,分频得到所需要的时钟信号主要分为奇数分频和偶数分频两种如果要实现占空比为1:1,偶数分频的实现方式比较简单,可以采用计数方式来完成;而奇数分频实现就相对比较复杂,采用上升沿和下降沿同时计数,最后将各自计数的结果“相与”而完成奇数分频下面以13分频为例,来讨论如何得到占空比1:1的奇数分频。
基于Verilog HDL的通信系统设计,4-3 几种常见的存储设备设计,比较常见的内存有RAM、ROM、FIFO和FLASH等本节主要以RAM、ROM和FIFO来说明其Verilog HDL实现原理4-3-1 RAM的Verilog HDL实现,随机存取内存(Random-Access Memory RAM)的特点是掉电后,资料也随之消失 RAM的工作过程大致如下:输入的2 bits地址信号选择RAM中相应的存储位置,然后将该位置的数据输出完成数据读取的过程在RAM中“存储”了4 个4bits的数据,需要在每一次初始化的时候给RAM重新赋初值基于Verilog HDL的通信系统设计,4-3-2 ROM的Verilog HDL实现,只读存储器(ROM)是一个非易失性内存,断电之后数据不会丢失,其结构图和RAM相似,ROM的工作过程大致如下:输入的4 bits地址信号选择RAM中相应的存储位置,然后将该位置的数据输出完成数据读取的过程不同的是,ROM中的数据不会丢失,所以不必每一次启动时都初始化4-3-3 FIFO的Verilog HDL实现,在数据结构中,线性结构主要有线性表、栈和队列。
FIFO(先进先出)队列是一种常见的内存单元,其特点是:写入操作在队列的一端,而读出操作要在队列的另一端进行基于Verilog HDL的通信系统设计,4-4 本章小结,本章通过对一些简单的组合逻辑电路和时序逻辑电路的介绍,使读者对简单数字电路实现有了一定的认识,为后续章节复杂数字逻辑电路的设计打下了基础本章的例子具有一定的参考价值,可以直接引用到其它数字系统设计中,读者应该从本章的范例中体会数字电路的描述方法,熟悉简单的数字电路的实现原理。












