8学时FPGA(新教材2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/9/29
(P)
00
Z=1
(Q)
01

Z=1
0 X1X2 1
形 发 生
(R)
11

0
X2
1 X2
0
(S)
2020/9/29
1 Z=1
10
ASM图的硬件实现
• 传统方法:
– 状态编码; – 选触发器; – 由ASM图导出状态转换表; – 由状态转换表写出触发器驱动方程; – 由ASM图得出输出方程;
2020/9/29
用传统法实现下ASM图
(P)
00
1、编码分配的不同,只
Z1
影响组合电路的繁简程度, 不影响电路的可实现性。
(Q)
11
1 X
0
2、一般情况下,选用JK 触发器比选用D触发器的 组合电路简单。
Z2
(R)
10
2020/9/29
3、由ASM图导出状态转换表
现态
Q2
Q1
X
0
0
0
0
0
1
0
1
2020/9/29
(HG)
00
HL :绿
FL : 红
0 TG·CR
1
SM·TM
(HY)
01
HL :黄 FL : 红
TY
a
SM·TM
2020/9/29
b
a (FG)
b
11
FL : 绿 HL :红
1
TG
0
CR
1
0
SM·TM
(FY)
10
FL : 黄 HL :红
a TY
0
1
SM·TM
例题 波形发生器的设计
2020/9/29
该状态 的二进 101 制编码
IN←X AC←0 ST=1
状态框内的动作均应
000
在相应该状态时钟结束时 (P)
或结束前完成。还可在该
状态期间由需要定义其它 输出。
(Q)
001
ASM图内蕴涵着时间 (R)
010
序列,并且状态的改变是
在时钟控制下实现的。
1 CP
0
2020/9/29
2020/9/29
三、Quartus Ⅱ软件的安装
该软件按使用的平台分为PC机版和工作站 版,按使用对象分为商业版、基本和学生版。
特别指出:
①学生版软件只能使用两种芯片, EPF7128 SPLCC 84-7、 FLEX10K20TQFP240-4
2020/9/29
②安装学生版需向ALTERA公司申请一个 授权码,申请授权码的网址为: / 发出申请后24小时内即可得到达复。
2020/9/29
2、分析设计要求
干线绿灯优先,通常亮,故无需传感器。 支线设置传感器CR,支线有车时CR =1。
假设:两种绿灯亮的时间相同,两种黄灯亮的 时间也相同。
设一定时器:其起动信号为SMTM,定时 器起动后,它将输出在时间上互不重叠反相 的两个信号TG和TY。
3、控制算法描述
ASM图应有四个状态:
2020/9/29
二、Quartus Ⅱ的新特点
• Quartus Ⅱ可以通过DSP Builder工具 与Matlab/Simulink相结合,实现DSP的 应用;
• 支持Altera的片上可编程系统(SOPC) 开发,集系统级设计,嵌入式软件开发 ,可编程逻辑设计于一体,为一种综合 性开发平台。
2020/9/29
HG——干线绿灯亮(支线红灯亮)
HY——干线黄灯亮(支线红灯亮)
FG——支线绿灯亮(干线红灯亮) FY——支线黄灯亮(干线红灯亮)
分析:在HG,若支线有车,且干绿灯已亮30s 则,先由HG → HY → FG。
在FG,若支线无车,或支线绿灯亮已达 30s,则,FG → FY → HG。在每个状态,应 检测外输入TG或TY。另外每进入一个状态,必 起动定时器。
X
1
0
ቤተ መጻሕፍቲ ባይዱ
X
1
1
X
2020/9/29
次态
Q2(n+1) Q1(n+1)
1
0
1
1
0
0
0
0
0
0
4、根据状态表写出触发器的驱动方程
Q2n1D2Q2Q 1XQ2Q 1XQ2Q 1 Q 1n1D 1Q2Q 1X
5、由ASM图还可得到输出方程
2020/9/29
Z1 (P) Q2Q1 Z2 (P)X Q2Q1X
做出逻辑图:
2020/9/29
2、与结构无关
Quartus Ⅱ系统的核心Complier支持 Altera公司全系列的可编程器件。 3、多平台
Quartus Ⅱ软件可在基于486、奔腾PC机的 Windows NT、Windows 95、Windows 98下运 行,也可在工作站上运行。
4、完全集成化
Quartus Ⅱ的设计输入、处理与校验功能全部 集成在统一的开发环境下。
2020/9/29
《数子系统一般框图》
输入信号
处理器
输出信号
控制信号
状态信号
控制器实际上就是一个状态发 生外器输,入它是一控个制时器序电路,其外任输务出 控就制是信产号生控制信号序列。 控制信号
2020/9/29
数字系统设计方法要领
• ASM图法描述系统不是唯一的,应选择最 佳的方案。
• 处理器的设计——了解被控对象,根据 ASM图确定处理器所需的功能部件(如寄 存器、计数器、运算器等)及它们之间的 数据通道;确定各功能部件所要求的控制 信号及处理器产生的状态信号。
得到授权码后,按软件指示操作即可。
2020/9/29
§3.2 Quartus Ⅱ设计过程
一、通用设计流程
设计要求
系统产品
设计输入
设计修改
在线校验
设计编译
功能仿真
2020/9/29
时序仿真
器件编程
二、Quartus Ⅱ软件的组成
设计输入
编译项器网目编数译据库
文本编 图形编
表提取器 建库器
辑器
辑器
逻辑综
第三章 QuartusⅡ开发工具
• §3.1 Quartus Ⅱ简介 • §3.2 Quartus Ⅱ设计过程 • §3.3 VHDL设计实例
ALTERA公司的专用开发工具
2020/9/29
§3.1 Quartus Ⅱ简介
一、Quartus Ⅱ的特点
1、开放的界面
Quartus Ⅱ软件可与其它工业标准的设计 输入、综合与校验相连接。目前, QuartusⅡ 支持与Cadence、Mentor Graphics、Synplicity、 Viewlogic等其它公司所提供的EDA工具的接口。
③条件输出框
(P) Z1 (Q) 1 X 0 Z2
(R)
2020/9/29
在某些状态下的输出
命令只有在一定条件
下才能输出,这种输
出称为条件输出。
状态P的无条件 输出命令为Z1, 而条条件件输输出出框的和命 令条Z2件,分只支有框在皆状 态P属且于外状输态入PX,=条0 时件输分出支。框条除件决输 出定框次和态条外件,分还支 框皆决属定于条状件态输P出。。
ASM图有3个状态, 多路选择器至少应有3个 输入段,所以选4-1多 路选择器。
(P) Z1
(Q) 1 X 0
Z2
(R)
2020/9/29
多路选择器实现时的状态转换表
现态
次态
转换
状态数 状态名称 状态名称
Q Q 2(n+1)
1(n+1)
条件
0
(P)
(R)
10
X
(Q)
11
X
2
(R)
3
(Q)
1
---
(P)
00 1
(P)
00
1
(P)
00
1
2020/9/29
由状态转换表写多路选择器的数据输入方程:
MuQ x 1n1(0)X
M u Q 1 n x 1 ( 1 ) M u Q 1 n x 1 ( 2 ) M u Q 1 n x 1 ( 3 ) 0
M uQ x2 n1(0)XX1 M uQ x2 n1(1)M uQ x2 n1(2)M uQ x2 n1(3)0
2020/9/29
5、丰富的设计库 Quartus Ⅱ提供了丰富的库单元供设计者调用。 ⑴74系列器件库;⑵特殊逻辑宏功能库;⑶新 型参数化的兆功能库。
6、模块化工具
设计人员可以从各种设计输入、处理和校验 选项中进行选择从而使设计环境用户化,必要 时,还可根据需要添加新功能。
7、硬件描述语言(HDL)
信息处理和 合器
适配
层次显示
项目校验
器件编程
时间分 析器
编程器
2020/9/29
1、设计思想
简介数子系统的设计
这里主要介绍由Chris Clare提出的 (Algorithmic State Machine)即ASM图法。 ⑴主要步骤
•彻底消化设计要求; •建立控制算法流程图——ASM图; •ASM图的硬件实现。
• 控制器的设计——直接由ASM图导出相应 的硬件电路,它应产生处理器所需的控制 命令序列,控制处理器执行预定命令。
2020/9/29
⑵ASM图符号
ASM图是控制算法流程图,它表示事 件的精确时间间隔序列,与一般软件流 程图只表示事件序列有其根本区别。
①状态框
(名称) 控制器给控 制对象的控 制命令
X
2020/9/29
Z2 Z1
Q1 D1 Q1
Q2 D2 Q2
CP
ASM图的硬件实现
该部分内容请 详细看书!
• 用多路选择器实现ASM图; • 每个状态一个触发器法; • 基于ROM法实现ASM图。
2020/9/29
用多路选择器实现下ASM图
在每级触发器的输入 端加一个多路选择器,多 路选择器的输出加到触发 器的数据输入端,控制触 发器产生相应的次态。
⑶用ASM图实现小型数子系统
例题 系统时钟的设计
一、设计要求: ⑴系统时钟能在手动或自动两种方式下 运行,自动方式由振荡器提供一个固定 频率的时钟;手动方式仅当压下按钮时 产生一个有效时钟输出,否则无输出。
⑵方式选择开关动作时,决不能截短自 动方式的时钟周期。
⑶自动方式工作时,手动方式无效。
2020/9/29
二、对问题的理解:
应有两个外输入信号,①消振方式开关 信号;②消振按钮信号。
令MAN=1表示手动开关方式; MAN=0表示 自动开关方式。
令PB=1表示按钮按下; PB=0表示按钮未按 下。
令CP表示时钟,CP=0表示低电平, CP=1表 示高电平。
三、系统时钟的控制算法描述:
2020/9/29
(L0)
0
CP=0
0
1
MAN
PB
0
1
(L1)
1
CP=1
1
状AS态M0图的内改蕴变MA涵是N 着在时时1 间钟序控列制特下P性实B ,现而的0 且。
2020/9/29
例题 交通信号灯的设计
1、设计要求
灯亮当;传如若感图在器:支CR线=C0处时有,车支,线传红感灯器亮C,R干=1线,绿使 干线绿灯先转换成黄(灯C再) 变成红灯,支线由 红 线灯 持变 续绿绿灯灯。,若此支 情线 况持 若续 超有 过3车干0,线s,则支CR线=绿1,灯支 先转换成黄灯再变成红灯,与此同时干线由 红灯变成绿灯。但干线(绿C)灯亮的持续时间未 到30s时,即使支线有支C线R=1输出,也不能终 止干线的绿灯亮。
1 CP 0
状态A 状态C X=0
X=1
状态A 状态B
2020/9/29 有条件分支的ASM图的时间划
真值表图解表 示法,X1、X2 同等重要。
(A)
输入变量X1的优先 级高于X2, X1起支 配作用。
(A)
0X X1X2 11 10
(W) (V)
(Y)
2020/9/29
0 X1
(W)
1
1 X2 0 (V) (Y)
双击桌面上的Quartus Ⅱ 图标打开主界面,打开
主界面。选取菜单中File-New Project Wizard, 出现 新建工程向导窗口。
2020/9/29
项目导 航窗口
状态窗口 消息窗口
2020/9/29
编辑输入窗口
直接点击Next 进入设置窗口如下图所示。
Quartus II 自动将工程 名称、顶层设计实体名 称与存放工程的文件夹 名称一样,同为 count10 。
2020/9/29
用多路选择器实现的逻辑图
次态 现态
10
0
1 4-1 Y
0
2 MUX
0
3 E S1 S0
D2 Q2 Q2
X
0
0
1 4-1 Y
0
2 MUX
0
3 E S1 S0
D1 Q1 Q1
CP
2020/9/29
Quartus ⅡVHDL设计输入流程
一、新建工程 最好先建立一个工作目录D:\FPGA
状态(P)状态(Q)状态(R)
②条件分支框(判断框) X——表示外输入变量,置入分支框内。
(A)
(B) 1 X (C) 0
2020条/9/29件分支框和状态框A属于同一个状态。
在同一现态情况下,外输入X值的不同,次 态可能进入B或C,而这一转换是在状态A结束 前完成的。要求外输入X值在状态A期间稳定。
Quartus Ⅱ支持VHDL、Verilog HDL、AHDL。
2020/9/29
8、Megacore M功eg能acore 功能是为复杂的系统级功能提供的, 经过校验的HDL网表文件,它能使FLEX10K、 FLEX8000、MAX7000、MAX9000器件系列实现 最优化的设计。
9、Opencore特 Qu性artus Ⅱ软件具有开放核的特点,它允许设 计人员添加自己认为有价值的宏函数。
输入变量 X1X2 00
输出波形 (P) (Q) (R) (S) (P) (Q) (R) (S)
01
11
1 0 2020/9/29
(P) (Q) (R) (P) (Q) (R)
ASM图的状态数由最长周期决定,每一个时 钟对应一个状态。所以,为4个状态。 无输出就对应0,输入变量:X1X2进行“与” 逻辑运算。
相关文档
最新文档