- 27
- 0
- 约2.14万字
- 约 83页
- 2019-01-23 发布于浙江
- 举报
第9章 数字电路EDA综合设计 9.1 常用组合电路模块的设计 9.2 常用时序电路模块的设计 9.3 复杂数字系统的设计 9.4 提高数字系统性能的方法 9.1 常用组合电路模块的设计 一、简单门电路 二、译码器与编码器 三、数据选择器 四、奇偶校验产生器 9.1 常用组合电路模块的设计 一、简单门电路 [例9.1] 基本门电路的几种描述方法 9.1 常用组合电路模块的设计 9.1 常用组合电路模块的设计 (3)用过程赋值语句描述 ——在always块内写出逻辑表达式 9.1 常用组合电路模块的设计 二、译码器与编码器 1. 译码器decoder 译码器:将输入的二进制代码翻译成相应的输出信号,以表示编码时所赋予原意的电路。 多条件译码电路大多用case语句实现——只需知道真值表。 9.1 常用组合电路模块的设计 9.1 常用组合电路模块的设计 2. 编码器encoder 编码器:将一个输入信号编码成一组二进制代码输出。 优先编码器:如有两个或两个以上的输入有效时,“优先”按其中输入编号最大的输入进行编码,输出为对应输入编号或其反码。 利用if_else语句的分支具有先后顺序的特点,用if_else语句可方便地实现优先编码器。 9.1 常用组合电路模块的设计 9.1 常用组合电路模块的设计 三、数据选择器(MUX) 逻辑功能——根据控制信号的取值,从多路平行输入数据中,选择一路作为输出信号。 又叫多路开关(Multiplexer),或多路器。 常用有3种方法来实现: (1)用assign语句设计2选1 MUX ——使用条件运算符 9.1 常用组合电路模块的设计 (2)用if_else语句设计4选1MUX ——当控制信号取不同的值时,输出信号与不同的输入信号值相对应 [例9.9] 用if_else语句描述的4选1 MUX 9.1 常用组合电路模块的设计 (3)用case语句设计4选1 MUX ——适于多分支情况,比用if_else语句更简洁! [例9.6] 用case语句描述的4选1 MUX 9.1 常用组合电路模块的设计 四、奇偶校验产生器 逻辑功能:对并行输入的8位数据进行奇偶校验,并产生奇校验位odd_bit和偶校验位even_bit。 用assign语句实现——对输入按位异或,产生奇校验位odd_bit,若为“1”,表示输入数据中有奇数个1;若偶校验位even_bit为“1”,表示输入数据中有偶数个1。 9.2 常用时序电路模块的设计 一、D触发器 二、数据锁存器 三、数据寄存器 四、移位寄存器 五、任意模加法/减法计数器 六、ROM/RAM模块 9.2 常用时序电路模块的设计 时序逻辑电路:任一时刻的输出信号不仅取决于该时刻的输入信号,而且还取决于电路原来的状态,即还与以前的输入有关。 时序逻辑通常用always块语句实现!并常用if_else语句进行分支操作。 9.2 常用时序电路模块的设计 一、D触发器 通常有3种D触发器,用always块语句实现: (1)最简单的D触发器(只有一个沿触发信号) 9.2 常用时序电路模块的设计 (2)带异步清0、异步置1端的D触发器(有多个沿触发信号) [例9.9] 带异步清0、异步置1端的D触发器 9.2 常用时序电路模块的设计 (3)带同步清0、同步置1端的D触发器(只有一个沿触发信号) [例9.10] 带同步清0、同步置1端的D触发器 9.2 常用时序电路模块的设计 二、数据锁存器 数据锁存器——由多位触发器组成的用于保存一组二进制代码的寄存单元。 功能:当输入控制信号(如时钟)为高电平时,门是打开的,输出信号等于输入信号;当输入控制信号为低电平时,门是关闭的,输出端保持刚才输入的数据,即为锁存状态,而不管此时输入信号是否变化。 通常由电平信号来控制,属于电平敏感型,适于数据有效滞后于控制信号有效的场合。 实现方法: 用assign语句——使用条件运算符,简便! 用always块语句实现 9.2 常用时序电路模块的设计 9.2 常用时序电路模块的设计 9.2 常用时序电路模块的设计 9.2 常用时序电路模块的设计 三、数据寄存器 数据寄存器——当时钟信号的上升沿或下降沿到来时,将输入端数据打入寄存器,即此时输出信号等于输入信号;在clk的其它时刻,输出端保持刚才输入的数据,即为寄存状态,而不管此时输入信号是否变化。 数据锁存器和数据寄存器的区别: 数据锁存器一般由电平信号来控制,属于电平敏感型,适于数据有效滞后于控制信号有效的场合。 数据寄存器通常由同步时钟信号来控制,属于脉冲敏感型,适于数据有效提前于控制信号有效、并要求同步操作的场合。 9.2 常用时序电路模块的
原创力文档

文档评论(0)