第8章 数字系统设计基础
第8章 PLD设计
程,FPGA主要通过改变内部连线的布线来编程。
第8章 PLD设计
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
二、PLD 99的特点
PLD 99包含三个专为PLD设计工作定制
的EDA/Client服务器: 文本专家——具有语法意识的文本编辑 器。 PLD——用来编译和仿真设计结果。
8.1.1 PLD器件概述 数字集成电路从逻辑功能上可分为通用型和专用 型两类,我们所熟悉的TTL系列、CMOS系列都属于 通用型数字集成电路,通用型数字集成电路逻辑功能 简单,输入输出逻辑关系固定不变,从理论上讲通用 型数字集成电路也可以组成任意复杂的数字电路系统。 但是将所设计的数字电路系统做成大规模集成电路, 则可进一步缩小电路的体积、重量和功耗,而且会使 可靠性大为提高,这种为专门用途而设计的集成电路 称为专用集成电路,即所谓ASIC(Application Specific Integrated Circuit)。
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
一、CUPL语言概述
1. 变量
变量是由一串阿拉伯字符组成的。它被用来标示逻辑器件的 管脚,定义内部节点、常量、输入输出信号名和一些临时的信号名 等等。 定义一变量时,需依照如下的一些规则: 1)变量名中可以有数字、字符和下划线等,但至少有一个字符。 2)变量名区分大小写。
Wave——用来观察仿真波形。
第8章 PLD设计
三、PLD的一般设计过程
1)明确设计目的 了解所需要进行的设计,牢记
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
这次设计可用的布尔表达式、状态机和真值表。明确 哪种类型最适合这次设计。 2)创建源文件 一是使用PLD库元件来绘制PLD
数字系统设计简介
11.1.1 数字系统的基本结构 我们通常将门、触发器称为逻辑器件; 我们通常将门、触发器称为逻辑器件;而将由逻 逻辑器件 辑器件构成、且能执行某个单一功能的电路,如计数 辑器件构成、且能执行某个单一功能的电路, 译码器、加法器、寄存器、存储器等称为逻辑功 器、译码器、加法器、寄存器、存储器等称为逻辑功 能部件;那么数字系统又是如何定义的呢? 能部件;那么数字系统又是如何定义的呢? 数字系统:是对数字信息进行存储、传输、 数字系统:是对数字信息进行存储、传输、处理 的电子系统。它可划分成控制器 数据处理器两部分 控制器和 两部分, 的电子系统。它可划分成控制器和数据处理器两部分, 数据处理器也简称处理器或受控器 控制器的任务: 受控器。 数据处理器也简称处理器或受控器。控制器的任务: 发出控制命令( ),控制系统内部各个部 发出控制命令(控制信号T),控制系统内部各个部 分协同工作,它提供一系列控制信号,去激励处理器 分协同工作,它提供一系列控制信号, 实现全部操作; 实现全部操作;
11.1.3 异步信号的同步化 异步信号:系统之外的、 异步信号:系统之外的、与系统时钟无关的外部随机 信号。为保证系统的正常工作, 信号。为保证系统的正常工作,应将异步信号转换为 同步信号。 同步信号。
异步输入 & Q D QD QD & CP CP (去控制器) 同步输入 异步输入 Q QD
11.2
2. 设计步骤 自上而下的设计方法就是从整体到局部, 自上而下的设计方法就是从整体到局部, 最后到细节。开始时, 最后到细节。开始时,先要明确设计总体 任务,确定设计目标, 任务,确定设计目标,然后把总体任务分 成一个个子任务, 成一个个子任务,并分析子任务之间的关 系,最后拟订各子任务的细节问题。它是 最后拟订各子任务的细节问题。 从总体到局部的一种优化设计方法。 从总体到局部的一种优化设计方法。
数字系统设计课程设计
数字系统设计课程设计一、课程目标知识目标:1. 理解数字系统设计的基本原理和概念,包括数字逻辑、组合逻辑和时序逻辑;2. 掌握数字电路的基本组成元素,如逻辑门、触发器、计数器等;3. 学会使用硬件描述语言(如Verilog、VHDL)进行数字系统的设计和描述;4. 了解数字系统的测试和验证方法。
技能目标:1. 能够运用所学知识,设计简单的数字系统,如加法器、寄存器、状态机等;2. 能够使用硬件描述语言编写代码,实现数字系统的功能;3. 能够对设计的数字系统进行功能仿真和时序分析;4. 能够运用调试工具和仪器对数字系统进行测试和调试。
情感态度价值观目标:1. 培养学生的团队合作意识和沟通能力,学会与他人共同解决问题;2. 培养学生的创新意识和实践能力,敢于尝试新方法,善于发现和解决问题;3. 增强学生的工程素养,使其认识到数字系统设计在实际应用中的重要性;4. 培养学生严谨、细致的学习态度,注重细节,追求高质量的设计成果。
本课程针对高年级学生,课程性质为理论与实践相结合。
通过本课程的学习,使学生能够掌握数字系统设计的基本方法和技能,培养其创新意识和工程实践能力。
在教学过程中,注重学生的主体地位,鼓励学生积极参与讨论和实践,提高其分析问题和解决问题的能力。
课程目标的设定旨在使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续相关课程的学习和实际工程应用打下坚实基础。
二、教学内容1. 数字系统设计基础- 数字逻辑与数字电路基本概念- 常用逻辑门电路及其功能- 数字电路的布尔代数与逻辑化简2. 组合逻辑设计- 组合逻辑电路的分析与设计方法- 常用组合逻辑电路(如编码器、译码器、多路选择器等)- 竞争与冒险现象及其解决方法3. 时序逻辑设计- 时序逻辑电路的特点与基本组成- 触发器类型及其功能- 同步与异步时序电路的设计方法4. 硬件描述语言- Verilog/VHDL基本语法与结构- 数字系统设计实例及代码编写- 仿真与调试方法5. 数字系统测试与验证- 功能仿真与时序分析- 数字系统的测试方法与测试向量生成- FPGA器件及实验板使用6. 数字系统设计实践- 设计简单的数字系统(如加法器、寄存器等)- 项目实践与团队协作- 设计报告撰写与成果展示教学内容按照教学大纲的安排,从基础理论到实践应用,循序渐进地展开。
数字系统设计.pdf
PLD设计——CPLD与FPGA的区别
规模
CPLD规模一般比FPGA小,最多512个宏单元;FPGA则可以实现单片 1000万门。
速度
CPLD的速度可以比FPGA更高,其连线的延时固定,更适合做高速的应 用;FPGA的互连线为多段,延时不确定。
逻辑特点 CPLD适合做逻辑密集型的应用,FPGA适合做数据密集型的应用。 编程方式
ALTERA
XILINX
FPGA/CPLD生产商
ispLSI系列:1K、2K、3K、5K、8K ispLSI1016 、ispLSI2032、 ispLSI1032E、ispLSI3256A MACH系列 ispPAC系列:
LATTICE VANTIS (AMD)
CPLD
其他PLD公司: ACTEL公司: ACT1/2/3、40MX ATMEL公司:ATF1500AS系列、40MX CYPRESS公司 QUIKLOGIC公司
数字系统分类
数字系统本身实现的方法很多,一般来说,可以分为 以下几种方法: PLD(可编程逻辑器件) MCU(单片机) DSP(数字信号处理器) Embedded System(嵌入式系统) 以上几种设计方法的应用场合不同,设计方法也大 不相同,应该根据不同的应用场合、成本和设计的 难度来决定使用合适的设计方法。
SO MUCH IC!
FPGA CPLD
PLD设计——PLD设计的流程
设计输入
原理图 硬件设计语言
功能仿真
验证逻辑是否正确
综合
将原理图或者硬件描述语言翻译为网表。
时序仿真
加载器件延时文件后的仿真,验证在器 件上实现后的实际性能。
不同数字系统的应用场合(4)
Embedded System(嵌入式系统)
数字系统设计原理和方法
论述数字系统设计的原理和方法一、数字系统原理数字系统,即有一些逻辑单元构成的具备数字运算和逻辑处理的一类算术系统,完成对数字量进行算术运算和逻辑运算的电路称为数字电路。
用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。
由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。
数字电路一般分为组合逻辑电路和时序逻辑电路。
组合逻辑电路简称组合电路,它由最基本的的逻辑门电路组合而成。
特点是:输出值只与当时的输入值有关,即输出惟一地由当时的输入值决定。
电路没有记忆功能,输出状态随着输入状态的变化而变化,类似于电阻性电路,如加法器、译码器、编码器、数据选择器等都属于此类。
时序逻辑电路简称时序电路,它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。
时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关。
它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、移位寄存器、储存器等电路都是时序电路的典型器件。
数字电路是以二进制逻辑代数为数学基础,使用二进制数字信号,既能进行算术运算又能方便地进行逻辑运算(与、或、非、判断、比较、处理等),因此极其适合于运算、比较、存储、传输、控制、决策等应用。
以二进制作为基础的数字逻辑电路,简单可靠,准确性高。
集成度高,体积小,功耗低是数字电路突出的优点之一。
电路的设计、维修、维护灵活方便,随着集成电路技术的高速发展,数字逻辑电路的集成度越来越高,集成电路块的功能随着小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)、超大规模集成电路(VLSI)的发展也从元件级、器件级、部件级、板卡级上升到系统级。
电路的设计组成只需采用一些标准的集成电路块单元连接而成。
对于非标准的特殊电路还可以使用可编程序逻辑阵列电路,通过编程的方法实现任意的逻辑功能。
数字系统设计基本方法
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) 水平结构
数字系统设计方法
第8章数字系统设计基础PPT课件
1. 加法器:74283
2. M,Q,A:寄存器 型号 74194 位数:4
3. C:D 触发器
4. CNT:计数器 型号 74163 功能:清0,计数
功能:
3.ASM 图 控制信号 S1:启动信号 S2:寄存器 Q 的 Q0 位 S3:计数器的溢出信号
4. 控制器
CLR、ADD 和 SHIFT 作 为对处理器发出的命令
当乘数的第 i 位为 0 时,第 i 位的部分积为被乘数左移 i–1 位。
【例1】
【例 1】 的M:被乘数寄存器 Q:乘数寄存器 A:累加器 C:进位寄存器 CNT:计数器
CAQ串联得到 2 r +1位的右移 位寄存器
算法:被乘数不动,部 分积之和向右移动。
5. 处理器的实现的实现(以4×4为例) 操作表
寄存器 M 控制用手动开关,寄存器 Q 的 M1 控制用手动开关
操作函数 从处理器操作表得: 寄存器A:M1=ADD + CLR;M0=ADD + CLR + SHIFT
与门G2:B1= CLR 与门G1:B0 = ADD 寄存器Q:M0 = SHIFT 计数器 CNT:CR = CLR;SH = SHIFT
8.4.1 简单计算机构成 1. 功能:(1)加法运算,(2)数据存取,(3)手动输入程序 2. 存储器:存储容量 268RAM;地址 6位;数据线 8位 3. CPU:4条指令:存数、加法、取数、条件转移。
4、计算机逻辑图
说明:(1)当k=1时,运行程序; (2)当k=0时,手动输入程序和数据到RAM中。 (3)当reset 端输入一个负脉冲时,程序开始运行。
8.4.2 CPU设计
1、基本设想: (1).IR为指令寄存器
数字系统设计基础
X
组合电路
Z
R←0
T3
010
AA+1
CLRA CLRR
E
INCA
控制器
CP1 E=1 发CLRA E=0 发CLRA
CP2
CP3
A0 发CLRR R0 发INCA
A0 发INCA AA+1
数字系统设计基础
(3) ASM图与控制器状态转移图的关系;
T1 001
A←A+1
0
1
E
0F 1
R←0
E F/INCA CLR
数字系统设计基础
T0 初态
0 S 1
A←0,F←0
E←1,F←1
T1 A←A+1
0
1
A3
E←1
E←0
A4 0
1
图 12.3.114 例12.3.3 ASM图
数字系统设计基础
A4
A3
A2
A1
E
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
数字系统设计基础
F 条件 状态 0 0 0 T1 0 0 0 T1 0 0 0 T1
数字系统设计基础
数字系统设计基础
三、算法状态机图(ASM图) 1.作用 严格按系统时序来描述系统的工作过程。 2.ASM图符号 (1)状态框 (2)条件框 (3)判断框
数字系统设计基础
(1)状态框
符号 二进制代码 寄存器操作
或输出
T3 011
R←0 START
(a)状态框
(b)实例
图12.3.7 状态框
状态框中的操作通常用RTL语言表示,若用助记符 代替,则该助记符是控制器发出的控制命令。
ch81数字系统设计PPT课件
(b)
12
数字系统设计
16 15 14 13 12 11 10 9 VDD f g a b c d e
CD4511 B C LT BI LE D A VSS 12 3 4 5 6 7 8
(a)
输入
显示
LE BI LT D C B A
L H H LLLL
0
L H H L L LH
1
L H H L LHL
输出低电平电流
VIH(min) VIL(max) VOH(min) VOL(max) IIH(max) IIL(max) IOH(max)
IOL(max)
传输延迟时间
tpd
2V 0.8V 2.7V 0.5V 20μA -0.4mA 0.4mA -8mA
15nS
3.5V 1.5V 4.6V 0.05V 0.1μA -0.1μA 0.51 mA
T
1 0 1- 03
R 12R 2C 1ln 20. 3 1- 3 0 6 0 .74k Ω 3
取R2=15kΩ,则R1=13kΩ,由9.1kΩ 固定电阻和10kΩ可变电阻组成。
7
数字系统设计
分频电路
16 15 14 13 12 11 10 9 VDD CR CP1NH CO Q9 Q4 Q8
CD4017 Q5 Q1 Q0 Q2 Q6 Q7 Q3 VSS 12 3 4 56 7 8
CD4518 1CP 1EN 1Q0 1Q1 1Q2 1Q3 1CR VSS 12 3 45 6 7 8
个位计数器输出
10Hz信号输入
清零信号输入
11
数字系统设计
g f COM a b 10 9 8 7 6
a
数字系统设计的基础知识
05
数字系统的测试与验证
测试策略与技术
单元测试
对数字系统的各个模块进行独立测试,确保 每个模块的功能正常。
系统测试
对整个数字系统进行测试,确保系统满足设 计要求和功能需求。
集成测试
将各个模块组合在一起进行测试,确保模块 之间的接口正常工作。
验收测试
在数字系统交付之前,对系统进行全面测试, 确保系统能够满足用户需求。
案例分析:数字钟的设计需要高精度的计时和稳定的时钟源。石英晶体振荡器的选择对数字钟的准确性 和稳定性至关重要。此外,数字钟还需要考虑功耗和尺寸,以便于在各种应用场景中实现。
案例三:数字信号处理系统的设计
01
总结词:高效灵活
02
详细描述:数字信号处理系统是一种用于处理和分析信号 的数字系统。它通常由输入预处理电路、数字信号处理器 和输出后处理电路组成。数字信号处理器执行信号的滤波 、频谱分析、去噪等处理操作。
数字系统的发展历程
电子管时代
20世纪初,电子管作为数字系统的基 本元件,实现了计算机的初步发展。
02
晶体管时代
20世纪50年代,晶体管取代电子管成 为数字系统的基本元件,推动了计算 机小型化、便携化的发展。
01
互联网时代
21世纪初,互联网技术的普及和发展, 使得数字系统在信息传输和处理方面 发挥着越来越重要的作用。
03
的计数器用于控制指令的执行顺序。
存储器
存储器是数字系统中用于存储大量二进制数据的元件。
存储器由多个存储单元组成,每个存储单元可以存储一个二进制位。
存储器可以分为随机存取存储器(RAM)和只读存储器(ROM)等类型,在计算 机和其他数字系统中有着广泛的应用,如计算机的内存和硬盘等。
数字系统设计基础-桂林电子科技大学--多媒体课件中心共27页PPT资料
-Verilog
门级/结构级
-Verilog
版图/物理级
-几何图形
行为综合 综合前仿真 逻辑综合 综合后仿真
版图
Verilog设计在抽象级上需要进行折衷
输入/仿真速度 高
系统说明/行为级
-设计文档/算术描述
详细程度 低
RTL/功能级
-Verilog
门级/结构级
-Verilog
低
版图/物理级
寄存器、运算、 布尔方程、二元决策图、有限状
变换
态机
逻辑门、器件 (晶体管)
原理图
晶体管、R,L,C 等
电压、电流的微分方程
几何图形
Verilog既是一种行为描述的语言也是一种结构描述语言。 Verilog模型可以是实际电路的不同层次的抽象,一般分 为四个抽象级:
系统说明/行为级
-设计文档/算术描述
数字系统设计基础
主讲:谢跃雷 (讲师)
Verilog部分
介绍Verilog HDL, 内容包括:
Verilog应用 Verilog语言的构成元素 结构级描述及仿真 行为级描述及仿真 延时的特点及说明 介绍Verilog testbench
激励和控制和描述 结果的产生及验证
1.1 Verilog 概述
1.Verilog的历史
Verilog HDL是在1983年由GDA(GateWay Design Automation)公司 的Phil Moorby所创。Phi Moorby后来成为Verilog-XL的主要设计者 和Cadence公司的第一个合伙人。
在1984~1985年间,Moorby设计出了第一个Verilog-XL的仿真器。 1986年,Moorby提出了用于快速门级仿真的XL算法。 1990年,Cadence公司收购了GDA公司 1991年,Cadence公司公开发表Verilog语言,成立了OVI(Open
计算机控制技术第8章数字控制器的设计
动态性能指标
包括超调量、调节时间、上升时间等,用于 评价系统动态响应特性。
稳定性指标
通过相平面法、劳斯判据等方法判断系统稳 定性,确保系统安全可靠。
鲁棒性指标
考察系统对参数摄动、外部干扰的敏感程度, 评价系统鲁棒性。
仿真验证方法介绍
MATLAB/Simulink仿真
01
利用MATLAB提供的强大计算功能和Simulink的图形
Z变换法
在复平面上分析离散时间系统的稳定性和频响特性,便于数字控 制器的设计和分析。
离散状态空间法
将连续状态空间模型转换为离散状态空间模型,适用于数字控பைடு நூலகம் 器的设计和实现。
稳定性分析方法
01
劳斯判据
通过系统特征方程的系数判断系 统的稳定性,适用于线性定常系 统。
02
奈奎斯特判据
在复平面上分析系统开环频率响 应特性,判断闭环系统的稳定性。
控制器结构类型(如自适应结构),接着进行控制器参数设计,最后通过仿真验证评估控制器的性能。根据仿 真结果,对控制器进行必要的调整和优化,以满足导弹飞行控制系统的性能指标要求。
04
数字控制器实现技术
硬件实现方式及选型建议
常用硬件实现方式
包括微处理器(MCU)、数字信号处 理器(DSP)、可编程逻辑控制器 (PLC)等。
06
总结与展望
关键知识点回顾
数字控制器的基本概念和原理
包括数字控制器的定义、组成、工作原理等基本概念和原理。
数字控制器的设计方法
详细介绍了数字控制器的设计方法,包括模拟化设计法、直接设计法 和离散化设计法等。
数字控制器的性能指标
阐述了数字控制器的性能指标,如稳定性、快速性、准确性等,以及 这些指标对控制系统性能的影响。
数字系统设计
该系统看起来非常简单,但却无法用前面介绍的同步时序 电路设计方法进行设计。因为无论从接收序列的可能组合数还 是从收到“1”的个数来假设状态, 其状态图或状态表都十分庞 大。如果从接收序列的可能组合数来假设状态,则需要2 n个 状态;如果从当前接收到“1”的个数来假设状态,也需要n+1个 状态。 例如, n=255时, 分别需要设2255和256个状态,这样的 设计规模是无法想象的。 由此可见, 时序电路的设计方法的确 不适用于数字系统设计。
由此不难看出,在这种结构下,有无控制器就成为区分系统 级设备和功能部件级电路的一个重要标志。凡是有控制器且能按 照一定程序进行操作的, 不管其规模大小,均称为数字系统;凡 是没有控制器、不能按照一定程序进行操作的,不论其规模多大, 均不能作为一个独立的数字系统来对待,至多只能算一个子系统。 例如数字密码锁, 虽然仅由几片MSI器件构成, 但因其中有控制 电路,所以应该称之为数字系统。 而大容量存储器,尽管其规模 很大,存储容量可达数兆字节,但因其功能单一、无控制器,只 能称之为功能部件而不能称为系统。
一般来讲, 数据子系统通常为人们熟悉的各种功能电路, 无论是采用现成模块还是自行设计,都有一些固定的方法可循, 不用花费太多精力。 相对说来, 控制子系统的设计要复杂得多。 因此,人们往往认为数字系统设计的主要任务就是要设计一个 好的控制子系统。
经过上述四个步骤后,数字系统设计在理论上已经完成。 为了保证系统设计的正确性和可靠性,如果有条件的话,可以先 采用EDA软件对所设计的系统进行仿真,然后再用具体器件搭设 电路。 搭设电路时,一般按自底向上的顺序进行。 这样做, 不 仅有利于单个电路的调试,而且也有利于整个系统的联调。因此, 严格地讲, 数字系统设计的完整过程应该是“自顶向下设计, 自底向上集成”。
数字系统原理与设计
数字系统原理与设计
数字系统原理与设计是一个涵盖数字逻辑设计、数字电路分析、数字信号处理、计算机体系结构等领域的学科,通过对数字信号的处理和控制,实现对于数值问题的计算、控制和处理。
数字系统通常被用于计算机、通信、控制、测量、医疗等领域。
数字系统原理与设计包括以下内容:
1. 数字逻辑设计:包括布尔代数、逻辑门电路的设计和优化、数字电路设计的基本模块(译码器、多路选择器、计数器、寄存器等),以及数字系统的设计和实现。
2. 数字电路分析:包括基本逻辑门的分析、组合逻辑电路的分析、时序逻
辑电路的分析,以及用VHDL 或Verilog 设计数字电路的能力。
3. 数字信号处理:包括数字信号的采样、量化、编码、调制和解调、数字滤波器的设计和应用,以及数字信号处理器(DSP)的应用。
4. 计算机体系结构:包括计算机组成、指令集、管道、存储器层次结构、输入输出接口等方面的内容。
数字系统原理与设计涉及到很多概念、原理和技术,需要掌握一定的数学和物理知识,如布尔代数、逻辑函数、微电子学、信号处理等。
学习过程中需要掌握数字系统设计的方法与技巧,了解常用的数字IC、FPGA、DSP等芯片,通过实践设计和测试从而培养学生的实际操作能力和创新思维。
可编程数字系统设计基础
第七章 可编程数字系统设计基础在前面的章节里,我们所有的实验都是基于这样一个观点,即将一个数字系统划分成合适利用已有的中小规模数字集成电路的功能的模块,然后将这些集成电路通过外部引线连接起来。
从本章开始我们将研究用可编程逻辑器件(PLD/FPGA)来进行数字系统设计。
可编程逻辑器件是一种大规模的集成电路,其内部预置了大量易于实现各种逻辑函数的结构,同时还有一些用来保持信息或控制连接的特殊结构,这些保持的信息或连接确定了器件实现的实际逻辑功能,当改变这些信息或连接时器件的功能也将随之改变。
可编程逻辑器件的设计过程和传统的中小规模数字电路设计也不一样,可编程数字系统,无论是CPLD还是FPGA器件都需要利用软件工具来进行设计。
可编程数字系统设计总体上一般可以分为设计输入、项目处理、设计校验和器件编程这四个主要过程如图7.1.1所示。
在本章中我们将一个简单的模60BCD计数器为例,说明可编程数字系统设计的基本流程、概念和方法,掌握Quartus II软件的基本功能和操作,了解原理图输入方式的设计全过程。
7.1 设计项目输入7.1.1 概述设计输入是设计者对系统要实现的逻辑功能进行描述的过程。
设计输入有多种表达方式,常用的有原理图输入、硬件描述语言输入、网表输入以及混合输入这四种。
1、原理图输入:原理图设计输入方式是利用软件提供的各种原理图库,采用画图的方式进行设计输入。
这是一种最为简单和直观的输入方式。
原理图输入方式的效率比较低,一般只用于小规模系统设计,或用于在顶层拼接各个已设计完成的电路子模块。
2、硬件描述语言:这种设计输入方式是通过文本编辑器,用VHDL、Verilog或AHDL等硬件描述语言进行设计输入。
采用语言描述的优点是效率较高,结果容易仿真,信号观察方便,在不同的设计输入库之间转换方便,适用于大规模数字系统的设计。
但语言输入必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。
3、网表输入现代可编程数字系统设计工具都提供了和其它第三方EDA工具相连接的接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、控制器输出函数(组合电路)
C
T0 T1 T2 1 0 0 0 1 0 0 1 0 0 1 0
x2x1 00 01 10
A 1 1 1 0
B CO IR L T FA M CS R/W 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 1
8.4.2 CPU设计
1、基本设想: (1).IR为指令寄存器 (2). 如果所执行的指令操作不是 “条件转移”,则进入 PCPC+1 操作;如果是“条 件转移”,则判断 C=0 或 C=1 后再进入下一步。
(3).这是当前计算机的基本运行方 式,称为冯诺依曼计算机。
(4).其中“指令操作”部分可看成是一个完整的数字系统。
8.1.3 数字系统设计的一般过程
(一) 系统设计 1、设计问题:系统的任务、工作和要求。 2、初始结构: 系统的基本组成,单元和变量等。 3、算法: 系统的运行过程、流程图等。 (二) 逻辑设计 1、处理器设计 : (1) 处理器结构;(2) 处理器操作说明。
2、控制器设计 :
(1) 控制器的任务;(2) 控制器的结构。
§8.4 数字系统设计举例——简单计算机CPU逻辑设计
8.4.1 简单计算机构成 1. 功能:(1)加法运算,(2)数据存取,(3)手动输入程序 2. 存储器:存储容量 268RAM;地址 6位;数据线 8位 3. CPU:4条指令:存数、加法、取数、条件转移。 指令码
功能
存数 加法 取数 条件转移
(三) 电路设计
具体电路的实现
§8.2 算法状态机—ASM图表 算法状态机(ASM):数字系统控制过程的算法流程图,描 述系统操作和时间序列(①操作,②控制,③时间序列)。 8.2.1 ASM图表符号 1. 状态框:一个矩形框,在框内表示数据处理的操作。
左上角的“符号”为状态变量,右上角为状态的代码 。 进入一个状态,必须由 CLK触发
第8章 数字系统设计基础 数字系统:规模较大的时序电路 §8. 1 数字系统概述 8.1.1 数字系统的结构
8.1.2 数字系统的定时
(1) 同步数字系统: 系统只有一个时钟CLK 如图,可用一个门对CLK进行控制
(2) 输入信号转换成与时钟脉冲同步的信号
(3) 时钟脉冲应同时到达所有存储元件的动态输入端
助记符
SA AD LD JC
操作码x2x1
00 01 10 11
地址码
MA MA MA MA
操作
(MA)←A B←(MA) A←A+B A←(MA) C=1 PC←MA C=0 PC←PC+1
4、计算机逻辑图
说明:(1)当k=1时,运行程序; (2)当k=0时,手动输入程序和数据到RAM中。
(3)当reset 端输入一个负脉冲时,程序开始运行。
D2 T1 S 2 T1S 2 T1
控制器逻辑图
激励函数
D0 T0 S1 T2 S 3 D1 T0 S1 T2 S 3 D2 T1
输出函数 CLR = T0 S1 ADD = T1S2
SHIFT = T2
当Vcc为 0 时,T0= 1;T1= 0;T2= 0。当 Vcc为 1 时,启动工作。
【例8.2】
2. ASM块之间的时间关系
前后相邻的 ASM 块为“现态”和“次态”的 关系,以 CLK 触发沿为分界线。
3. ASM块的建立 1、在起点处安排一个初始状态。 2、用状态将不能同时进行的操作隔开。 3、根据寄存器操作的影响决定状态的设置。
§8.3 数字系统的设计 8.3.1 设计步骤 初始结构 处理器设计 操作表 操作函数 处理器逻辑图
0 1 1 1
0 0 1 0
寄存器 M 控制用手动开关,寄存器 Q 的 M1 控制用手动开关
操作函数
从处理器操作表得:
寄存器A:M1=ADD + CLR;M0=ADD + CLR + SHIFT
与门G2:B1= CLR
与门G1:B0 = ADD
寄存器Q:M0 = SHIFT 计数器 CNT:CR = CLR;SH = SHIFT
7、控制器的结构
其中MUX2是另一个数据选择器,用于实现输入程 序和数据时的操作。
CLR、ADD 和 SHIFT 作 为对处理器发出的命令
5. 处理器的实现(以4×4为例)
操作表 A 控制信号 M1 M0 G2 B1 G1 B0 Q M0 CNT CR SH
操作
清零 加法 移位计数 空
CLR ADD SHIFT NOP
1 1 0 0
1 1 1 0
0 1 1 1
0 1 0 0
0 0 1 0
当乘数的第 i 位为1时,第 i 位的部分积为被乘数左移 i–1 位。
【例1】
【例 1】 的计算过程
M=1010; Q=1101
2. 初始结构
M:被乘数寄存器 Q:乘数寄存器
A:累加器
C:进位寄存器 CNT:计数器 CAQ串联得到 2 r +1位的右移 位寄存器 算法:被乘数不动,部 分积之和向右移动。
处理器
6. 控制器的实现 用每态一个触发器的方法( 以44乘法器为例) 控制器有3个状态,故取3个D触发 器,3个激励变量为 D0D1D2;由 ASM 图得: 激励函数 输出函数 CLR = T0 S1 ADD = T1S2 SHIFT = T2
D0 T0 S1 T2 S3
D1控制信号 输出信号 输出函数 控制器逻辑图
8.3.2 数字系统设计举例——数字乘法器的设计 1. 算法:设乘数和被乘数的位数 ≤ r (1) 两个 r 位的数相乘,积的位数最大为 2r 位。 (2) 积 = r 个“部分积”之和。 (3) 当乘数的第 i 位为 0 时,第 i 位的部分积为0。
1 1 1 0 1
1 1 0 1 1
1 1 1 1 1
0 1 1 1 1 0 1 1 1 1 1 0 1 1 0
1 0 1 1 1
0 1 1 1 1
0 0 0 0 1
1 0 1 1
B←(MA)
A←(MA) PC←PC+1 PC←PC+1 PC←IR (D5-D0) A←A+B PC←PC+1
x 2 x1 C
x2 x1
1
0
1
1
1
0
1 0 1
1 1 0
1
0
1
1
1
1
4、ASM图
5、控制器时序逻辑图
用每态一个触发器的方法设计控制器, 则由ASM图得激励函数:
D 0 T1 ( x2 x1 x2 x1 x2 x1 ) T2 T1 ( x1 x2 ) T2 T1 x1 x2 T2 D1 T0 D 2 T1 x2 x1
0 1
0 1 0 0 1 0 0 0 1
11 11 01
1 1 0
1 1 1
1 1 0
1 1 1
1 0 0 1 1 0
1 1 0
1 1 1
1 1 1
输出函数
A T1 x2 x1 T2 B T1 x2 x1 CO T2 IR T0 L T1 x2 x1C T T1 ( x2 x1 x2 x1 x2 x1C ) T2 T1 ( x1 x2 C ) T2 FA T1 x2 x1 T2 M T0 CS T0 T1 ( x2 x1 x2 x1 x2 x1 ) T0 T1 x2 x1 R W T1 x2 x1
2. 判断框
用菱形或多菱角形表示,框内的判断量来自外部 输入或内部状态,用于决定流程的转变方向。
状态框与判断框组合 p1 = T1X1 控制函数 p2 = T1X1X2 p3 = T1X1X2
3、操作框 (条件框) 圆角形框,仅表示一种处理器操作
操作框的入口只能是判断框的某个分支
8.2.2 ASM图表含义 1. ASM块 ASM块:在同一个状态 下所有的判断和操作构 成的部分。
1. 加法器:74283 功能: 2. M,Q,A:寄存器 型号 74194 位数:4 3. C:D 触发器 4. CNT:计数器 型号 74163 功能:清0,计数 M1 M0 0 0 0 1 功能 保持 右移
1 0
1 1
左移
并入
3.ASM 图 控制信号 S1:启动信号 S2:寄存器 Q 的 Q0 位 S3:计数器的溢出信号 4. 控制器
2、CPU的内部构成(处理器)
其中MUX1是一个数据选择器,C是加法进位寄存器, 程序计数器PC具有计数、清零和并入的功能。
3、处理器操作表
操 作 T0 取指令 IR←M(PC) 存数 加法1 T1 取数 条件 转移 T2 加法2 (MA)←A PC←PC+1 x2 x1 x2 x1 x2 x1 x 2 x1 C 操作码 A B CO IR L T FA M CS R/W