《组合逻辑电路的设计方法》由会员分享,可在线阅读,更多相关《组合逻辑电路的设计方法(53页珍藏版)》请在金锄头文库上搜索。
1、*1学习要求: 掌握组合逻辑电路设计的基本方法 掌握常用的基本组合逻辑模块和用MSI器件进行组 合逻辑设计的基本方法 了解VHDL语言的基本特性,三种编程风格,初步 学会使用VHDL第3章 组合逻辑电路设计*2习题1,2,3,9,10,20,21,32,35,46,48.第3章 组合逻辑电路设计(续)*31. 功能描述(specification) :如果没有现成的描述,则先要 分析问题,得到一个符合要求的电路功能描述。2. 形式化(formulation) :根据功能描述推导出真值表或初 始的布尔表达式,从而获得输入端与输出端的逻辑关系。3. 优化(opimization) :采用两级或多级
2、优化。画出逻辑图 或提供一个目标电路的网表,目标电路由与门、或门和反 相器组成。4. 工艺映射(technology mapping) :把逻辑图或网表转化 成可以用工艺实现的新逻辑图或网表。5. 验证(verification) :验证最后设计的正确性。3.1 设计流程*4例3-1 设计一个将BCD码转换成余3码的转换器 3.1 设计流程(续)功能描述:一个十进制数的余3码是在此十进制数加3的 二进制组合。例如,十进制数5的余3码,是5+3=8的 二进制组合:1000。 每个BCD码都有四位,从最高位到最低位,分别标记为 A、B、C、D。每个余3码也有四位,按最高位到最低 位标记,分别是W、
3、X、Y、Z。形式化:将一个BCD码加上0011(3)即可很容易地 得到相应的余3码。非有效BCD码,可以假设不存在 。所以,我们不用关心这些输入组合的余3码的二进 制编码,将它们看做无关项。 *5初步优化: 3.1 设计流程(续)*6第二步优化:考虑到这四个输出表达式之间的共同子项 3.1 设计流程(续)*7例3-2 设计一个将BCD码转换成七段码的译码器3.1 设计流程(续)形式化:本电路的真值表功能描述:BCD码-七段码译码器(BCD-to-seven-segment)是一个输入为十进制数的BCD码,输出编码可以驱动数码管显示此十进制数字的组合电路。译码器的七个输出端(a,b,c,d,e,
4、f,g)选择需要显示的数码管的相关段。 *8优化:单独实现这七个函数需要27个与门和7个或门。然而,通 过共用表达式中存在的六个乘积项,可将与门的数量减少到14。 3.1 设计流程(续)*93.2 开始分层设计分层设计:一种“分而治之”的方法例3-3 设计一个4位比较器功能描述:比较器是一个比较两个二进制码以判定两者是否相等的电路。这种 特殊的电路输入端包括两个矢量:A(3:0)和B(3:0)。矢量A有四位,A(3) 、A(2)、A(1)和A(0),其中A(3)是最高级,向量B和向量A一样有相同 的特性。电路的输出是一个1位的变量E,如果向量A和向量B相等则输出E等于1 ;如果向量A和向量B不
5、相等则输出E等于0。 形式化:由于本电路的规模较大,不宜采用真值表来形式化。 *10优化:MX电路可以用下面的等式描述。输出E的等式:3.2 开始分层设计(续)*113.2 开始分层设计(续)分层设计可以使复杂电路的表示变得简单 一些更复杂的结构也可被预定义为基本模块,用符号而不是电路图来表示 在分层设计是中,模块可重复使用 *123.3 工艺映射实现技术*13例3-4 与非门的实现3.3 工艺映射(续)1、用与非门(或非门)和反相器替换原电路中的与门和或门,形成新的等效电路 *142、消除反相器对 3. 不改变逻辑函数,将所 有在电路的输入端或者驱动 与非门电路的输出端和驱动 与非门电路的输
6、入端之间的 反相器“推”向驱动与非门 电路的每个输入端。在这个 步骤中,尽可能地消除反相 器对。 3.3 工艺映射(续)*15例3-5 或非门的实现3.3 工艺映射(续)*16门个数:在例3-4中最终电路的门输入个数为12,而在例3-5中门输入个个数为 14,所以与非门的开销较少。 级数:与非门的实现电路中门的最大连接级数为3,而或非门实现电路中的最 大连接级数为5。假设门电路的延迟是一样的,信号从输入到输出,门级数较 少的与非门电路的最大延迟是或非门的0.6倍。 所以,对于本例,与非门电路无论在门输入开销还是信号延迟上都要比或非门 电路要更好。 实现对比3.3 工艺映射(续)Chapter
7、3 - Part 1 17 验证 证明最终电路实现了原始描述所要求的 功能 简单的描述有: 真值表 布尔表达式 HDL代码 如果以上的结果来自于公式而不是原始描述,那 么必须严格保证公式的推演过程是无错的,才能 保证验证是有效的!3.4 验证Chapter 3 - Part 1 18基本的验证方法 人工逻辑分析找出最终电路的真值表或布尔表达式比较最终电路的真值表和设计描述的真值表表明最终电路的布尔表达式与描述的表达式一致 计算机模拟加载所有的输入组合来对电路进行全面的验证3.4 验证Chapter 3 - Part 1 19例3-6 人工验证BCD码到余3码的代码转换器 验证过程 写出电路的布
8、尔表达式; 写出这些电路的真值表; 与描述的真值表进行对比。 写出布尔表达式:3.4 验证Chapter 3 - Part 1 20Input BCD A B C D Output Excess-3 WXYZ 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 由表达式写出电路的真值表; 与设计描述的真值表进行比较。 The ta
9、bles match!Input BCD A B C D Output Excess-3 WXYZ 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 3.4 验证Chapter 3 - Part 1 21例3-7 基于模拟的BCD码到余3码的代码转换器的验证 模拟过程:采用原理图编辑器或文本编辑器输入最终电路 的门级实现采用波形
10、编辑器或文本编辑器输入一系列输入 组合加载至被测电路 必须加载所有的输入组合来验证电路的正确性; 如果模拟过程是正确的,则测试将保证电路是正确 的。3.4 验证Chapter 3 - Part 1 22 BCD码到余3码的电路图3.4 验证Chapter 3 - Part 1 23 加载所有的输入组合: 加载了所有的输入组合吗?3.4 验证Chapter 3 - Part 1 24 电路模拟 模拟的输出组合与原始真值表匹配吗?3.4 验证*25组合电路分析4、分析图所示电路的逻辑功能。 解解 *26组合电路分析A B C A B C J H J H 0 0 00 0 0 0 0 10 0 1
11、0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 10 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 真值表真值表: :功能评述:功能评述:此电路是一个一位全加器,此电路是一个一位全加器,A A,B B是加数是加数 和被加数,和被加数,C C为低位向本位的进位;为低位向本位的进位;J J为本位为本位 向高位的进位,向高位的进位,H H为和。为和。*27组合电路设计1 1、举重比赛有三个裁判,一个是主裁判、举重比赛有三个裁判,一个是主裁判A
12、A,两个是副裁判,两个是副裁判B B和和C C。杠。杠铃完全举上的裁决由每个裁判按一下自己面前的按钮来决定。只有两铃完全举上的裁决由每个裁判按一下自己面前的按钮来决定。只有两个以上裁判(其中必须有主裁判)判明成功时,表示成功的灯才亮。个以上裁判(其中必须有主裁判)判明成功时,表示成功的灯才亮。试用与非门实现。试用与非门实现。A B C A B C F F 0 0 00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 10 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 解解
13、 用用A A表示主裁判,表示主裁判, B B和和C C表示两个副裁判;表示两个副裁判;F F表示裁判结果:表示裁判结果: “ “1”1”表示成功,表示成功,“ “0”0”表示失败。据题意列出真值表如下:表示失败。据题意列出真值表如下: *28组合电路设计2 2、用红、黄、绿三个指示灯表示三台设备的工作情况:绿灯亮表示全部正、用红、黄、绿三个指示灯表示三台设备的工作情况:绿灯亮表示全部正常;红灯常;红灯 亮表示有一台不正常;黄灯亮表示有两台不正常;红、黄灯全亮亮表示有一台不正常;黄灯亮表示有两台不正常;红、黄灯全亮 表示三台都不正常。列出控制电路真值表,并选出合适的集成电路来实现表示三台都不正常。列出控制电路真值表,并选出合适的集成电路来实现 。 解解 设:三台设备分别为设:三台设备分别为 A A、B B、C C: “ “1”1”表示有故障,表示有故障,“ “0”0”表示无故障表示无故障 ;红、黄、绿灯分别为;红、黄、绿灯分别为Y1Y1、Y2Y2、Y3Y3:“ “1”1”表示灯亮;表示灯亮;“ “0”0”表示灯灭表示灯灭 。据题意列出真值表如下:。据题意列出真值表如下: A B C A B C Y Y1 1 Y Y2 2 Y Y3 30 0 00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1