数字系统设计方法..
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S
T
控制器
控制器应该输出的信号: 清零信号、移位信号、计 数器控制信号、触发器P和 触发器C置1置0信号。
例:串行数据接收器
逻辑级设计:(A) 处理器
设计和选择各功能部件:
右移移位寄存器 74194 计数器 74163 触发器 741109 奇偶校验电路 743280
定义处理器状态信号, 列出状态变量表 设处理器的输出状态信息为S1(起始位),S2(已收到8位),S3(有奇偶误差), 如表:
x z
T3280 8
FE
S3
串行数据接收器数据处理器逻辑图
例:串行数据接收器
逻辑级设计:(B) 控制器 1.根据系统功能画控制器的 ASM图(右图): 2.求控制器逻辑表达式 和控制信号表达式如下:
T0 0 0 S1
CLR T1 1
S2 0 READ
1
S3 1 STCP
0
STC
例:串行数据接收器
单元电路通常有两种不同类型的输入,即来自外部的一次输入和来自串接链
路前级的二次输入。同样输出也有两类,即直接输出到外部的一次输出和输出到 串接链路次级的二次输出。二次输入和二次输出是建立子网络之间联系的纽带。
一次输入 网络输入
…
…
…
来自j-1 级的二次 输入
第j个子网络
Z1j Z2j
ymj
……
一次输出
目标设计分析
阶段目标:确 定划分阶段
可能目标:分析 未来可能增加的 功能
ASIC计划:确定 是否转ASIC,什 么时候转ASIC
可编程专用芯片设计
功能模块划分:
主要目的是让设计层次分明,条理清晰。 设计时序在模块划分中对于数字电路设计异常重要, 这与软件编程中模块划分有很大的不同。
制下对被处理的信息重复执行基本的运算,最终以串行处理的方式完成 复杂网络所要完成的功能。
迭代也可以是空间意义上的迭代,即由简单的逻辑子网络重复组合,
以并行处理方式完成复杂网络的功能 当然,也可以是时间迭代和空间迭代的组合。
迭代技术
空间迭代网络基本模型 由于迭代网络是结构高度重复的组合逻辑网络,所以有可能利用结构相同的 子网络作为单元电路,通过适当的串接来形成所要求的结构,以达到空间意义上 的迭代。下图(左), 示出了单元电路的一般形式。
a8
a4
B a8 a4 a2
B a1
B
B
0
b4 B B B B
0
P128
P64
P32
P16
P8
P4
P2
P1
例:乘法器设计
方案2:时间迭代-部分积左移累加算法
例:乘法器设计
方案2:时间迭代-部分积左移累加算法
累加寄存器A 乘数寄存器Q
A7 A6 A5 A4 A3 A2 A1 A0
加命令
Q7 Q6 Q5 Q4
模块结构框图:以框图 的形式表示系统由哪些 模块组成以及模块之间 的相互关系。
模块功能说明:采用 自然语言或专用语言, 以算法形式描述模块 的输入/输出信号和模 块的功能、作用和限 制。
例:串行数据接收器
性能级设计
数据多少位? 传输格式? 传输速率?
信号电平?
其他?
设串行数据8位,奇校验,按RS232C格式传输(如 上图所示),TTL电平,传输速率≤100KBPS。要求并行 输出接收数据且指出所收数据是否有奇偶误差。
设计举例:串行数据接收器
详述串行数据接收器的设计过程
设计举例:迭代技术
从逻辑设计转换成电路实现的物理设计过程当中,迭代是一类很有用 的技术。
可编程专用芯片设计的流程
数字系统层次化结构
数字系统设计过程可以分为四个层次:
性能级
1. 性能级 2. 功能级 3. 结构级 4. 物理级 系统设计:将性能级的说明映射为功能 级的设计过程 逻辑设计:将功能级的描述转换为结构 (逻辑)的过程 物理设计:将逻辑结构转换为物理级 (电路)的实现
右移命令
可控全加器
控制器
M7 M6 M5 M4 M3 M2 M1 M0
被乘数寄存器M
左移命令
例:乘法器设计
方案2:时间迭代-部分积左移累加算法
优点:直观 缺点:寄存器利用率低
例:乘法器设计
方案2:时间迭代-部分和右移与部分积累加算法
Ar-1 ……
累加寄存器A
A2 A1 A0
Qr-1
加命令
……
Q2 Q1 Q0
乘数寄存器Q 控制器 右移命令
可控全加器
Mr-1
……
M2 M1 M0
被乘数寄存器M
例:乘法器设计
方案2:时间迭代-部分和右移 与部分积累加算法
优点:寄存器利用率高。
例:乘法器设计
经比较,决定采用下面的系统结构图:
A Q
M
Ar-1
……
A0
Qr-1
……
Q0
CNT
组合逻辑网络
Z S T
控制单元
总结
数字系统设计过程可以分为4个层次:
四位串行加法器
迭代技术
二维迭代网络
前面介绍的都是利用子网络作为基本单元,在时间或空间意义上重
复构成的一维迭代网络。 也可以利用基本单元构成二维或多维网络。二维迭代网络可以用多
种方法构成:
1. 2. 3. 4.
完全空间意义上的迭代 完全时间意义上的迭代 水平方向为空间迭代,垂直方向为时间迭代 水平方向为时间迭代,垂直方向为空间迭代
3.画出控制器的逻辑图:
READ S1 + S2 CR Q T0 CLR S3 D Q T1 STCP
STC
串行数据接收器控制器逻辑图
串行数据接收器
物理级设计:
系统布局、布线、PCB、组装、调试等(略) 至此,我们完成了串行数据接收器的整个设计工作。由于 其本身功能就不复杂,所以其设计工作不太复杂。用VHDL 可以轻松的简化设计过程(当然,设计思路仍然是自顶而 下的设计方法和模块划分),使设计过程尽可能脱离硬件。 具体程序见教材P127给出的VHDL实现。
满足客户 基本需要
可用的产品
设计规范
稳定可靠
可维护和可继承, 便于改进和升级
可移植性,便于 技术经验共享, 加快设计进度
可编程专用芯片设计
可编程专用芯片设 计最基本的流程是:
设计目标分析 功能模块划分
确定关键电路时 序和模块间接口 时序 具体电路设计
设计验证
可编程专用芯片设计
设计目标分析:
主要目的是确定芯片的功能需求,一般应按照产品 的发展计划,将目标分若干步骤来实现。 基本目标:确 定基本功能
最高位的Cout作为溢出标志。 A4 B4 A3 B3
A2 B2
A1 B1
COUT = C4
FA
C3
FA
C2
FA
C1
FA
Cin
S4
S3 S2 四位并行加法器
S1
例:4位二进制加法器迭 代网络设计
实现2:下图是通过时间迭代法实现的4位串行加法器。 分 析:该网络在时钟的控制下,从两个移位寄存器A和B的低位端串行输 出一位加数和被加数,在全加器FA中生成相应的和及进位,和作 为结果存入S寄存器,进位则由D触发器寄存作为高一位的二次输 入 。D触发器的初置值为0,其终值表示了溢出标志。
构思数据处理器功能 部件 列出控制器应输出的 控制信号 列出数据处理器应输 出的状态信号
起始信号,收到8位,奇偶误差
例:串行数据接收器
根据上面的分析,可以得到系统的结构框图如下 :
虚线框内对应的是 数据处理器
CNT
R
C
P
X
组合电路
Z
数据处理器反馈给控制器的信号: 起始信号、已收到8位数据、有奇 偶误差
数字系统设计方法
主讲人:徐向民教授
内容纲要
数字系统的层次化结构
数字系统设计过程的四个级别:性能级、功能级、结构级、物理级。
自顶向下(top-down)设计方法
自顶向下的设计方法是一种由抽象的定义到具体的实现、由高层次到 低层次的转换逐步求精的设计方法。
模块设计(系统设计)
模块化技术就是将系统总的功能分解成若干个子功能,通过仔细定义 和描述的子系统来实现相应子功能。
例:乘法器设计
1、性能级设计 4位数字乘法器。 2、结构级设计
例:乘法器设计
0 0 0 0
方案1:空间迭代
分析:方案1通过完全空间意义 上的迭代,实现4位二进制数相 乘的迭代网络。 特点:速度快、硬件复杂
a8
a8
a4
a2
a1 b1
B a4 a2
B a1
B
B
0
b2
B B a2 a1 b3 B B
0
迭代技术
从逻辑设计转换成电路实现的物理设计过程当中,迭代是一类很有 用的技术。
迭代的思想是利用问题本身包含的结构特性,用简单的逻辑子网络
代替复杂的组合逻辑网络,实现要求的处理功能。从而最大限度降低了 逻辑网络的设计难度,简化了设计过程。提高系统的性能/价格比。
迭代可以是时间意义上的迭代,即由简单的逻辑子网络,构级设计
设定输入输出变量
外部输入数据为X ,输出分别为Z(8位数据 ), C(输出标志),P(奇偶误差指示)。 其中: C=1 输出数据有效;C=0 输出数据无效 P=1 有奇偶误差; P=0 无奇偶误差 移位寄存器(R), 计数器(CNT), 触发器 (C), 触发器(P)和相关组合逻辑等 清零信号,移位信号,计数控制信号,触 发器P和触发器C置1置0信号等
模块技术是系统设计中的主要技术
模块化技术就是将系统总的功能分解成若干个 子功能,通过仔细定义和描述的子系统来实现相应 子功能。 一个系统的实现可以有多种方案,划分功能 模块也有多种模块结构。结构决定系统的品质, 一个结构合理的系统可望通过参数的调整获得最 佳的性能。在划分系统的模块结构时,应考虑以 下几个方面:
…
ym,j+1
网络输出
Znj
空间网络迭代基本模型
…
…
…
… …
… …
… …
单位1
单位2
…
y1j y2j
y1,j+1 y2,j+1
边 界 输出到 输 j+1级 入 的二次 输出
单位n
…
…
…
X1j X2j
……
Xnj
边 界 输 出
迭代技术
时间迭代网络基本模型
子网络在时钟控制下,接收来自信息寄存器A,...E通过移位的串行输
入,在子网络内作串行处理后,串行输出到结果寄存器R1 ,…Rn 。
暂存单元C用于寄存子网络的二次输出,以便在时钟的下一个节拍作为子网 络的二次输入参加运算和操作。暂存单元C对应空间迭代方式中的边界输入。
A
子 网 络
R1
E
y1j ymj y1,j+1 ym,j+1
时钟
边 界 输 出
…
C
时间迭代网络基本模型
限制条件: 技术的先进性和可行性、经费、开发 时间、可获得的资料等
如何将系统划 分为一组相对 独立又相互联 系的模块
模块之间有哪 些数据流和控 制流信息
如何有规则地 控制各模块交 互作用
如何评价模块 结构的质量
期望的目标: 功能、易理解性、可靠性、易 维护性等
模块技术(系统设计)
系统模块结构的方法
性能级:明确要“做什么” 功能级:将功能划分为模块 结构级:把系统划分为若干子系统 物理级:将结构级中描述功能的算 法转换成物理实现
自顶向下的设计方法是一种由抽象的 定义到具体的实现、由高层次到低层次的 转换逐步求精的设计方法,并在设计过程 中不断修正错误。 这种设计方法更加接近人的一般思维 方式,利于更高效的设计开发。
系统设计 功能级 逻辑设计 结构级 物理设计 物理级
数字系统层次化结构
性能级: 要求回答开发系统“做 什么”这个问题 功能级: 把系统划分为若干子系 统
数字系统设计 的四个层次
结构级: 将模块的功能描述转化 为实现模块功能的具体 硬件和软件的描述 物理级: 物理级也称为电路级。它 把上一步描述功能的算法 转为物理实现
例:串行数据接收器
画出数据处理器逻辑图:
S1
Z(MS B) 4 x
Q0 ~ Q3 Dsr
MA T1194 MB
Z(LSB ) 4
Q0 ~ Q3 Q3 Dsr
MA T1194 MB
Q3
READ
S2 S2 S1 QD
T1163
Q Cr J
T1190
Q K
Q J
T1190
Q K
+
STCP STC CL R
…
…
Rn
…
…
…
例:4位二进制加法器迭 代网络设计
分析:根据二进制数相加的运算规则可知,任意一位的和Si等于被加数 Ai、Bi及来自低位的进位Ci-1,而其进位Ci则为相加后的溢出值。 实现1:根据这个结构特性,选用全加器FA作为子网络的单元电路,以低 位向高位的进位值作为子网络的二次输入/输出,通过空间迭代法构 成的四位并行加法器如下图。通常最低位的进位输入Cin置为0,而
自顶向下设计方法
性能级
自顶向下的设计方法采用系统层次结 构,将系统的设计分成几个层次进行描述。 由系统的性能级描述导出实现系统功 能的算法,即系统设计。 由功能级描述设计出系统结构框图,
系统设计
功能级
逻辑设计
结构级
然后进行逻辑设计,详细给出实现系统的
物理设计
硬件和软件描述。
物理级
模块技术(系统设计)
性能级
系统设计
功能级
逻辑设计
结构级
物理设计
物理级
总结
模块技术
模块化技术就是将系统总的功能分解成若干个 子功能,通过仔细定义和描述的子系统来实现 相应子功能。
迭代技术
时间意义上的迭代 空间意义上的迭代 二维迭代网络
可编程专用芯片设计
专用芯片的设计要求:
为了将产品推出市场,必须保证产品符合一定的设 计要求。