数字系统设计:数字系统设计方法_第1页
数字系统设计:数字系统设计方法_第2页
数字系统设计:数字系统设计方法_第3页
数字系统设计:数字系统设计方法_第4页
数字系统设计:数字系统设计方法_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 数字系统设计方法内容纲要数字系统的层次化结构数字系统设计过程的四个级别:性能级、功能级、结构级、物理级。自顶向下(top-down)设计方法自顶向下的设计方法是一种由抽象的定义到具体的实现、由高层次到低层次的转换逐步求精的设计方法。模块设计(系统设计)模块化技术就是将系统总的功能分解成若干个子功能,通过仔细定义和描述的子系统来实现相应子功能。设计举例:串行数据接收器详述串行数据接收器的设计过程设计举例:迭代技术从逻辑设计转换成电路实现的物理设计过程当中,迭代是一类很有用的技术。可编程专用芯片设计的流程数字系统层次化结构数字系统设计过程可以分为四个层次:性能级功能级结构级物理级系统设计:将性能

2、级的说明映射为功能级的设计过程逻辑设计:将功能级的描述转换为结构(逻辑)的过程物理设计:将逻辑结构转换为物理级(电路)的实现性能级功能级系统设计逻辑设计结构级物理设计物理级数字系统层次化结构数字系统设计的四个层次 性能级:要求回答开发系统“做什么”这个问题功能级:把系统划分为若干子系统结构级:将模块的功能描述转化为实现模块功能的具体硬件和软件的描述物理级:物理级也称为电路级。它把上一步描述功能的算法转为物理实现自顶向下设计方法性能级功能级系统设计逻辑设计结构级物理设计物理级 自顶向下的设计方法采用系统层次结构,将系统的设计分成几个层次进行描述。 由系统的性能级描述导出实现系统功能的算法,即系统

3、设计。 由功能级描述设计出系统结构框图,然后进行逻辑设计,详细给出实现系统的硬件和软件描述。模块技术(系统设计) 模块化技术就是将系统总的功能分解成若干个子功能,通过仔细定义和描述的子系统来实现相应子功能。模块技术是系统设计中的主要技术 一个系统的实现可以有多种方案,划分功能模块也有多种模块结构。结构决定系统的品质,一个结构合理的系统可望通过参数的调整获得最佳的性能。在划分系统的模块结构时,应考虑以下几个方面:限制条件:技术的先进性和可行性、经费、开发时间、可获得的资料等期望的目标:功能、易理解性、可靠性、易维护性等如何将系统划分为一组相对独立又相互联系的模块模块之间有哪些数据流和控制流信息如

4、何有规则地控制各模块交互作用如何评价模块结构的质量模块技术(系统设计)系统模块结构的方法模块结构框图:以框图的形式表示系统由哪些模块组成以及模块之间的相互关系。模块功能说明:采用自然语言或专用语言,以算法形式描述模块的输入/输出信号和模块的功能、作用和限制。例:串行数据接收器性能级设计数据多少位?传输格式?传输速率?信号电平?其他? 设串行数据8位,奇校验,按RS232C格式传输(如上图所示),TTL电平,传输速率100KBPS。要求并行输出接收数据且指出所收数据是否有奇偶误差。 系统结构级设计设定输入输出变量构思数据处理器功能部件列出控制器应输出的控制信号列出数据处理器应输出的状态信号外部输

5、入数据为X ,输出分别为Z(8位数据),C(输出标志),P(奇偶误差指示)。其中:C=1 输出数据有效;C=0 输出数据无效P=1 有奇偶误差; P=0 无奇偶误差移位寄存器(R), 计数器(CNT), 触发器(C), 触发器(P)和相关组合逻辑等清零信号,移位信号,计数控制信号,触发器P和触发器C置1置0信号等起始信号,收到8位,奇偶误差例:串行数据接收器根据上面的分析,可以得到系统的结构框图如下:组合电路CNTRCP控制器XZST控制器应该输出的信号:清零信号、移位信号、计数器控制信号、触发器P和触发器C置1置0信号。数据处理器反馈给控制器的信号:起始信号、已收到8位数据、有奇偶误差虚线框

6、内对应的是数据处理器例:串行数据接收器逻辑级设计:(A) 处理器设计和选择各功能部件: 右移移位寄存器 74194 计数器 74163 触发器 741109 奇偶校验电路 743280定义处理器状态信号, 列出状态变量表设处理器的输出状态信息为S1(起始位),S2(已收到8位),S3(有奇偶误差),如表:例:串行数据接收器画出数据处理器逻辑图:例:串行数据接收器T1194DsrQ3Q0 Q3MAMBT1194DsrQ3Q0 Q3MAMBZ(MSB)Z(LSB)T1163S1CrQDS2QKJQT1190QKJQT1190+S2xSTCPCLRREADSTCS144T3280FE8S3xz串行数

7、据接收器数据处理器逻辑图例:串行数据接收器逻辑级设计:(B) 控制器1.根据系统功能画控制器的ASM图(右图):S1CLRS2S3READSTCPSTCT00T11011002.求控制器逻辑表达式和控制信号表达式如下:3.画出控制器的逻辑图:例:串行数据接收器QQDS1S2S3STCPCLRREADSTCCRT1T0+串行数据接收器控制器逻辑图串行数据接收器物理级设计:系统布局、布线、PCB、组装、调试等(略)至此,我们完成了串行数据接收器的整个设计工作。由于其本身功能就不复杂,所以其设计工作不太复杂。用VHDL可以轻松的简化设计过程(当然,设计思路仍然是自顶而下的设计方法和模块划分),使设计

8、过程尽可能脱离硬件。具体程序见教材P127给出的VHDL实现。迭代技术 从逻辑设计转换成电路实现的物理设计过程当中,迭代是一类很有用的技术。 迭代的思想是利用问题本身包含的结构特性,用简单的逻辑子网络代替复杂的组合逻辑网络,实现要求的处理功能。从而最大限度降低了逻辑网络的设计难度,简化了设计过程。提高系统的性能/价格比。 迭代可以是时间意义上的迭代,即由简单的逻辑子网络,在时钟控制下对被处理的信息重复执行基本的运算,最终以串行处理的方式完成复杂网络所要完成的功能。 迭代也可以是空间意义上的迭代,即由简单的逻辑子网络重复组合,以并行处理方式完成复杂网络的功能 当然,也可以是时间迭代和空间迭代的组

9、合。网络输入迭代技术空间迭代网络基本模型 由于迭代网络是结构高度重复的组合逻辑网络,所以有可能利用结构相同的子网络作为单元电路,通过适当的串接来形成所要求的结构,以达到空间意义上的迭代。下图(左), 示出了单元电路的一般形式。 单元电路通常有两种不同类型的输入,即来自外部的一次输入和来自串接链路前级的二次输入。同样输出也有两类,即直接输出到外部的一次输出和输出到串接链路次级的二次输出。二次输入和二次输出是建立子网络之间联系的纽带。 单位1 单位2 单位n 网络输出边界输出边界输入空间网络迭代基本模型 X1jX2jXnjZ1jZ2jZnjy1jy2jymjy1,j+1y2,j+1ym,j+1来自

10、j-1级的二次输入输出到j+1级的二次输出第j个子网络一次输入一次输出迭代技术时间迭代网络基本模型 子网络在时钟控制下,接收来自信息寄存器A,E通过移位的串行输入,在子网络内作串行处理后,串行输出到结果寄存器R1 ,Rn 。 暂存单元C用于寄存子网络的二次输出,以便在时钟的下一个节拍作为子网络的二次输入参加运算和操作。暂存单元C对应空间迭代方式中的边界输入。子网络R1RnEAC边界输出时钟y1jymjy1,j+1ym,j+1时间迭代网络基本模型例:4位二进制加法器迭代网络设计分析:根据二进制数相加的运算规则可知,任意一位的和Si等于被加数 Ai、Bi及来自低位的进位Ci1,而其进位Ci则为相加

11、后的溢出值。实现1:根据这个结构特性,选用全加器FA作为子网络的单元电路,以低 位向高位的进位值作为子网络的二次输入/输出,通过空间迭代法构 成的四位并行加法器如下图。通常最低位的进位输入Cin置为0,而 最高位的Cout作为溢出标志。FAFAFAFAA1A4A3A2B4B3B2B1S4S3S2S1C3COUT = C4C1C2Cin四位并行加法器例:4位二进制加法器迭代网络设计实现2:下图是通过时间迭代法实现的4位串行加法器。分 析:该网络在时钟的控制下,从两个移位寄存器A和B的低位端串行输 出一位加数和被加数,在全加器FA中生成相应的和及进位,和作 为结果存入S寄存器,进位则由D触发器寄存

12、作为高一位的二次输 入 。D触发器的初置值为0,其终值表示了溢出标志。四位串行加法器迭代技术二维迭代网络 前面介绍的都是利用子网络作为基本单元,在时间或空间意义上重复构成的一维迭代网络。 也可以利用基本单元构成二维或多维网络。二维迭代网络可以用多种方法构成:完全空间意义上的迭代完全时间意义上的迭代水平方向为空间迭代,垂直方向为时间迭代水平方向为时间迭代,垂直方向为空间迭代例:乘法器设计1、性能级设计4位数字乘法器。2、结构级设计方案1:空间迭代分析:方案1通过完全空间意义上的迭代,实现4位二进制数相乘的迭代网络。特点:速度快、硬件复杂例:乘法器设计Ba8Ba4Ba2Ba1Ba8Ba4Ba2Ba

13、1Ba8Ba4Ba2Ba1Ba8Ba4Ba2Ba100000000b1b4b3b2P1P2P4P8P16P32P64P128方案2:时间迭代部分积左移累加算法例:乘法器设计方案2:时间迭代部分积左移累加算法例:乘法器设计A7 A6 A5 A4 A3 A2 A1 A0M7 M6 M5 M4 M3 M2 M1 M0Q7 Q6 Q5 Q4可控全加器控制器左移命令右移命令乘数寄存器Q累加寄存器A被乘数寄存器M加命令方案2:时间迭代部分积左移累加算法优点:直观 缺点:寄存器利用率低例:乘法器设计方案2:时间迭代部分和右移与部分积累加算法例:乘法器设计可控全加器控制器右移命令乘数寄存器Q累加寄存器A被乘数

14、寄存器M加命令Ar-1A2A1A0Mr-1M2M1M0Qr-1Q2Q1Q0方案2:时间迭代部分和右移与部分积累加算法优点:寄存器利用率高。 例:乘法器设计经比较,决定采用下面的系统结构图:例:乘法器设计Ar-1A0Qr-1Q0M组合逻辑网络控制单元AQTSCNTZ总结数字系统设计过程可以分为4个层次:性能级功能级系统设计逻辑设计结构级物理设计物理级性能级:明确要“做什么”功能级:将功能划分为模块结构级:把系统划分为若干子系统物理级:将结构级中描述功能的算法转换成物理实现 自顶向下的设计方法是一种由抽象的定义到具体的实现、由高层次到低层次的转换逐步求精的设计方法,并在设计过程中不断修正错误。 这

15、种设计方法更加接近人的一般思维方式,利于更高效的设计开发。总结模块技术模块化技术就是将系统总的功能分解成若干个子功能,通过仔细定义和描述的子系统来实现相应子功能。迭代技术时间意义上的迭代空间意义上的迭代二维迭代网络可编程专用芯片设计专用芯片的设计要求: 为了将产品推出市场,必须保证产品符合一定的设计要求。稳定可靠满足客户基本需要可维护和可继承,便于改进和升级设计规范可用的产品可移植性,便于技术经验共享,加快设计进度可编程专用芯片设计可编程专用芯片设计最基本的流程是:确定关键电路时序和模块间接口时序具体电路设计设计验证功能模块划分设计目标分析可编程专用芯片设计设计目标分析: 主要目的是确定芯片的

16、功能需求,一般应按照产品的发展计划,将目标分若干步骤来实现。基本目标:确定基本功能目标设计分析可能目标:分析未来可能增加的功能阶段目标:确定划分阶段ASIC计划:确定是否转ASIC,什么时候转ASIC可编程专用芯片设计功能模块划分: 主要目的是让设计层次分明,条理清晰。 设计时序在模块划分中对于数字电路设计异常重要,这与软件编程中模块划分有很大的不同。软件设计电路设计区别直接进行功能模块的划分,再进行系统联调关键:设计各模块间的接口时序,确定关键电路的时序,再进行模块的具体设计原因软件的程序是顺序执行的,相互间不会造成影响,不存在时序的问题硬件电路是并行处理的,时序是电路中关键的一部分,对电路

17、设计有决定性的影响打比方一个人可以决定什么时候做什么事,不会造成冲突多个人协作时,就要明细分工,协调,否则一直无成。可编程专用芯片设计确定关键电路时序和模块间接口时序: 事实上,在功能模块划分过程中,就必须考虑时序方面的问题。有时在确定设计目标时,就得考虑关键路径时序。 在做总体方案时,应该深入模块间的时序划分,关键时序确定。“时序是实现设计出来的,而不是事后测出来的”。 当我们的电路不能满足时序的要求时,甚至需要更改整个设计。可编程专用芯片设计设计实例 设计要求是每60ns输出一个数据(DATA),这是设计原图:DINADOUTRAM2567DINADOUTRAM326触发器输出组合逻辑触发器输出触发器+1WENA0WENA1CLK模块0模块1关键路径 60nsDATA 2567的同步RAM延时加上其后的RAM延时超过60ns,无法达到设计要求。类似产品在仅有一个工序时无法按时完成。可编程专用芯片设计这是改进后的设计:(使用流水线结构) DINADOUTRAM256*7DINADOUTRAM32*6触发器输出组合逻辑触发器输出触发器+1WENA0WENA1CLK模

温馨提示

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

评论

0/150

提交评论