数字系统设计.ppt
数字系统设计现在学习的是第1页,共40页 什么是数字系统什么是数字系统 数字系统是指对数字信息进行存储、传输、处理的电子系统 包括控制器和数据子系统就是数字系统 现在学习的是第2页,共40页传统数字系统设计法 o 由真值表、卡诺图、布尔方程、状态表和状态图描述电路的功能。o 小规模数字系统:采用试凑法,凭借设计着的经验就可以实现。o 规模较大数字系统:也可采用试凑法,如不合适,可寻找更合适的设计方法。现在学习的是第3页,共40页自顶向下设计法 设计者从整个系统逻辑出发,进行最上层的系统设计,而后按一定的原则将全局系统分成若干子系统,逐级向下,再将每个子系统分为若干个功能模块、子模块、基本模块。现在学习的是第4页,共40页自顶向下设计法优点 o大大缩短了设计周期由于功能描述可完全独立于芯片结构在设计的最初阶段,设计师可不受芯片结构的约束,集中精力进行产品设计,进而避免了传统设计方法所带来的重新再设计风险,大大缩短了设计周期。o设计的再利用得到保证目前的电子产品正向模块化发展,所谓模块化就是对以往设计成果进行修改,组合和再利用,产生全新的或派生设计,而自顶向下设计方法的功能描述可与芯片结构无关。因此可以以一种的方式进行存档,以便将来的重新利用。o设计规模大大提高简单的语言描述即可完成复杂的功能,而不需要手工绘图。o芯片选择更加灵活设计师可在较短的时间内采用各种结构芯片来完成同一功能描述,从而在设计规模、速度、芯片价格及系统性能要求等方面进行平衡,选择最佳结果。现在学习的是第5页,共40页层次化设计方法分层原则 o 将所有的算术运算安排在同一层中,状态机、随机逻辑、数据路径等逻辑类型作为独立的模块设计 o 模块的输入尽量不要悬空,输出应尽量寄存。o 单个功能块应保持在30006000门之间,HDL语言的行数不超过400行 o 尽量采用专用的IP核进行设计 现在学习的是第6页,共40页可编程逻辑器件的开发过程 可编程逻辑器件设计电路过程如下图所示 现在学习的是第7页,共40页设计实例4位数字频率计 1 基本原理基本原理 频率就是周期性信号在单位时间(1S)内的变化次数。若在一定1S的时间间隔内测得这个周期性信号的重复变化次数为N,则其频率可表示为:f=N现在学习的是第8页,共40页 现在学习的是第9页,共40页2 顶层原理图 现在学习的是第10页,共40页3 底层模块设计 在顶层原理图中共有5个模块:CNT12、CNT10、CODE、LOCK、DECODER(1)十二进制加法计数器CNT12的VHDL语言源程序现在学习的是第11页,共40页(2)十进制加法计数器CNT10的VHDL语言源程序 现在学习的是第12页,共40页 现在学习的是第13页,共40页 现在学习的是第14页,共40页(3)控制模块CODE的VHDL语言源程序 现在学习的是第15页,共40页 现在学习的是第16页,共40页 现在学习的是第17页,共40页(4)锁存器LOCK的VHDL语言源程序 现在学习的是第18页,共40页 现在学习的是第19页,共40页4 底层模块的仿真(1)LOCK模块的仿真结果 现在学习的是第20页,共40页(2)CNT12的仿真结果 现在学习的是第21页,共40页(3)CNT10模块的仿真结果 现在学习的是第22页,共40页(4)CODE模块的仿真结果 现在学习的是第23页,共40页5 频率计顶层原理图的输入 现在学习的是第24页,共40页6 频率计仿真结果 现在学习的是第25页,共40页数字乘法器的设计 设计一44 二进制乘法器设计步骤:1.算法设计 2.电路划分3.数据处理单元的设计 4.控制单元的设计 现在学习的是第26页,共40页1.算法设计 设A=1011,B=1101,则乘法运算过程和运算结果为:乘法运算可分解为加法和移位两种操作。部分积P右移1位后与A相加。最终的部分积P即为A与B的乘积。在运算过程中,若某一位 Bi=0,则只移位不累加。现在学习的是第27页,共40页乘法器功能框图 现在学习的是第28页,共40页乘法器的算法流程 现在学习的是第29页,共40页电路划分:数据处理单元+控制单元 现在学习的是第30页,共40页数据处理单元的设计 现在学习的是第31页,共40页控制单元的设计 乘法控制器的ASM图 现在学习的是第32页,共40页控制器输入输出信号表 现在学习的是第33页,共40页控制器的VHDL源程序mulcon.vhd 现在学习的是第34页,共40页 现在学习的是第35页,共40页 现在学习的是第36页,共40页 现在学习的是第37页,共40页控制器仿真结果 现在学习的是第38页,共40页乘法器顶层原理图 现在学习的是第39页,共40页乘法器仿真时序图 现在学习的是第40页,共40页