第十章数字系统设计方法(2011)
现代数字系统设计
微地址产生器产 2.5.3.1 微程序控制器典型结构 生下一条应执行 的微指令。 微控制器产 生局部时钟, 控制各寄存 器的操作, 接收数据子 系统的开启 或终止信号。
2.5.3.3 微程序流的控制
微程序流的执行方法可以有许多种,如顺 序的、条件转移或无条件转移、循环或子 程序调用等,因此控制方法也是多样的, 这些方法集中到一点,即如何设计微程序 控制器中的微地址产生器。 微地址产生器如何根据当前的微指令及一 些相应的条件来确定下一条微指令的地址。
秒脉冲发生器
(3)锁相频率合成技术方案
与DDS类似,采用查表方式,通过改变ROM地址 产生器的时钟CP频率来改变输出信号的频率,而 时钟信号来自锁相环路VCO的输出。
鉴相器 PD 环路滤波器 LF 压控振荡器 VCO fVCO 地址计数器 (模200)
fVCO/N
分频器 ÷N
ROM (/M) fO A D/A
(3)锁相频率合成技术方案
步进1Hz,fr=200Hz。 fVCOmin=20×200=4kHz, fVCOmax=20k×200=4MHz,频率覆盖率为 1000。 若采用单片集成锁相环74HC4046,其 VCO最高工作频率为30MHz,频率覆盖率 为10,因此需将系统分成三个波段。
4.3.1.3 方案论证与框图
方案二:
4.3.1.3 方案论证与框图
方案三:
6.1 实用信号源的设计
信号源是电子系统设计、测试、维修所必 需的仪器。它的性能、指标、使用方法对 于广大电子线路工作者的工作有着重大影 响。因此,本节重点要求大家掌握信号源 的组成并能够自己设计一个高指标的信号 源。
数字系统设计简介
2. 设计步骤 自上而下的设计方法就是从整体到局部, 最后到细节。开始时,先要明确设计总体 任务,确定设计目标,然后把总体任务分 成一个个子任务,并分析子任务之间的关 系,最后拟订各子任务的细节问题。它是 从总体到局部的一种优化设计方法。
数字系统设计的三个阶段:总体设计阶段、逻辑设计阶段 和电路设计阶段。
数字系统基本结构
Hale Waihona Puke 处理器的任务:实现数据的加工、传送和处理,完 成由控制器发出的命令所规定的全部操作。所以 , 其系统是在外输入(X)和处理器反馈给控制器的 状态变量(S)的共同作用下,并在控制器的控制 下定序完成操作步骤。
数字系统完成一个计算任务是这样进行的,在 一个计算步骤下,控制器发出控制信号给处理器, 由处理器完成规定的操作,控制器接收外部输入信 号和处理器反馈给控制器的状态变量,决定下一个 计算步骤,这样逐步地完成一个计算任务。
11.2.2 数字系统的设计方法与设计步骤
1. 设计方法 从理论上来讲,任何数字系统都可看成一个时序系统,因 此应用时序电路的设计方法就可以设计出完整的数字系统。但 当一个系统的输入输出变量和状态变量很多时,再用状态表和 卡诺图等工具来描述一个大型时序系统就很困难了。 早期的数字系统多采用试凑法设计,主要凭借设计者的经 验。所设计出的电路,虽然不乏构思巧妙者,但交流和修改不 方便,设计所花费的时间也较多。 现在大多采用一种自上而下的模块化设计方法。自上而下 也称自顶向下(top—down),顶就是系统的功能,向下指的是将 系统分割成若干功能模块。完整的意思是:从整个系统功能出 发,按一定原则将系统分为若干子系统,再将每个子系统分为 若干功能模块,再将每个模块分成若干较小的模块……直至分 成许多基本模块实现。
数字系统设计基本方法
数字系统设计方法 …….. ENTITY module C IS …… END module C ; ARCHITECTURE rtl OF module C IS COMPONENT module A ………. END COMPONENT; COMPONENT module B ……. END COMPONENT; SIGNAL sigab , sigba: STD_LOGIC; BEGIN U3: module A PORT MAP(sigab,sigba); U4: module B PORT MAP(sigba,sigab); END rtl;
数字系统设计方法
数字系统设计基础
3.1.4 系统结构选择 系统结构选择与算法设计有很大关系,不同的算法可以实 现同一个系统的功能。当然,同一个算法也可以用不同的系统 结构来实现。
FSM1
FSM2
FSM3
数据寄存器 状态寄存器 数据寄存器 状态寄存器
数据寄存器 状态寄存器
FSM4
clk 系统时钟
数据寄存器 状态寄存器
数字系统设计方法 WHEN S2=> aReg<=aReg*2; bReg<=bReg; cReg<=cReg; stateReg<=S0; END CASE; END IF; END PROCESS;
数字系统设计基础
可以看出,aReg<=aReg*(bReg*cReg) 的路径最长。 假设每个乘法器的运算时间需要100 ns,每个选择器的时 间延时需要1 ns,由此推断,时钟频率一定不能高于5 MHz。
数字系统设计方法
数字系统设计基础
在同一层中的各模块是通过所定义的信号连接起来的。
……….. ENTITY module A IS PORT( din: IN STD_LOGIC; dout: OUT STD_LOGIC); END module A; ………. ……… ENTITY module B IS PORT( din: IN STD_LOGIC; dout: OUT STD_LOGIC); END module B; …..
数字系统设计原理和方法
论述数字系统设计的原理和方法一、数字系统原理数字系统,即有一些逻辑单元构成的具备数字运算和逻辑处理的一类算术系统,完成对数字量进行算术运算和逻辑运算的电路称为数字电路。
用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。
由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。
数字电路一般分为组合逻辑电路和时序逻辑电路。
组合逻辑电路简称组合电路,它由最基本的的逻辑门电路组合而成。
特点是:输出值只与当时的输入值有关,即输出惟一地由当时的输入值决定。
电路没有记忆功能,输出状态随着输入状态的变化而变化,类似于电阻性电路,如加法器、译码器、编码器、数据选择器等都属于此类。
时序逻辑电路简称时序电路,它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。
时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关。
它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、移位寄存器、储存器等电路都是时序电路的典型器件。
数字电路是以二进制逻辑代数为数学基础,使用二进制数字信号,既能进行算术运算又能方便地进行逻辑运算(与、或、非、判断、比较、处理等),因此极其适合于运算、比较、存储、传输、控制、决策等应用。
以二进制作为基础的数字逻辑电路,简单可靠,准确性高。
集成度高,体积小,功耗低是数字电路突出的优点之一。
电路的设计、维修、维护灵活方便,随着集成电路技术的高速发展,数字逻辑电路的集成度越来越高,集成电路块的功能随着小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)、超大规模集成电路(VLSI)的发展也从元件级、器件级、部件级、板卡级上升到系统级。
电路的设计组成只需采用一些标准的集成电路块单元连接而成。
对于非标准的特殊电路还可以使用可编程序逻辑阵列电路,通过编程的方法实现任意的逻辑功能。
数字系统设计基本方法(上课用)
00
F D0
.A1 A0 10
01
F D1 F D2
Cp
CNT
M=3
D0
D1 D2
MUX
F
D3
条件块:
条件块为一带横杠的矩 形块。条件块总是源于判别 块的一个分支,仅当该分支 条件满足时,条件块中标明 的操作才被执行,而且是立 即被执行。
数字系统设计基本方法
简介:
传统数字电路设计方法不适合设计大规模
的电子系统。
新器件的发展使现代电子系统的设计思想
发生了深刻的变化,即从功能电路设计转向系
统设计;从传统的通用集成电路的应用转向可
编程逻辑器件的应用;从硬件设计转向硬件、
软件高度渗透的设计,大大拓宽了数字技术的
知识面和数字系统的设计能力。
提高设计生产的效率: 自顶向下的设计方法允许设计者从一个高
抽象层次上对系统的功能进行定制,而不需要 考虑门级的具体实现方法,这充分体现了工艺 无关性的基本设计思想。设计者只需要写出设 计中所需部件的硬件描述语言代码或者是其它 类型的模型,设计工具就会根据编写的高层描 述生成门级的实现,这就大大减少了设计者以 往必须花费在设计细节上的时间。
专用集成电路(ASIC-Application Specific Integrated Circuits)开发周期长,投入大,风险大
可编程器件PLD:开发周期短,投入小,风险小
PLD器件的优点
集成度高,可以替代多至几千块通用IC芯片
极大减小电路的面积,降低功耗,提高可靠性
具有完善先进的开发工具
数字系统设计基本方法
S3
数字系统设计方法
数字系统设计基础
4.分支条件合并
B > 0时 A > 0时 S2 其他
S3 S1
A > 0且 B > 0 A > 0且 B ≤ 0
S3
S4
S4
S1 其他
其他 S5
S5
数字系统设计方法
数字系统设计基础
多个处理并发设计实例
A =f1 (A ,B ) B = f2 (A ,B ) S1 S2 A =f3 (A ,B ) B = f4 (A ,B ) S3 条件成立 A =f1 (A ,B ) B = f2 (A ,B ) S1 条件不成立 A =f5 (A ,B ) B = f6 (A ,B ) A =f3 (A ,B ) B = f4 (A ,B ) S2 S3
数据寄存器 状态寄存器
数字系统设计方法
数字系统设计基础
M1 M3 M4
M2 顶层 M5
M 41 M 42
M 21 M 22 M 23 M 24
M 44 M 43
M 43 1 M 23 1 M 43 2 M 43 3
M 23 2 M 24 1 M 23 3 M 23 4 M 24 3 M 24 4
M 24 2
数字系统设计方法
数字系统设计基础
3 系统结构的选择和设计
模块 整体处理 状态机
部分处理
部分处理
…
子块1
更细的部 分处理
更细的部 分处理
更细的部 分处理
运 算 电 路
子块3
…
子块2
子块4
(a )
…
(b)
模块的水平结构和垂直结构 (a) 垂直结构;(b) 水平结构
数字系统设计方法
数字系统的设计方法
数字系统的设计方法
1.自下而上的设计方法
数字系统自下而上的设计是一种摸索法,设计者首先将规模大、功能简单的数字系统按规律功能划分成若干子模块,始终分到这些子模块可以用经典的方法和标准的规律功能部件进行设计为止,然后再将子模块按其连接关系分别连接,逐步进行调试,最终将子系统组成在一起,进行整体调试,直到达到要求为止。
这种方法的特点是:
(1)没有明显的规律可循,主要靠设计者的实践阅历和娴熟的设计技巧,用逐步摸索的方法最终设计出一个完整的数字系统。
(2)系统的各项性能指标只有在系统构成后才能分析测试。
假如系统设计存在比较大的问题,也有可能要重新设计,使得设计周期加长、资源铺张也较大。
2.自上而下的设计方法
自上而下的设计方法是,将整个系统从规律上划分成掌握器和处理器两大部分,采纳ASM 图或RTL语言来描述掌握器和处理器的工作过程。
假如掌握器和处理器仍比较简单,可以在掌握器和处理器内部多重地进行规律划分,然后选用适当的器件以实现各个子系统,最终把它们连接起来,完成数字系统的设计。
设计步骤:
(1)明确所要设计系统的规律功能。
(2)确定系统方案与规律划分,画出系统方框图。
(3)采纳某种算法描述系统。
(4)设计掌握器和处理器,组成所需要的数字系统。
数字系统设计
•数字系统的基本组成
•传统的数字系统设计方法
•现代数字系统设计方法 •数字系统设计举例
一、数字电子系统的组成
数字电子系统: 数字电路系统是指能够完成一系列较为复杂的逻辑操作的电路系 统。通常数字电路系统是由许多组合逻辑和时序逻辑功能部件组成 的,这些功能部件又可以由各种各样的SSI(小规模)、MSI(中规模)、 LSI(大规模)器件组成。 对数字信息进行存储、传输、处理的电子系统
ASM图 图
(A) 计数器复位
MDS
START A CR↑↓
NO
START?
START
YES
(B)
执行
B
OPR↑↓
再举一例:
4.ASM图的条件输出与MDS图条件输出相对应。
到MDS图
注:A态返回到A态时, 有一条件输出:当X=0, CP=0时,RUN有效。
四、数字系统设计举例
例1:设计一汽车尾灯控制系统
自上而下设计方法的步骤如下: 1、明确待设计系统的逻辑功能; 2、拟定数字系统的总体方案; 3、逻辑划分,即把系统划分为控制器与受控电路两 大部分,并规定其具体的逻辑要求,但不涉及具体的 硬件电路,如下图所示:
ASM图、MDS图以及ASM图至MDS图的转换
ASM(Algorithmic State Machine)算法流程图,建立ASM图是数字系统 的关键步骤,是描述数字系统控制算法的流程图。基本符号:状态框、 判断框和条件输出框。它表面上与通常的软件流程图非常相似,但ASM 图表示事件的精确时间间隔序列,而一般的软件流程图没有时间的概念。 (1)状态框 数字系统控制序列的状态用“状态框”表示 左上角:状态名称; 右上角:状态编码(如果已编码)。 框内标出此状态下实现的寄存器操作或输出;箭头表示在时钟的触发下进入 状态A,在另一个时钟触发下离开状态A。
4.5数字系统自上至下的设计方法(2011)
xi
yi
C1
Function
S1
F A B an1 a1a0 bn1 b1b0 0
F A B an 1 a1an (b n 1 b1 b 0 ) 1
B的补码
fi
S0
xi
ai ai ai ai
yi
bi bi 0 1
C1
F A 1 an1 a1a0 (0 00) 1
(2)设计AU(算数单元)
ai
x
LU
bi
y
f LU i
x y
AU
ci 1
cin
s1 s0
S1
S0
0 0 1 1
0 1 0 1
f AUi ai bi f AUi ai bi f AUi ai 1 f AUi ai 1
ci
cout
f AU i
d1
MUX y
d0
s2
分析:
A (an1 a0 ) 2
B (bn1 b0 ) 2
Operands (操作数)
S2 S1 S0
ALU
Selection code S ( sk 1 s0 ) 2
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
F A B F A B F A 1 F A 1 F A B F A B FA F A B
C1
&
1
S1
S0
S1 S0
yi
C-GEN
Y-GEN
AU的实现:
ai bi
Y-GEN
a0
第十章 数字系统设计
第十章数字系统设计 (625)第一节概述 (625)一、数字系统的定义 (625)二、数字系统的设计方法 (625)三、数字系统的实现方法 (626)第二节算法状态机 (627)一、状态框 (627)二、判决框 (627)三、条件输出框 (627)第三节数字系统设计举例之一 (629)第四节数字系统设计举例之二 (637)第五节数字系统设计举例之三 (645)第六节数字系统设计举例之四 (662)一、分析题目,明确设计要求 (662)二、主持人控制台功能规划和电路设计 (663)三、选手抢答器功能规划和电路设计 (664)四、计分器功能和电路设计 (667)五、整体连接和调试 (670)习题 (671)第十章数字系统设计内容提要本章首先给出数字系统的定义、算法状态机和数字系统设计的一般流程,然后用四个具体实例详细介绍了数字系统的设计方法。
第一节概述一、数字系统的定义前面几章介绍的编码器、译码器、数据选择器、数据分配器、比较器、加法器、计数器、寄存器、存储器等电路,都只能实现某一特定的功能,因此称为功能部件级电路。
由若干这样的功能部件和一个控制电路一起构成的系统可以完成更复杂的功能,这就是数字系统。
数字系统是一个能完成一系列复杂操作的逻辑单元,它可以是一台数字计算机,一个自动控制系统,一个数据采集系统,或者是日常生活中用的一些电子仪器,如电子称等等。
用前面学过的状态表的方法设计大型复杂的数字系统有时是十分困难的,甚至是不可能的,原因是状态数大的惊人。
二、数字系统的设计方法数字系统的设计方法有两种,自上而下的设计方法和自下而上的设计方法。
现代数字系统的设计常采用自上而下的设计方法。
自上而下的设计方法的设计步骤是:(一)明确设计任务仔细阅读技术说明书,将叙述不明确的地方加以明确。
(二)确定系统方案和逻辑划分将待设计的数字系统划分为控制器和数据通路两部分,给出ASM图。
图10-1给出了数字系统的控制器和数据通路划分示意图。
数字系统设计
7.1.3 1. 数字系统的总体方案 数字系统的总体方案的优劣直接关系到整个数字系统的质量
与性能, 需要根据系统的功能要求、使用要求及性能价格比周密 思考后确定。 下面通过两个具体实例进行说明。
【例7-1】某数字系统用于统计串行输入的n位二元序列X中 “1”的个数,试确定其系统方案。
解 该数字系统的功能用软件实现最为方便, 但此处仅讨论 硬件实现问题。
st X
Q
CP2
位 数计 数 器
CP
控 制器
CLR
CP1
“ 1”数 计 数 器
do ne
“ 1”数 输 出
图 7 - 3 “1”数统计系统结构框图
该系统的大致工作过程如下: 系统加电时,系统处于等待状 态,即当st=0时,系统不工作;当st=1时,系统启动工作,控制器 输出CLR有效,将两个计数器清0,同时置输出状态信号done无效。
数字系统设计
7.1 数字系统设计概述 7.2 控制子系统的设计工具 7.3 控制子系统的实现方法 7.4 数字系统设计举例
7.1 数字系统设计概述
1. 什么是数字系统
在数字电子技术领域内,由各种逻辑器件构成的能够实现某 种单一特定功能的电路称为功能部件级电路,例如前面各章介绍 的加法器、 比较器、 译码器、数据选择器、计数器、移位寄存器、 存储器等就是典型的功能部件级电路, 它们只能完成加法运算、 数据比较、译码、数据选择、计数、移位寄存、数据存储等单一 功能。 而由若干数字电路和逻辑部件构成的、能够实现数据存储、 传送和处理等复杂功能的数字设备,则称为数字系统(Digital System)。电子计算机就是一个典型的复杂数字系统。
2 . 数字系统的逻辑划分
由于数据子系统和控制子系统的功能不同, 因此, 数字系 统的逻辑划分并不太困难。凡是有关存储、 处理功能的部分, 一律纳入数据子系统; 凡是有关控制功能的部分,一律纳入控 制子系统。逻辑划分后,就可以根据功能需要画出整个系统的结 构框图。
数字电子技术09数字系统设计课件
(1)时间基准
数字钟设计实例
(2)六十进制计数译码显示电路
(3)十二进制计数译码显示电路
(4)校时校分
图9-6 整点报时电路
(5)总电路
2. 用可编程器件实现
随着数字集成技术和电子设计自动化(Electronic Design Automation,EDA)技术的迅速发展,数字系统设计的 理论和方法也在相应地变化和发展着。EDA技术是从计 算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机 辅助测试(CAT)和计算机辅助工程(CAE)等技术发展而来 的。它以计算机为工具,设计者只需对系统功能进行 描述,就可在EDA工具的帮助下完成系统设计。
用可编程逻辑器件实现的数字钟
(1)电路系统设计
图9-8 功能框图
(2)可编程逻辑器件
图9-9 自定义十进制计数器
图9-10 顶层RTL视图
通过下载电缆将所设计的数字钟程序下载到硬件电路的 FPGA/CPLD芯片中,然后在外部连接所需的外围电路,按键、 数码管、LED等。
计 算 机 下载电缆 并 口
2.确定整体设计方案
对于一个具体的设计可能有多种不同的方案,确定方 案时,应对不同方案的性能、成本、可靠性等方面进 行综合考虑,最终确定设计方案。
3.模块化设计
1)各模块之间的逻辑关系明确。 2)各模块内部逻辑功能集中,且易于实现。 3)各模块之间的接口线尽量少。
4.数字系统的设计
1)选用通用集成电路芯片构成数字系统。 2)应用可编程逻辑器件实现数字系统。 3)设计专用集成电路(单片系统)。
五. 数字系统的实现方法
1. 用中、小规模集成器件实现
用通用集成电路构成数字系统即采用小规模集成电路(S SI)、中规模集成电路(MSI)(如74系列芯片,计数器芯片 等),根据系统的设计要求,构成所需数字系统。简单 的数字系统设计,都可以在这个层次上进行。电子工 程师设计电子系统的过程一般是先根据设计要求进行 书面设计,再选择器件、搭建调试电路,最后制作样 机。 这样完成的系统设计由于芯片之间的众多连接造 成系统可靠性不高,也使系统体积相对较大,集成度 低。当数字系统大到一定规模时,搭建调试会变得非 常困难甚至不可行。
数字系统设计方法..
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
可编程专用芯片设计
功能模块划分:
主要目的是让设计层次分明,条理清晰。 设计时序在模块划分中对于数字电路设计异常重要, 这与软件编程中模块划分有很大的不同。
数字系统——精选推荐
第10章数字系统内容提要●数字系统的基本概念●基本子系统●数据通路●由顶向下的设计方法●小型控制器的设计●嵌入式系统简介●物联网简介1、数字系统的基本概念●所谓数字系统●是指交互式的以离散形式表示的具有存储、传输、处理信息能力的逻辑子系统的集合物。
●一台计算机,就是一个最完整的数字系统。
冯诺依曼体系结构·系统体系结构指令寄存器存储器程序指令寄存器控制程序存储器指令0地址控制器指令0指令1指令2控制器指令1指令2指令数据通道指令3指令4数据存储器输入输出中央处理器数据数据0数据1数据通道输入输出CPU数据0数据1数据2地址数据数据2·哈佛体系结构冯诺依曼体系结构计算机分类●超级计算机:星云(No.2)、天河(No.7),top500●大型计算机巨型机说:“我认为全球大概只需要五台计算机就够了”;PC 机说:“每个家庭的桌面上都应该有一台电脑”;●工作站●微计算机Pocket PC 说:“太大了,应该每人口袋里放一台”;IoT 说:“每粒沙子都应该是一台计算机”。
●亚微计算机(嵌入式计算机)处理器分类Unit CPU)•中央处理器(Centerprocessor Unit, CPU)微处理器(p,)•(Microprocessor Unit, MPU)•微控制器(Microcontroller Unit, MCU)•嵌入式DSP (Embedded Digital Signal Processor, EDSP)片系统•片上系统(System On Chip)处理器工作过程展示:SWF处理器工作过程展示2、基本子系统●是指构成数字系统时必不可少的逻辑功能部件。
●这些逻辑功能部件有:算术逻辑运算单元●ALU●寄存器●RAM●数据总线●控制器2、基本子系统基本子系统算术逻辑运算单元U●ALU●是数字系统中对数据进行加工处理的功能部件。
行加工处理的功能部件●没有ALU,就不能成为复杂的数字系统复杂的数字系统。
数字电路系统的设计方法
第三步:选择器件
第四步:设计实现
数字系统的设计方法
1、分析任务,确定实体的端口; 2、系统分解,确定实体内部构成框图; 3、确定实体内部的节点信号; 4、选择VHDL描述模式或图形输入法, 进行系统实现; 5、进行系统的综合、优化及仿真; 6、系统测试。
一个实用的有 限状态机必须 有复位信号。
有限状态机的三种描述方式
描述方式 进程描述的功能
进程1:描述次态逻辑 进程2:描述状态寄存器 进程3:描述输出逻辑
红色字体为 常用描述方式
三进程描述方式
形式1
进程1:描述次态逻辑、输出逻辑 进程2:描述状态寄存器 进程1:描述次态逻辑、状态寄存器 进程2:描述输出逻辑 进程1:描述状态寄存器、输出逻辑 进程2:描述次态逻辑
PROCESS (present_state,tg,ty) 以当前状态和输入 BEGIN 信号为敏感信号 CASE present_state IS WHEN green_red =>IF tg='0' THEN next_state <= yellow_red; ELSE next_state <=green_red; END IF; WHEN yellow_red=>IF ty='0' THEN next_state <= red_green; ELSE next_state <=yellow_red; END IF; WHEN red_green=>IF tg='0' THEN next_state <= red_yellow; ELSE next_state <=red_green; END IF; WHEN red_yellow =>IF ty='0' THEN next_state <= green_red; ELSE next_state <=red_yellow; END IF; END CASE; END PROCESS;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本目标:确 定基本功能
目标设计分析
阶段目标:确 定划分阶段
可能目标:分析 未来可能增加的 功能
ASIC计划:确定 是否转ASIC,什 么时候转ASIC
限制条件: 技术的先进性和可行性、经费、开发 时间、可获得的资料等
如何 将系统 划 分为 一组相 对 独立 又相互 联 系的模块
模块之间有哪 些数据流和控 制流信息
如何有规则地 控制各模块交 互作用
如何评价模块 结构的质量
期望的目标: 功能、易理解性、可靠性、易 维护性等
模块技术(系统设计)
系统模块结构的方法
A4 B4 A3 B3 A2 B2 A1 B1
COUT = C4
FA
C3
FA
C2
FA
C1
FA
Cin
S4
S3 S2 四位并行加法器
S1
迭代技术
二维迭代网络
前面介绍的都是利用子网络作为基本单元,在时间或空间意义上重 复构成的一维迭代网络。 也可以利用基本单元构成二维或多维网络。二维迭代网络可以用多 种方法构成:
Ar-1 ……
累加寄存器A
A2 A1 A0
Qrபைடு நூலகம்1 ……
加命令
Q2 Q1 Q0
乘数寄存器Q 控制器 右移命令
可控全加器
Mr-1 ……
M2 M1 M0
被乘数寄存器M
例:乘法器设计
方案2:时间迭代-部分和右移 与部分积累加算法
优点:寄存器利用率高。
例:乘法器设计
经比较,决定采用下面的系统结构图:
A Q
… …
单位1
单位2
…
y1j y2j
y1,j+1 y2,j+1
边 界 输出到 输 j+1级 入 的二次 输出
单位n
…
…
…
X1j X2j
……
Xnj
边 界 输 出
迭代技术
时间迭代网络基本模型 子网络在时钟控制下,接收来自信息寄存器A,...E通过移位的串行输入,
在子网络内作串行处理后,串行输出到结果寄存器R1 ,…Rn 。 暂存单元C用于寄存子网络的二次输出,以便在时钟的下一个节拍作为子 网络的二次输入参加运算和操作。暂存单元C对应空间迭代方式中的边界输入。
A7 A6 A5 A4 A3 A2 A1 A0
加命令
Q7 Q6 Q5 Q4
右移命令
可控全加器
控制器
M7 M6 M5 M4 M3 M2 M1 M0
被乘数寄存器M
左移命令
例:乘法器设计
方案2:时间迭代-部分积左移累加算法
优点:直观 缺点:寄存器利用率低
例:乘法器设计
方案2:时间迭代-部分和右移与部分积累加算法
性能级 系统设计
功能级
逻辑设计
结构级
物理设计
物理级
总结
模块技术
模块化技术就是将系统总的功能分解成若干个 子功能,通过仔细定义和描述的子系统来实现 相应子功能。
迭代技术
时间意义上的迭代 空间意义上的迭代 二维迭代网络
可编程专用芯片设计
专用芯片的设计要求:
为了将产品推出市场,必须保证产品符合一定的设 计要求。 满足客户 基本需要
迭代也可以是空间意义上的迭代,即由简单的逻辑子网络重复组合,
以并行处理方式完成复杂网络的功能 当然,也可以是时间迭代和空间迭代的组合。
迭代技术
空间迭代网络基本模型 由于迭代网络是结构高度重复的组合逻辑网络,所以有可能利用结构相同的子 网络作为单元电路,通过适当的串接来形成所要求的结构,以达到空间意义上的 迭代。下图(左), 示出了单元电路的一般形式。 单元电路通常有两种不同类型的输入,即来自外部的一次输入和来自串接链路
READ S1 + S2 CR Q T0 CLR S3 D Q T1 STCP STC
串行数据接收器控制器逻辑图
串行数据接收器
物理级设计:
系统布局、布线、PCB、组装、调试等(略) 至此,我们完成了串行数据接收器的整个设计工作。由于 其本身功能就不复杂,所以其设计工作不太复杂。用VHDL 可以轻松的简化设计过程(当然,设计思路仍然是自顶而 下的设计方法和模块划分),使设计过程尽可能脱离硬件。 具体程序见教材P127给出的VHDL实现。
设计举例:串行数据接收器
详述串行数据接收器的设计过程
设计举例:迭代技术
从逻辑设计转换成电路实现的物理设计过程当中,迭代是一类很有用 的技术。
数字系统层次化结构
数字系统设计过程可以分为四个层次:
性能级
1. 性能级 2. 功能级 3. 结构级 4. 物理级
系统设计:将性能级的说明映射为功能 级的设计过程 逻辑设计:将功能级的描述转换为结构 (逻辑)的过程 物理设计:将逻辑结构转换为物理级 (电路)的实现
T3280
8
FE
S3
串行数据接收器数据处理器逻辑图
例:串行数据接收器
逻辑级设计:(B) 控制器 1.根据系统功能画控制器的 ASM图(右图):
T0 0 0 S1
2.求控制器逻辑表达式 和控制信号表达式如下:
CLR T1 1
S2
0 READ
1
S3
1 STCP
0
STC
例:串行数据接收器
3.画出控制器的逻辑图:
例:串行数据接收器
画出数据处理器逻辑图:
S1
Z(MS B) 4 x
Q0 ~ Q3 Dsr
MA T1194 MB
Z(LSB)
4
Q 0 ~ Q3 Q3 Dsr
MA T1194 MB
Q3
READ
S2 S2 S1 QD
T1163
Q
Cr
T1190
Q K
Q J
T1190
Q K
J
+
STCP STC CL R
x z
构思数据处理器功能 部件 列出控制器应输出的 控制信号 列出数据处理器应输 出的状态信号
起始信号,收到8位,奇偶误差
例:串行数据接收器
根据上面的分析,可以得到系统的结构框图如下:
虚线框内对应的是 数据处理器
CNT
R
C
P
X
组合电路
Z
数据处理器反馈给控制器的信号: 起始信号、已收到8为数据、有奇 偶误差
前级的二次输入。同样输出也有两类,即直接输出到外部的一次输出和输出到串
接链路次级的二次输出。二次输入和二次输出是建立子网络之间联系的纽带。
一次输入 网络输入
…
…
…
…
…
来自j-1 级的二次 输入
第j个子网络
Z1j Z2j
ym j
……
一次输出
…
ym ,j+1
网络输出
Znj
空间网络迭代基本模型
…
… …
… …
a8
a8
a4
a2
a1 b1
B
a4 a2
B
a1
B
B
0
b2
B B B B
0
a8
a4
a2
a1
b3
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
S
T
控制器
控制器应该输出的信号: 清零信号、移位信号、计 数器控制信号、触发器P和 触发器C置1置0信号。
例:串行数据接收器
逻辑级设计:(A) 处理器
设计和选择各功能部件: 右移移位寄存器 74194 计数器 74163 触发器 741109 奇偶校验电路 743280
定义处理器状态信号, 列出状态变量表 设处理器的输出状态信息为S1(起始位),S2(已收到8位),S3(有奇偶误差), 如表:
可用的产品
设计规范
稳定可靠
可维护和可继承, 便于改进和升级
可移植性,便于 技术经验共享, 加快设计进度
可编程专用芯片设计
设计目标分析 功能模块划分
可编程ASIC设计最 基本的流程是:
确定关键电路时 序和模块间接口 时序 具体电路设计 设计验证
可编程专用芯片设计
设计目标分析:
主要目的是确定芯片的功能需求,一般应按照产品 的发展计划,将目标分若干步骤来实现。
COUT = C4
FA
C3
FA
C2
FA
C1
FA
Cin
S4
S3 S2 四位并行加法器
S1
例:4位二进制加法器迭 代网络设计
实现2:下图是通过时间迭代法实现的4位串行加法器。 分 析:该网络在时钟的控制下,从两个移位寄存器A和B的低位端串行输 出一位加数和被加数,在全加器FA中生成相应的和及进位,和作 为结果存入S寄存器,进位则由D触发器寄存作为高一位的二次输 入 。D触发器的初置值为0,其终值表示了溢出标志。
系统设计
功能级
逻辑设计
结构级
物理设计 物理级
数字系统层次化结构
性能级: 功能级: 要求开发 系统“做什么” 把系统划分为若干子系 这个问题 统