还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数字逻辑教学课件欢迎学习数字逻辑设计课程!本课件面向电子信息、计算机相关专业的学生,旨在帮助大家系统掌握数字逻辑设计的核心知识通过本课程的学习,你将深入理解数字系统的工作原理,培养逻辑分析能力,为后续的专业课程和实践项目打下坚实基础课程概述与知识脉络什么是数字逻辑?1数字逻辑是研究数字信号的表示、处理和传输的学科,是计算机科学与电子工程的基础它使用二进制信号基础知识(和)来表示和处理信息,构成了现代数字系统的理论基础01为什么学习数字逻辑如此重要?数字系统、数制与编码、逻辑门电路、逻辑代数数字逻辑是理解计算机工作原理的基础,对于电子信息、计算机等专业的学生来说,掌握数字逻辑不仅有助于理解硬件系统的设计与实现,还能帮助开发更高效的软件算法和系统架构2在当今信息化社会,从智能手机到云计算中心,从物联网设备到人工智能系统,无一不建立在数字逻辑的基组合逻辑电路础上逻辑函数化简、组合电路分析与设计、典型组合逻辑部件3时序逻辑电路触发器、寄存器、计数器、状态机设计4应用与实践中规模集成电路、可编程逻辑器件、综合设计案例学习与考核方式数字系统简介数字系统与模拟系统的本质区别数字系统的基本组成数字系统和模拟系统是信息处理的两种基本范式,它们在信号表示、抗干扰能力和处理精度等方面存在本质区别数字系统•使用离散值(通常是0和1)表示信息•信号处理精度取决于量化位数•抗干扰能力强,信息传输可靠性高•便于存储和复制,无衰减损失•易于集成和大规模生产模拟系统•使用连续变化的物理量表示信息•理论上具有无限的精度•容易受噪声和干扰影响•存储和复制过程中会有衰减和失真•设计简单,响应速度快一个完整的数字系统通常由三个基本部分组成数字数制与编码基础常用数制介绍常用编码方式数制是表示数值的系统,不同的数制使用不同的基数在数字逻辑中,我们需要熟练掌握以下几种数制编码是将信息转换为特定格式的过程,在数字系统中有多种编码方式数制基数数字符号应用场景码(二十进制码)BCD-二进制20,1计算机内部运算用4位二进制表示一个十进制数字(0-9)例如八进制80-7早期计算机编程•十进制数字5表示为BCD码0101•十进制数字28表示为BCD码00101000十进制100-9日常计数优点便于与十进制数的转换;缺点编码效率低十六进制160-9,A-F内存地址表示格雷码()数制转换方法Gray Code相邻数值的编码仅有一位不同,常用于旋转编码器等例如任意进制转十进制按权展开法,每位数字乘以对应权重并求和十进制转任意进制整数部分用除基取余法,小数部分用乘基取整法•3位二进制格雷码序列000,001,011,010,110,111,101,100二进制与八/十六进制互转利用分组对应关系(3位/4位一组)直接转换特点减少状态转换时的错误,适用于模拟/数字转换码ASCII7位二进制码,用于表示字母、数字和控制字符,是计算机中最基本的字符编码逻辑门电路基础基本逻辑门复合逻辑门逻辑门是数字逻辑电路的基本单元,它们执行基本的逻辑运算,将一个或多个输入信号转换为一个输出信号三种基本逻辑门由基本逻辑门组合而成的复合门电路,具有更复杂的逻辑功能与门()与非门()AND NAND符号•或∧功能AND后接NOT功能当且仅当所有输入均为1时,输出才为1表达式Y=A•B̄数学表达式Y=A•B特点功能完备,可构造任何逻辑函数物理意义串联开关或非门()NOR或门(OR)功能OR后接NOT符号+或∨表达式Y=A+B̄功能当至少有一个输入为1时,输出为1特点功能完备,可构造任何逻辑函数数学表达式Y=A+B物理意义并联开关异或门(XOR)功能输入不同时输出为1非门(NOT)表达式Y=A⊕B=A•B̄+Ā•B符号¯或′或!应用加法器、校验码生成功能输入取反数学表达式Y=Ā同或门(XNOR)物理意义常开/常闭触点转换功能输入相同时输出为1表达式Y=A⊙B=A•B+Ā•B̄逻辑函数与真值表逻辑函数定义逻辑表达式的三种表示法逻辑函数(布尔函数)是描述输入变量与输出变量之间逻辑关系的数学表达式在数字逻辑中,逻辑函数通常表示为输入变量通过逻辑运算(与、或、非等)得到代数表达式输出变量的过程
1.例如,一个简单的逻辑函数可以表示为使用逻辑代数符号直接表达逻辑关系,便于代数运算和化简FA,B,C=A•B+B̄•C例如F=A•B+B̄•C这个函数表示当A和B同时为1,或者B为0且C为1时,输出F为1,否则F为0特点直观、易于理解和代数变换真值表的构建与分析最小项表达式()
2.SOP真值表是表示逻辑函数所有可能输入组合及对应输出值的表格对于n个输入变量,真值表有2^n行将函数表示为最小项之和(Sum ofProducts)A BC F=A•B+B̄•C例如FA,B,C=∑m3,5,6,7=m3+m5+m6+m70000其中m3=Ā•B•C,表示A=0,B=1,C=1时的项特点标准化、唯一表示、便于卡诺图化简00110100最大项表达式()
3.POS0110将函数表示为最大项之积(Product ofSums)1000例如FA,B,C=∏M0,1,2,4=M0•M1•M2•M41011其中M0=A+B+C,表示A=0,B=0,C=0时的项1101特点标准化、唯一表示、有时更便于实现1111逻辑代数基础逻辑代数运算规则重要定理逻辑代数是处理逻辑变量和函数的数学体系,它遵循一系列基本运算规则理解并灵活应用这些规则是逻辑电路设计的基础交换律基本运算律A•B=B•AA+B=B+A0•0=00+0=0物理意义输入顺序不影响逻辑运算结果0•1=00+1=11•0=01+0=1结合律1•1=11+1=1A•B•C=A•B•CA+B+C=A+B+C物理意义运算分组方式不影响最终结果基本恒等式分配律A•0=0A+0=AA•B+C=A•B+A•CA•1=A A+1=1A+B•C=A+B•A+CA•A=A A+A=A物理意义允许在不同运算形式间转换A•Ā=0A+Ā=1代数化简的意义与方法代数化简是将复杂的逻辑表达式转换为等价但更简单形式的过程,其主要目的是•减少所需逻辑门的数量,降低硬件成本•减少逻辑层级,提高电路速度•降低电路复杂度,提高可靠性•减少功耗,提高能效代数化简主要通过应用逻辑代数的各种定理和规则,消除冗余项,合并相似项,从而得到最简表达式逻辑代数定理及规则德摩根定理双重否定律德摩根定理是逻辑代数中最重要的定理之一,它为复杂表达式的变换提供了强大工具双重否定律是逻辑代数中最直观的定理之一Ā̄=A第一定理对任何逻辑变量或表达式进行两次取反操作,结果等于原变量或表达式本身这一定理在复杂表达式的推导和证明中经常使用A•B̄=Ā+B̄逻辑恒等式举例与操作取反等于各变量取反后进行或操作以下是一些重要的逻辑恒等式,在逻辑函数化简中经常使用第二定理吸收律A+A•B=A A•A+B=AA+B̄=Ā•B̄冗余律A•B+A•B̄=A A+B•A+B̄=A或操作取反等于各变量取反后进行与操作一致律A•B+Ā•C+B•C=A•B+Ā•C德摩根定理可以扩展到多个变量互补律A•Ā=0A+Ā=1A•B•C•...•Z̄=Ā+B̄+C̄+...+Z̄共识律A•B+Ā•C+B•C=A•B+Ā•CA+B+C+...+Z̄=Ā•B̄•C̄•...•Z̄异或关系A⊕B=A•B̄+Ā•B A⊙B=A•B+Ā•B̄应用示例掌握这些定理和恒等式,对于手工化简逻辑函数和理解自动化工具的化简过程都非常重要在实际应用中,这些规则不仅用于逻辑设•A•B+C•D̄=A•B̄•C•D̄=Ā+B̄•C̄+D̄计,也广泛应用于计算机科学的其他领域,如算法设计和形式验证代数化简方法代数化简步骤典型化简案例分析代数化简是数字逻辑设计中最基础的技能之一,它遵循一系列系统化的步骤以下是一个逻辑函数代数化简的详细过程分析原始表达式F=A•B•C+A•B•C̄+A•B̄•C+A•B̄•C步̄骤1合并前两项(仅C不同)F=A•B•C+A•B•C̄=A•B•C+C̄=A•B•1=A•B步骤2合并后两项(仅C不同)F=A•B+A•B̄•C+A•B̄•C̄=A•B+A•B̄•C+C̄=A•B+A•B̄•1=A•B+A•B步̄骤3合并最终结果(仅B不同)F=A•B+A•B̄=理解逻辑函数的含义,确定输入变量和输出关系A•B+B̄=A•1=A应用基本定理使用逻辑代数的基本定理(如交换律、结合律、分配律等)重写表达式消除冗余项应用吸收律、冗余律等消除不必要的项合并相似项识别并合并仅有一个变量不同的项(A•B+A•B̄=A)检查结果验证化简后的表达式与原表达式是否等价化简对电路设计的影响最大项与最小项表达式最小项定义与性质标准形表达式构造最小项是指n个变量的一个与项,其中每个变量都以原变量或反变量的形式出现且仅出现一次最小项之和()SOP对于n个变量,共有2^n个最小项,每个最小项在唯一一种输入组合下为1,其余均为0标准与或式(Sum ofProducts)表示为所有使函数为1的最小项之和最小项通常用mi表示,其中i是该项为1时输入变量的二进制组合所对应的十进制数FA,B,C=∑m1,3,5,7=m1+m3+m5+m7例如,对于三变量A、B、C=Ā•B̄•C+Ā•B•C+A•B̄•C+A•B•C•m0=Ā•B̄•C̄(当A=0,B=0,C=0时为1)•m1=Ā•B̄•C(当A=0,B=0,C=1时为1)最大项之积()•m2=Ā•B•C̄(当A=0,B=1,C=0时为1)POS•m7=A•B•C(当A=1,B=1,C=1时为1)标准或与式(Product ofSums)表示为所有使函数为1的最大项之积最大项定义与性质FA,B,C=∏M0,2,4,6=M0•M2•M4•M6最大项是指n个变量的一个或项,其中每个变量都以原变量或反变量的形式出现且仅出现一次=A+B+C•A+B̄+C•Ā+B+C•Ā+B̄+C对于n个变量,共有2^n个最大项,每个最大项在唯一一种输入组合下为0,其余均为1这两种标准形式具有以下特点最大项通常用Mi表示,其中i是该项为0时输入变量的二进制组合所对应的十进制数•每个布尔函数都有唯一的标准形式表示例如,对于三变量A、B、C•从真值表可以直接写出标准形式•M0=A+B+C(当A=0,B=0,C=0时为0)•SOP形式适合使用与门和或门实现•M1=A+B+C̄(当A=0,B=0,C=1时为0)•POS形式适合使用或门和与门实现•M2=A+B̄+C(当A=0,B=1,C=0时为0)不完全给定函数处理•M7=Ā+B̄+C̄(当A=1,B=1,C=1时为0)在实际应用中,某些输入组合可能永远不会出现,或者我们不关心某些输入组合下的输出值这些情况称为不关心项(Dont CareConditions),通常用X或d表示处理不关心项的基本原则是•在逻辑函数化简过程中,可以将不关心项视为0或1,根据需要选择有利于化简的值•对于SOP形式,将不关心项视为1可能有助于合并更多的项•对于POS形式,将不关心项视为0可能有助于合并更多的项卡诺图简介卡诺图的结构与基本概念变量数与卡诺图大小关系卡诺图(Karnaugh Map,简称K-map)是一种直观、图形化的逻辑函数化简方法,由Edward W.Karnaugh于1953年提出它基于格雷码排列,变量数卡诺图大小单元格数适用性使得相邻单元格仅有一个变量发生变化卡诺图的每个单元格对应真值表中的一行,即一种输入组合单元格中填入的值(0或1)表示该输入组合下函数的输出值22×24极简单函数32×48简单函数44×416常用规模54×832复杂函数68×864极复杂函数不实用,使用其他方法6--卡诺图使用方法构建卡诺图根据变量数确定卡诺图大小,并标注各行各列对应的变量值填充输出值根据真值表或逻辑函数,在相应单元格填入
1、0或X(不关心项)识别和圈出的组1寻找值为1的相邻单元格并圈出,组大小必须是2的幂(1,2,4,8,
16...)卡诺图的关键特性相邻性物理上相邻的单元格对应的最小项仅有一个变量不同最小覆盖环绕相邻图的左右边界和上下边界被视为相邻(形成环状)可视化分组允许以视觉方式识别和合并逻辑项使用最少的组覆盖所有的1,每组对应一个乘积项简单直观比代数化简更直观、更不容易出错写出化简表达式根据圈出的组写出化简后的逻辑表达式卡诺图是逻辑函数化简的直观工具,尤其适合4-5个变量的函数对于变量更多的复杂函数,通常使用Quine-McCluskey算法或其他计算机辅助方法卡诺图化简技巧合并相邻项原则处理无关项的方法卡诺图化简的核心是找出并合并相邻的单元格,形成尽可能大的组合并原则如下无关项()在卡诺图中通常用表示,这些项可以视为或,根据需要选择有利于化简的值1Dont CareConditions X01处理无关项的关键技巧组大小必须是的幂21,2,4,8,16,
32...灵活利用将无关项视为可以帮助形成更大的组组必须是矩形形状包括正方形、长方形和环绕形成的矩形1不必全用并非所有无关项都必须被当作处理组越大越好大组意味着更多变量被消除1优先选择优先使用那些能帮助形成更大组的无关项所有的必须被至少一个组覆盖•1多种尝试尝试不同的无关项组合,找出最简结果尽量使用最少的组覆盖所有的•1重叠是允许的不同组可以有共同的单元格复杂函数的卡诺图化简示例每合并两个相邻单元格,就可以消除一个变量例如以下是一个四变量函数的卡诺图化简过程个单元格的组消除个变量•21FA,B,C,D=∑m0,1,2,4,5,6,8,9,12,13,14+d3,7,11,15个单元格的组消除个变量•42化简步骤个单元格的组消除个变量•83•16个单元格的组消除4个变量
1.将最小项和无关项填入卡诺图利用无关项,尝试形成最大的组
2.•组1m0,1,2,3→Ā•B̄(使用了无关项m3)•组2m0,4,8,12→B̄•D̄组(使用了无关项)•3m4,5,6,7→Ā•B m7•组4m8,9,12,13→A•D̄组(使用了无关项)•5m6,7,14,15→B•C m7,m
153.合并得到最终表达式F=Ā•B̄+B̄•D̄+Ā•B+A•D̄+B•C这个例子展示了如何利用无关项形成更大的组,从而得到更简化的逻辑表达式通过卡诺图,我们可以直观地看到各个组的形成,避免了复杂的代数运算在实际工作中,对于超过个变量的函数,通常使用计算机辅助工具进行化简,而不是手动卡诺图但理解卡诺图的原5理有助于理解这些工具的工作方式组合逻辑电路概述组合逻辑电路定义典型组合电路功能组合逻辑电路是一类特殊的数字电路,其输出仅取决于当前输入的组合,而与之前的状态无关换句话说,组合逻辑电路没有记忆功能,不存储任何信息算术运算组合逻辑电路的数学模型是•加法器(半加器、全加器、并行加法器)•减法器Y=FX•乘法器其中Y是输出向量,X是输入向量,F是映射函数•比较器组合逻辑电路的关键特征•输出仅依赖于当前输入数据处理•不包含存储元件(如触发器或寄存器)•编码器(优先编码器)•无反馈回路•译码器(地址译码器、七段显示译码器)•对于相同的输入组合,总是产生相同的输出•多路复用器(数据选择器)•多路分配器(数据分配器)逻辑操作•奇偶校验生成/检查电路•代码转换器•逻辑单元(ALU的一部分)设计流程与注意事项需求分析明确电路的功能需求、输入输出信号、性能指标真值表构建列出所有可能的输入组合及对应的输出结果逻辑函数提取从真值表导出逻辑函数表达式函数化简使用代数方法或卡诺图简化逻辑函数电路实现逻辑门级组合电路设计单一逻辑门设计两级电路多输出组合电路设计两级电路是指信号从输入到输出只经过两级逻辑门,这种结构简单、延迟小,是常用的组合逻辑电路实现方式两级电路的常见形式有多输出电路需要同时实现多个逻辑函数,每个输出对应一个函数设计多输出电路的关键是识别和共享公共子表达式,以减少电路复杂度设计方法与或()结构AND-OR
1.分别写出每个输出的逻辑函数第一级是与门,第二级是或门,实现SOP形式
2.识别各函数中的公共项适合实现最小项之和表达式
3.提取公共子表达式作为中间结果示例F=A•B+C•D
4.使用中间结果构建最终输出例如,设计一个电路实现以下函数或与(OR-AND)结构F1=A•B+A•C+B•C第一级是或门,第二级是与门,实现POS形式F2=A•B+B•C适合实现最大项之积表达式可以看出A•B和B•C是公共项,可以先计算这两项,然后再组合得到F1和F2,从而减少所需的门电路数量设计实例简单加法器示例F=A+B•C+D与非与非()结构-NAND-NAND利用德摩根定理,两级NAND门可实现任何SOP表达式工业中最常用,因为NAND门容易制造且性能好示例F=A•B̄̄•C•D̄̄=A•B+C•D或非或非()结构-NOR-NOR利用德摩根定理,两级NOR门可实现任何POS表达式在某些技术中使用(如CMOS)示例F=A+B̄̄+C+D̄̄=A+B•C+D全加器是组合逻辑电路的典型例子,它有三个输入(A、B和进位输入Cin)和两个输出(和S和进位输出Cout)全加器的逻辑函数S=A⊕B⊕Cin=A•B̄•C̄in+Ā•B•C̄in+Ā•B̄•Cin+A•B•Cin典型组合逻辑部件
(一)数据选择器(多路复用器)二进制译码器数据选择器(MUX)是一种能够从多个输入数据中选择一个并将其传送到输出端的组合逻辑电路它类似于一个由地址控制的多位开关译码器是将n位二进制编码转换为2^n个互斥输出的组合逻辑电路每次只有一个输出为激活状态,对应于输入的二进制编码值典型的译码器类型•2-4线译码器2个输入,4个输出•3-8线译码器3个输入,8个输出•4-16线译码器4个输入,16个输出工作原理对于每个输出Yi,仅当输入编码等于i时,Yi才被激活应用•内存地址译码•指令译码•显示驱动•键盘扫描代码转换器与显示译码器代码转换器是将一种编码形式转换为另一种编码形式的组合逻辑电路常见的代码转换包括•二进制转BCD码•BCD码转二进制•二进制转格雷码(及反向转换)•BCD码转七段显示编码七段显示译码器是一种特殊的代码转换器,它将BCD码或二进制码转换为控制七段LED显示器的信号每个七段包含7个LED段(a-g),通过不同组合可以显示数字0-9和部分字母常见的显示译码器•BCD到七段显示译码器(74LS
47、74LS48)•十六进制到七段显示译码器(可显示0-9和A-F)这些部件是构建复杂数字系统的基础模块,在计算机、通信设备和控制系统中广泛应用工作原理•有2^n个数据输入端(D0,D1,...,D2^n-1)•有n个选择输入端(S0,S1,...,Sn-1)•有1个输出端(Y)•选择输入的二进制值决定哪个数据输入被连接到输出逻辑函数(以4选1为例)Y=D0•S̄1•S̄0+D1•S̄1•S0+D2•S1•S̄0+D3•S1•S0应用典型组合逻辑部件
(二)编码器数值比较器编码器是译码器的逆操作器件,它将2^n个输入信号编码为n位二进制代码在2^n个输入中,通常只有一个是有效的,编码器输出该有效输入的位置编码数值比较器是比较两个二进制数大小关系的组合逻辑电路典型的比较器有三个输出,分别指示第一个数大于、等于或小于第二个数比较器类型基本编码器类型•1位比较器比较两个单比特数•4-2编码器4个输入,2位输出•n位比较器比较两个n位二进制数•8-3编码器8个输入,3位输出•可级联比较器多个较小的比较器可以级联形成更大位数的比较器•16-4编码器16个输入,4位输出工作原理(以4位比较器为例)优先编码器是一种特殊的编码器,它能处理多个同时有效的输入情况,根据预先定义的优先级输出最高优先级输入的编码•比较对应位,生成每位的大于、等于、小于信号应用•从高位到低位依次处理,确定最终比较结果•键盘编码应用•中断控制•算术运算•数据压缩•排序电路•范围检查•地址比较奇偶校验器奇校验生成器生成校验位,使数据位加校验位中1的总数为奇数实现对所有数据位进行异或运算偶校验生成器生成校验位,使数据位加校验位中1的总数为偶数实现对所有数据位进行异或运算后取反校验检查器检查接收数据的奇偶性是否符合预期实现对所有数据位和校验位进行异或运算,结果为0表示无错误奇偶校验是一种简单的错误检测机制,能够检测出单比特错误,但无法纠正错误,也无法检测偶数个比特的错误在数据传输和存储系统中广泛应用组合逻辑电路中的险象险象定义与危害险象判断方法险象()是指组合逻辑电路在输入信号变化过程中,由于各路径传播延迟不同,可能在输出端产生的暂时性、非预期的脉冲判断电路中是否存在险象的主要方法Hazard这些脉冲虽然持续时间很短,但在某些应用中可能导致严重问题卡诺图分析在卡诺图上,如果表示函数值为的单元格没有被一个公共项覆盖,就可能存在静态险象;类似地,如果表示函数值1-1为的单元格没有被一个公共项覆盖,就可能存在静态险象0-0静态险象()Static Hazard路径分析分析信号从输入到输出的不同路径,计算每条路径的延迟,如果延迟差异大,可能产生险象当输入只有一个变量变化,而输出预期保持不变(或)时出现的暂时性脉冲仿真测试使用电路仿真工具,在输入信号变化时观察输出波形,检测是否有非预期的脉冲01静态险象输出应保持为,但出现的跳变-111→0→1静态险象输出应保持为,但出现的跳变-000→1→0动态险象()Dynamic Hazard当输入只有一个变量变化,输出预期从变为或从变为时,出现的多次跳变0110例如输出应该,但实际出现的跳变0→10→1→0→1功能险象()Function Hazard当多个输入同时或几乎同时变化时,由于不同输入变化的时间差异导致的非预期输出险象的危害在计数器、寄存器等时序电路中可能导致错误状态•在同步电路中可能引起时序违例•在控制系统中可能触发错误操作•在高速系统中影响可靠性•险象消除技术消除或减轻险象的主要方法冗余项添加在逻辑表达式中添加冗余项,确保相邻的最小项被同一个与项覆盖,从而消除静态险象滤波技术在输出端添加低通滤波器(如电路),滤除短暂的脉冲RC同步设计在时序电路中使用同步设计技术,只在时钟边沿采样信号,忽略时钟周期内的短暂干扰平衡路径延迟通过添加缓冲器或重新设计,使不同路径的延迟尽可能接近使用滞回元件如施密特触发器,提高对短暂脉冲的抵抗能力在实际设计中,完全消除险象可能不现实或不经济,通常的做法是识别关键路径上的险象,并针对性地采取措施对于非关键路径,如果险象不会导致系统功能问题,可以接受其存在组合逻辑电路测试方法测试目的与流程常用测试技术组合逻辑电路测试的主要目的是验证电路功能的正确性,并检测可能存在的制造缺陷完整的测试流程包括穷举测试测试计划制定对所有可能的输入组合进行测试,确保100%的功能覆盖率确定测试目标、测试覆盖率要求、测试资源和时间安排优点完整覆盖所有功能;缺点随输入数量增加呈指数级增长,对大型电路不实用测试向量生成故障导向测试生成能够检测所有可能故障的输入组合序列针对特定类型的故障(如固定在0/
1、桥接等)设计测试向量常用的故障模型单一固定故障模型、桥接故障模型、延迟故障模型等测试执行将测试向量应用于被测电路,记录输出响应伪随机测试使用伪随机数生成器产生测试向量,适用于大型电路的初步测试结果分析比较实际输出与期望输出,判断电路是否存在故障通常与硬件内置自测试(BIST)技术结合使用故障诊断边界扫描测试对于发现的故障,确定故障位置和原因基于IEEE
1149.1标准(JTAG),通过专门的测试访问端口对电路进行测试特别适合测试PCB上的互连和芯片之间的连接测试报告生成记录测试结果,包括发现的问题和建议的解决方案时序逻辑电路基础时序逻辑电路定义锁存器与触发器介绍时序逻辑电路是一类输出不仅取决于当前输入,还依赖于电路先前状态的数字电路与组合逻辑电路不同,时序电路具有记忆功能,能够存锁存器和触发器是时序逻辑电路的基本存储元件,它们能够记住一位二进制信息储信息锁存器()时序逻辑电路的数学模型是Latch电平敏感的双稳态器件,当使能信号有效时透明传输数据,使能信号无效时保持状态Yt=FXt,Qt基本类型锁存器、锁存器Qt+1=GXt,Qt SRD其中是输出向量,是输入向量,是状态向量,和是映射函数特点在使能信号有效期间随时可能改变状态,容易受到输入毛刺影响Y XQ FG时序逻辑电路的关键特征触发器()包含存储元件(如触发器或寄存器)Flip-Flop••可能包含反馈回路边沿触发的双稳态器件,仅在时钟信号的特定边沿(上升沿或下降沿)采样输入并可能改变状态输出依赖于输入序列和时序•基本类型触发器、触发器、触发器、触发器RS JKD T能够实现状态机、计数、存储等功能•特点状态变化受严格控制,抗干扰能力强,适合同步系统时序电路与组合电路区别特性组合逻辑电路时序逻辑电路输出依赖仅依赖当前输入依赖当前输入和先前状态存储能力无记忆功能有记忆功能反馈无反馈回路通常包含反馈回路时钟通常不需要时钟同步时序电路需要时钟分析方法真值表、逻辑函数状态图、状态表、时序图典型应用加法器、译码器、多路复用器寄存器、计数器、状态机电路复杂度相对简单相对复杂时序逻辑电路是构建具有记忆功能、时序控制功能的数字系统的基础,如计算机的、控制单元等都是基于时序逻辑电路设计的CPU触发器详解触发器触发器RS DRS触发器是最基本的触发器类型,有两个输入R(复位)和S(置位)D触发器是最常用的触发器类型,有一个数据输入D和一个时钟输入CLK功能特性功能特性•当S=1,R=0时,输出Q=1(置位)•在时钟上升沿(或下降沿),输出Q等于输入D•当S=0,R=1时,输出Q=0(复位)•其他时间保持原状态•当S=0,R=0时,保持原状态(记忆)•当S=1,R=1时,状态不确定(禁用输入)优缺点优点使用简单,只需一个输入,无竞争问题优缺点缺点功能相对单一,不能直接实现翻转功能优点结构简单,易于实现缺点存在禁用状态,使用不当可能导致不确定状态触发器的状态转换与时序图触发器的状态转换可以通过状态图或时序图来表示时序图显示了输入信号、时钟信号和输出信号随时间的变化关系触发器JK对于D触发器,时序图显示输出Q仅在时钟上升沿(或下降沿)跟随输入D变化,其他时间保持不变JK触发器是RS触发器的改进版,解决了RS触发器的禁用输入问题触发器的重要时序参数功能特性建立时间(Setup Time)时钟边沿到来前,输入信号必须保持稳定的最小时间保持时间(Hold Time)时钟边沿之后,输入信号必须保持稳定的最小时间•当J=1,K=0时,输出Q=1(置位)传播延迟(Propagation Delay)从时钟边沿到输出变化的时间•当J=0,K=1时,输出Q=0(复位)最大时钟频率(Maximum ClockFrequency)触发器能够正常工作的最高时钟频率•当J=0,K=0时,保持原状态(记忆)触发器应用实例•当J=1,K=1时,输出Q取反(翻转)触发器在数字系统中有广泛的应用优缺点D触发器用于构建寄存器、移位寄存器、数据存储器优点功能全面,无禁用状态JK触发器用于构建计数器、分频器缺点在J=K=1时可能出现竞争-冒险现象T触发器用于构建二进制计数器、分频电路例如,8个D触发器可以构成一个8位寄存器,用于暂存一个字节的数据;4个JK触发器可以构成一个4位二进制计数器,用于计数或产生时序控制信号时序逻辑电路分析基本寄存器结构移位寄存器寄存器是由多个触发器组成的存储单元,用于存储多位二进制数据移位寄存器是一种特殊的寄存器,它能够将存储的数据向左或向右移动移位寄存器的类型基本结构单向移位寄存器只能向一个方向(左或右)移位n位寄存器由n个D触发器并联组成,所有触发器共享时钟信号双向移位寄存器可以向左或向右移位,由控制信号决定移位方向每个触发器存储一位数据,触发器的数量决定了寄存器的位宽串入串出(SISO)数据串行输入,串行输出串入并出(SIPO)数据串行输入,并行输出并入串出(PISO)数据并行输入,串行输出功能特性并入并出(PIPO)数据并行输入,并行输出在时钟上升沿(或下降沿)采样并存储输入数据循环移位寄存器输出位反馈到输入位,形成循环数据保持到下一个时钟边沿到来移位寄存器的应用可以添加异步复位或置位功能•串并转换和并串转换•数据缓存控制信号•延时线•伪随机数生成时钟(CLK)控制数据采样时刻•数字滤波使能(EN)控制是否接受新数据计数器分类与设计复位(RST)将寄存器内容清零计数器是一种能够按照预定序列计数的时序电路加载(LOAD)控制数据加载按计数方向分类加法计数器从小到大计数减法计数器从大到小计数可逆计数器可以加法或减法计数按计数序列分类二进制计数器按二进制顺序计数十进制计数器计数范围为0-9格雷码计数器按格雷码顺序计数环形计数器只有一位为1,循环移位约翰逊计数器序列中1和0的数量均衡变化按时钟控制方式分类同步计数器所有触发器共享一个时钟信号异步计数器前一级触发器的输出作为后一级的时钟节拍发生器与时序分析节拍发生器功能与实现时序逻辑电路的时序分析方法节拍发生器(Clock Generator)是产生规律时钟信号的电路,为数字系统提供基本的时序控制时序分析是评估时序逻辑电路在特定时钟频率下能否正常工作的过程主要关注以下时序参数节拍发生器的基本功能建立时间与保持时间•产生稳定频率的时钟信号•产生多相位时钟信号建立时间(Setup Time,Tsu)时钟边沿前,数据必须保持稳定的最小时间•产生不同频率的时钟信号保持时间(Hold Time,Th)时钟边沿后,数据必须保持稳定的最小时间•控制时钟信号的占空比违反建立时间或保持时间要求可能导致亚稳态和数据错误常见的节拍发生器实现方式晶体振荡器利用石英晶体的压电效应产生高精度时钟传播延迟RC振荡器利用电阻和电容的充放电产生时钟,精度较低但成本低时钟到输出延迟(Clock-to-Q Delay,Tcq)从时钟边沿到触发器输出变化的时间环形振荡器由奇数个反相器组成环路产生振荡锁相环(PLL)能够产生与参考时钟相位锁定且频率可调的时钟信号组合逻辑延迟(Combinational LogicDelay,Tcomb)信号通过组合逻辑电路的延迟分频电路通过计数器对基本时钟进行分频,获得低频时钟影响系统最大工作频率时钟偏斜与抖动时钟偏斜(Clock Skew)时钟信号到达不同触发器的时间差异时钟抖动(Clock Jitter)时钟周期的随机变化影响有效时钟周期,可能导致时序违例时序分析的基本不等式Tcq+Tcomb+TsuTclk+Tskew其中Tclk是时钟周期,Tskew是时钟偏斜(可正可负)设计实例讲解以一个简单的数据传输电路为例数据从寄存器A通过组合逻辑传输到寄存器B时序分析步骤
1.确定寄存器A的时钟到输出延迟Tcq=2ns
2.测量组合逻辑延迟Tcomb=5ns
3.确定寄存器B的建立时间Tsu=
1.5ns
4.测量时钟偏斜Tskew=
0.5ns(B比A晚)
5.计算最小时钟周期TclkTcq+Tcomb+Tsu-Tskew=2+5+
1.5-
0.5=8ns
6.最大时钟频率fmax=1/Tclk=1/8ns=125MHz这个简单的例子说明了如何通过时序分析确定电路的最大工作频率在实际设计中,时序分析通常使用专门的工具进行,特别是对于复杂的电路同步时序逻辑电路设计
(一)状态图与状态表的建立状态表化简技巧同步时序逻辑电路设计的第一步是建立清晰的状态图和状态表,它们描述了电路在不同输入下的状态转换和输出行为状态表化简的目的是减少状态数量,从而简化电路实现主要化简技巧包括状态图()等价状态合并State Diagram状态图是表示状态机行为的图形化方法,包含以下元素如果两个状态在所有输入条件下产生相同的输出并转移到相同的下一状态,则这两个状态是等价的,可以合并为一个状态•圆圈表示状态•带箭头的线表示状态转换不可达状态消除•转换线上标注输入条件和输出如果某个状态从初始状态开始永远不会到达,则这个状态是不可达的,可以从状态表中删除•格式通常为输入/输出兼容状态合并状态表()State Table如果两个状态在某些输入条件下行为相同,在其他条件下可以互相转换而不影响电路功能,则这两个状态是兼容的,可以合并状态表是状态图的表格形式,包含以下信息•当前状态输出重新分配•输入条件•下一状态有时可以通过重新分配状态的输出,使得更多状态变得等价,从而实现进一步化简•输出状态表化简的步骤建立状态图和状态表的步骤
1.建立原始状态表
1.分析电路功能需求,确定输入、输出和需要记忆的信息
2.识别并标记等价状态
2.定义系统状态,每个状态代表电路内部的一种特定情况
3.合并等价状态,生成化简状态表
3.确定各状态之间的转换条件和对应的输出
4.检查是否存在不可达状态,并消除
4.绘制状态图,并检查所有状态是否覆盖了所有可能的情况
5.尝试其他优化技巧,如兼容状态合并
5.根据状态图填写状态表
6.验证化简后的状态表功能是否与原状态表一致状态分配方法状态分配是指为状态表中的每个状态分配唯一的二进制编码好的状态分配可以简化下一状态逻辑和输出逻辑,减少电路资源消耗常用的状态分配方法顺序分配按顺序分配二进制码,简单但不考虑优化相邻状态分配经常相互转换的状态分配相邻的编码,减少翻转位数单热码分配每个状态只有一位为1,其余为0,便于检测错误状态格雷码分配相邻状态的编码只有一位不同,减少状态转换时的毛刺启发式分配基于特定优化目标(如最小化组合逻辑)的分配方法状态分配的选择取决于设计目标是优化速度、面积还是功耗,以及对抗干扰能力和错误检测能力的需求同步时序逻辑电路设计
(二)典型设计示例解析复杂同步时序设计方法以下是几个经典的时序逻辑电路设计示例,它们代表了不同类型的状态机应用对于复杂的同步时序电路,简单的状态机设计方法可能不够高效以下是一些处理复杂设计的方法序列检测器分层状态机功能检测输入比特流中的特定序列,如1011将复杂功能分解为多个层次的状态机,上层状态机控制下层状态机的激活和转换设计要点并行状态机•每个状态表示已经匹配的部分序列•输入不匹配时回退到适当状态多个独立状态机并行运行,各自处理系统的不同方面,通过共享信号协调•检测到完整序列时输出信号数据通路与控制器分离自动售货机控制器将数据处理单元(数据通路)与控制单元(状态机)分离设计,简化结构功能跟踪投币金额,控制商品发放算法状态机()ASM设计要点结合流程图和状态图的特点,更适合描述复杂的算法实现•状态表示已投入的金额•输入为不同面值的硬币硬件描述语言建模•达到或超过商品价格时,输出发放信号•考虑找零和复位操作使用VHDL或Verilog等硬件描述语言,利用其高级抽象能力描述复杂行为交通灯控制器功能控制十字路口的交通信号灯设计要点•状态表示不同方向的信号灯组合•考虑定时转换和安全间隔•可能包含感应控制或行人请求输入异步时序逻辑设计简介中规模集成芯片应用计数器芯片设计时序逻辑寄存器芯片设计计数器是最常用的中规模集成(MSI)芯片之一,常见的计数器芯片包括寄存器芯片是另一类重要的MSI元件,常用于数据存储和缓冲74LS174/1756位/4位D触发器,用于数据存储系列74LS9074LS2738位D触发器,带异步复位功能十进制计数器,可配置为÷2和÷574LS374/3778位三态输出D触发器,用于总线驱动特点非同步设计,有复位功能74LS194/1954位/双向移位寄存器,用于数据移位操作74LS164/1658位串入并出/并入串出移位寄存器应用频率分频、数字时钟寄存器芯片的应用考虑•总线缓冲和隔离系列74LS93•数据暂存和同步功能4位二进制计数器,可配置为÷2和÷8•串并转换特点非同步设计,有复位功能•状态存储应用二进制计数、频率分频系列74LS161/163功能4位二进制同步计数器特点可预置数据,有进位输出161可异步复位,163可同步复位应用高速计数、状态机实现系列74LS190/191功能可逆BCD/二进制计数器特点可上/下计数,有借位/进位指示应用多位数显示驱动、计时控制设计使用计数器芯片的时序电路时,需要考虑•时钟频率与计数器最大工作频率的匹配•复位电路设计,确保系统启动在已知状态•级联技术,通过进/借位信号连接多个计数器•控制信号(如使能、加载、方向)的正确连接序列信号发生器与密码锁电路实例可编程逻辑器件简介、、的结构与应用、、、简介ROM PROMPLA PALGAL CPLDFPGA早期的可编程逻辑器件主要基于只读存储器技术,它们提供了实现复杂组合逻辑的灵活方式现代可编程逻辑器件更加强大和灵活,能够实现更复杂的数字系统(只读存储器)(可编程阵列逻辑)ROM PAL结构完整的地址译码器和可编程的输出阵列结构可编程与阵列和固定或阵列特点输入对应地址线,输出对应存储内容特点比PLA结构简单,速度更快编程方式掩模编程(制造时固定)编程方式一次性编程或可擦除应用查找表、微程序控制、字符发生器应用中小规模组合逻辑和简单时序逻辑(可编程只读存储器)(通用阵列逻辑)PROM GAL结构与ROM类似,但可在制造后编程结构增强型PAL,加入可编程宏单元特点一次性编程(OTP)或可擦除(EPROM/EEPROM)特点电可擦除,可重复编程编程方式电熔断或电荷存储编程方式EEPROM技术应用固件存储、小型控制器、定制逻辑应用取代PAL,用于原型设计和小批量生产(可编程逻辑阵列)(复杂可编程逻辑器件)PLA CPLD结构可编程与阵列和可编程或阵列结构多个PAL/GAL结构的逻辑块,加上可编程互连特点可实现任意SOP形式的逻辑函数,且共享与项特点非易失性配置,功耗较低,上电即可工作编程方式掩模或电熔断编程方式EEPROM或Flash应用复杂组合逻辑、状态机控制器应用中等规模数字系统,控制逻辑,接口电路这些器件作为硬件编程的早期形式,允许设计者在不改变硬件结构的情况下定制逻辑功能,为现代可编程逻辑奠定了基础(现场可编程门阵列)FPGA结构大量可配置逻辑块、嵌入存储和专用功能单元、可编程互连特点高度灵活,容量大,支持复杂设计编程方式SRAM基(掉电易失)或Flash基(非易失)应用大型数字系统、原型验证、低量产品、算法加速可编程器件在数字逻辑设计中的作用可编程逻辑器件为数字设计带来了革命性变化设计灵活性无需物理更改硬件即可修改设计缩短开发周期减少了从设计到实现的时间数字逻辑设计综合实例设计一个简单数字系统设计流程回顾为了综合应用数字逻辑设计知识,我们将设计一个简单的数字温度控制系统这个系统将读取温度传感器的数据,显示当前温度,并根据设定阈值控制加热/制冷完整的数字系统设计流程包括以下步骤装置需求分析系统组成部分明确系统功能、性能指标、操作环境、用户界面等要求1输入模块系统架构设计•ADC接口采集模拟温度传感器信号并转换为数字值划分功能模块,确定模块间接口,选择实现技术(硬件/软件划分)•按键接口读取用户按键设置目标温度和控制模式•状态输入监测加热/制冷设备状态模块详细设计设计每个模块的内部结构,包括组合逻辑和时序逻辑电路2编码与仿真处理模块HDL使用硬件描述语言编写代码,通过功能仿真验证设计正确性•温度计算处理ADC数据,转换为实际温度值•比较器比较当前温度与设定阈值综合与实现•控制状态机根据比较结果和工作模式控制输出•定时器提供系统时基和延时功能将HDL代码转换为目标器件的网表,完成布局布线硬件验证3显示模块在实际硬件上测试系统功能,检查与设计规格的符合度•BCD转换将温度数值转换为BCD码优化与改进•七段显示驱动控制显示当前温度和设定温度•状态指示LED指示当前工作状态根据测试结果优化设计,提高性能、降低功耗、增强可靠性4输出控制模块•继电器驱动控制加热/制冷设备的开关•PWM发生器调节加热/制冷强度•报警控制温度超出安全范围时触发报警数字逻辑设计工具与资源常用设计软件介绍开源课程与资料推荐现代数字逻辑设计依赖各种专业软件工具,这些工具覆盖了从设计录入到仿真验证的全过程学习数字逻辑设计有丰富的在线资源,包括编辑与仿真工具在线课程HDLModelSim/QuestaSim强大的HDL仿真器,支持VHDL和Verilog•MIT OpenCourseWare数字系统设计Vivado SimulatorXilinx FPGA设计套件的内置仿真器•Coursera数字逻辑设计与计算机组成ISim Xilinx旧版ISE设计套件的仿真器•edX可编程逻辑入门Active-HDL/Riviera-PRO Aldec公司的HDL设计和验证平台•Stanford Online数字系统设计VCS Synopsys的高性能Verilog仿真器•Udemy FPGA设计实战开发工具开源项目与社区FPGAVivado DesignSuite XilinxFPGA开发平台,支持最新器件•OpenCores开源硬件IP核社区ISE DesignSuite Xilinx旧版FPGA开发工具,仍用于老器件•GitHub上的FPGA开源项目Quartus PrimeIntelAltera FPGA开发平台•Reddit r/FPGA社区Libero SoCMicrochipMicrosemi FPGA设计工具•Stack Exchange电子工程问答社区Diamond/Lattice RadiantLattice FPGA开发环境•ZipCPU博客FPGA设计经验分享原理图与设计工具书籍推荐PCBAltium Designer集成PCB设计环境,支持FPGA设计•《数字设计原理》(M.Morris Mano)OrCAD/Allegro Cadence的电路设计工具链•《数字逻辑与计算机设计基础》(周明德)EAGLE简单易用的PCB设计工具,适合初学者•《FPGA设计指南器件、工具和流程》KiCad开源EDA工具,功能强大且免费•《Verilog HDL权威指南》•《VHDL程序设计教程》系统级设计工具MATLAB/Simulink用于算法开发和系统级仿真System GeneratorXilinx基于Simulink的高级设计工具HLS High-Level Synthesis从C/C++代码生成HDL课程复习与知识点总结重点知识回顾常见考点解析本课程涵盖了数字逻辑设计的核心内容,以下是关键知识点的梳理数字逻辑课程考核通常涉及以下重点内容基础计算基础理论•数制转换二/八/十/十六进制间的转换•码制转换二进制与BCD码、格雷码的互换•数制与编码二进制、十六进制、BCD、格雷码•逻辑函数真值表填写与分析•逻辑代数基本运算、定理、化简方法•基本运算与定理应用•卡诺图逻辑函数可视化化简技术•时序概念时钟、延迟、建立/保持时间函数化简•代数化简使用逻辑代数定理进行化简•卡诺图化简绘制卡诺图并进行最小项合并基本电路•处理无关项利用无关项优化逻辑表达式•逻辑门AND、OR、NOT、NAND、NOR、XOR•化简结果的最小性验证•组合逻辑加法器、译码器、多路复用器•时序元件锁存器、触发器、寄存器电路分析•计数器、移位寄存器、状态机•组合电路分析根据电路图写出逻辑函数•时序电路状态分析确定状态转换和输出序列•波形图分析根据输入波形推导输出波形设计方法•时序参数计算确定最大时钟频率•组合电路分析与设计流程•状态图与状态表构建电路设计•同步与异步时序电路设计•组合电路设计根据功能要求设计逻辑电路•系统级设计与分模块实现•状态机设计绘制状态图、状态表并实现电路•计数器设计设计特定序列的计数器•综合应用设计结合多种电路完成复杂功能实现技术•门级实现基本逻辑门与MSI芯片•可编程器件PLA、PAL、CPLD、FPGA•HDL设计设计描述与综合•测试与验证技术结语与展望数字逻辑设计的重要性未来发展趋势数字逻辑设计作为电子信息技术的基础,其重要性不言而喻数字逻辑设计领域正在经历快速发展,未来趋势包括基础支撑数字逻辑是现代计算机系统的理论基础,从微处理器到超级计算机,无一不建立在数字逻辑之上设计抽象层次提升能力培养学习数字逻辑设计培养了系统思维、逻辑分析和问题解决能力,这些能力对工程师的职业发展至关重要技术驱动数字技术的进步驱动了信息革命,改变了人类社会的生产和生活方式从门级设计向高层次抽象发展,使用高级语言和系统级建模工具进行设计,提高设计效率跨界应用数字逻辑设计已渗透到几乎所有技术领域,包括通信、医疗、交通、能源等掌握数字逻辑设计不仅是一项技术能力,更是理解和参与数字世界创新的基本素养在信息化、数字化的时代,这一知识将持续发挥重要作用异构计算架构结合、、、专用加速器等不同类型的计算单元,形成高效能异构计算平台CPU GPUFPGA智能化设计辅助人工智能和机器学习技术应用于电路设计、优化和验证,实现设计自动化和智能化新型计算范式量子计算、神经形态计算等新型计算模式的兴起,将拓展传统数字逻辑的边界低功耗与边缘计算面向物联网和边缘设备的超低功耗数字设计技术将成为研究热点鼓励持续学习与创新数字逻辑设计是一个不断发展的领域,需要持续学习和创新保持好奇心对新技术、新工具保持开放态度和学习热情跨领域学习结合计算机科学、电子工程、人工智能等多学科知识参与开源社区加入开源硬件社区,贡献和学习先进设计关注产业动态了解半导体产业发展和应用需求变化实践与创新通过实际项目锻炼能力,尝试创新性解决方案数字逻辑设计的学习是一段充满挑战但也极具回报的旅程希望同学们能够将本课程所学知识运用到实践中,在数字世界的创新中发挥自己的才智和创造力!。
个人认证
优秀文档
获得点赞 0