EDA 技术 实用教程
-
Upload
adam-williamson -
Category
Documents
-
view
77 -
download
3
description
Transcript of EDA 技术 实用教程
EDA 技术实用教程
第第 44 章 章 原理图输入设计方法原理图输入设计方法
KKX康芯科技
4.1 1 位全加器设计向导
4.1.1 基本设计步骤
步骤 1 :为本项工程设计建立文件夹
注意:文件夹名不能用中文,且不可带空格。
KKX康芯科技
为设计全加器新建一个文
件夹作工作库
文件夹名取为My_prjct
注意,不可用中文!
KKX康芯科技步骤 2 :输入设计项目和存盘
图 4-1 进入 MAX+plusII ,建立一个新的设计文件
使用原理图输入方法设计,必须选择打开原理图
编辑器
新建一个设计文件
KKX康芯科技
图 4-2 元件输入对话框
首先在这里用鼠标右键产生此窗,并
选择“ Enter Symbol”输入一个元件
然后用鼠标双击这基本硬件库
这是基本硬件库中的各种逻辑元件
也可在这里输入元件名,如 2 输
入与门 AND2 ,输出引脚:OUTPUT
KKX康芯科技
图 4-3 将所需元件全部调入原理图编辑窗
连接好的原理图
输出引脚:OUTPUT
输入引脚:INPUT
将他们连接成半加器
KKX康芯科技
图 4-4 连接好原理图并存盘
首先点击这里文件名取为:
h_adder.gdf
注意,要存在自己建立的
文件夹中
KKX康芯科技
步骤 3 :将设计项目设置成工程文件 (PROJECT)
图 4-5 将当前设计文件设置成工程文件
首先点击这里然后选择此项,将当前的原理图设计文件设置成
工程
最后注意此路径指向的改变
KKX康芯科技
注意,此路径指向当前的工程!
KKX康芯科技步骤 4 :选择目标器件并编译
图 4-6 选择最后实现本项设计的目标器件
首先选择这里
器件系列选择窗,选择 ACEX1K
系列
根据实验板上的目标器件型号选
择,如选 EP1K30
注意,首先消去这里的勾,以便使所有速度级别的器件都能显示
出来
KKX康芯科技
图 4-7 对工程文件进行编译、综合和适配等操作
选择编译器
编译窗
KKX康芯科技
消去 Quartus 适配操作
选择此项
消去这里的勾
KKX康芯科技
完成编译!
KKX康芯科技
步骤 5 :时序仿真
(1) 建立波形文件。
首先选择此项,为仿真测试新
建一个文件
选择波形编辑器文件
KKX康芯科技
(2) 输入信号节点。
图 4-8 从 SNF 文件中输入设计文件的信号节点
从 SNF 文件中输入设计文件
的信号节点
点击“ LIST”
SNF 文件中的信号节点
KKX康芯科技
图 4-9 列出并选择需要观察的信号节点用此键选择左窗
中需要的信号进入右窗
最后点击“ OK”
KKX康芯科技
图 4-9 列出并选择需要观察的信号节点
(3) 设置波形参量。
图 4-10 在 Options 菜单中消去网格对齐 Snap to Grid 的选择 ( 消去对勾 )
消去这里的勾,以便方便设置
输入电平
KKX康芯科技(4) 设定仿真时间。
图 4-11 设定仿真时间
选择 END TIME调整仿真时间
区域。选择 60 微秒
比较合适
KKX康芯科技
(5) 加上输入信号。
图 4-12 为输入信号设定必要的测试电平或数据
(6) 波形文件存盘。
图 4-13 保存仿真波形文件
用此键改变仿真区域坐标到合适
位置。
点击‘ 1’ ,使拖黑的电平为高电平
KKX康芯科技
(7) 运行仿真器。
图 4-14 运行仿真器
选择仿真器
运行仿真器
KKX康芯科技
(8) 观察分析半加器仿真波形。
图 4-15 半加器 h_adder.gdf 的仿真波形
KKX康芯科技
(9) 为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器 .
图 4-16 打开延时时序分析窗
选择时序分析器
输入输出时间延迟
KKX康芯科技
(10) 包装元件入库。
选择菜单“ File”→“Open”,在“ Open”对话框中选择原理图编辑文件选项“ Graphic Editor Files”,然后选择 h_adder.gdf,重新打开半加器设计文件,然后选择如图 4-5 中“ File”菜单的“ Create Default Symbol”项,将当前文件变成了一个包装好的单一元件(Symbol),并被放置在工程路径指定的目录中以备后用。
KKX康芯科技
步骤 6 :引脚锁定
可选择键 8 作为半加器的输入“ a”
选择实验电路结构图 6
选择键 8 作为半加器的输入“ b”
可选择发光管 8作为半加器的
进位输出“ co”
可选择发光管 8作为半加器的和输出“ so”
KKX康芯科技
选择实验板上插有的目标器件
目
标
器
件
引
脚
名
和
引
脚
号
对
照
表
键 8 的引脚名
键 8 的引脚名对应的引脚号
KKX康芯科技
引脚对应情况
实验板位置 半加器信号 通用目标器件引脚名 目标器件 EP1K30TC144 引脚号
1 、键 8 : a PIO13 27
2 、键 7 b PIO12 26
3 、发光管 8 co PIO23 39
4 、发光管 7 so PIO22 38
KKX康芯科技步骤 6 :引脚锁定 选择引脚
锁定选项
引脚窗
KKX康芯科技
此处输入信号名
此处输入引脚名
按键“ADD” 即可
注意引脚属性错误引脚名将无正确属性!
KKX康芯科技
再编译一次,将引脚信息
进去
KKX康芯科技
选择编程器,准备将设计好的半加器
文件下载到目器件中去
编程窗
KKX康芯科技步骤 7 :编程下载
(1) 下载方式设定。
图 4-18 设置编程下载方式
在编程窗打开的情况下选择下载方式设置
选择此项下载方式
KKX康芯科技
步骤 7 :编程下载
(1) 下载方式设定。
图 4-18 设置编程下载方式
(2) 下载。
图 4-19 向 EF1K30 下载配置文件
下载(配置)成功!
KKX康芯科技
若键 8 、 7为高电平
进位“ co” 为‘ 1’和“ so” 为‘ 0’
选择电路模式为“ 6”
模式选择键
KKX康芯科技
步骤 8 :设计顶层文件
(1) “仿照前面的 步骤 2”,打开一个新的原理图编辑窗口
图 4-20 在顶层编辑窗中调出已设计好的半加器元件
KKX康芯科技
(2) 完成全加器原理图设计,并以文件名 f_adder.gdf 存在同一目录中。
(3) 将当前文件设置成 Project ,并选择目标器件为 EPF10K10LC84-4。
(4) 编译此顶层文件 f_adder.gdf ,然后建立波形仿真文件。
图 4-21 在顶层编辑窗中设计好全加器
KKX康芯科技
(5) 对应 f_adder.gdf 的波形仿真文件,参考图中输入信号 cin、 bin和ain 输入信号电平的设置,启动仿真器 Simulator ,观察输出波形的情况。
(6) 锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。
图 4-22 1 位全加器的时序仿真波形
KKX康芯科技
4.1.2 设计流程归纳
图 4-23 MAX+plusII 一般设计流程
KKX康芯科技
4.1.3 补充说明
1. 编译窗口的各功能项目块含义
Compiler Netlist Extractor Database Builder
Logic Synthesizer Partitioner
Timing SNF Extractor
Fitter
Assembler
2. 查看适配报告
KKX康芯科技
4.2 2 位十进制数字频率计设计
4.2.1 设计有时钟使能的两位十进制计数器
(1) 设计电路原理图。
图 4-24 用 74390 设计一个有时钟使能的两位十进制计数器
KKX康芯科技
(2) 计数器电路实现
图 4-25 调出元件 74390 图 4-26 从 Help 中了解 74390 的详细功能
KKX康芯科技
(3) 波形仿真
图 4-27 两位十进制计数器工作波形
KKX康芯科技
4.2.2 频率计主结构电路设计
图 4-28 两位十进制频率计顶层设计原理图文件
KKX康芯科技
图 4-29 两位十进制频率计测频仿真波形
KKX康芯科技
4.2.3 测频时序控制电路设计 图 4-30 测频时序控制电路
图 4-31 测频时序控制电路工作波形
KKX康芯科技
4.2.4 频率计顶层电路设计
图 4-32 频率计顶层电路原理图 ( 文件: ft_top.gdf)
KKX康芯科技
图 4-33 频率计工作时序波形
KKX康芯科技
4.2.5 设计项目的其他信息和资源配置
(1) 了解设计项目的结构层次
图 4-34 频率计 ft_top 项目的设计层次
KKX康芯科技
(2) 了解器件资源分配情况图 4-35 适配报告中的部分内容
图4--36
芯片资源编辑窗
KKX康芯科技
(3) 了解设计项目速度 /延时特性
图 4-37 寄存器时钟特性窗
图 4-38 信号延时矩阵表
KKX康芯科技
(4) 资源编辑
(5) 引脚锁定
图 4-39 Device View 窗
KKX康芯科技
LCs手工分配:
图 4-40 适配器设置
图 4-41 手工分配LCs
KKX康芯科技
4.3 参数可设置 LPM兆功能块4.3.1 基于 LPM_COUNTER 的数控分频器设计
图 4-42 数控分频器电路原理图
KKX康芯科技
当 d[3..0]=12( 即 16 进制数: C) 时的工作波形。
图 4-43 数控分频器工作波形
KKX康芯科技
4.3.2 基于 LPM_ROM 的 4 位乘法器设计
图 4-44 用 LPM_ROM 设计的 4 位乘法器原理图
KKX康芯科技
(1) 用文本编辑器编辑 mif 文件
LPM_ROM 中作为乘法表的数据文件 rom_data.mif
WIDTH = 8 ;
DEPTH = 256 ;
ADDRESS_RADIX = HEX ;
DATA_RADIX = HEX ;
CONTENT BEGIN
00:00 ; 01:00 ; 02:00 ; 03:00 ; 04:00 ; 05:00 ; 06:00 ; 07:00 ; 08:00 ; 09:00;
10:00 ; 11:01 ; 12:02 ; 13:03 ; 14:04 ; 15:05 ; 16:06 ; 17:07 ; 18:08 ; 19:09;
20:00 ; 21:02 ; 22:04 ; 23:06 ; 24:08 ; 25:10 ; 26:12 ; 27:14 ; 28:16 ; 29:18;
30:00 ; 31:03 ; 32:06 ; 33:09 ; 34:12 ; 35:15 ; 36:18 ; 37:21 ; 38:24 ; 39:27;
40:00 ; 41:04 ; 42:08 ; 43:12 ; 44:16 ; 45:20 ; 46:24 ; 47:28 ; 48:32 ; 49:36;
50:00 ; 51:05 ; 52:10 ; 53:15 ; 54:20 ; 55:25 ; 56:30 ; 57:35 ; 58:40 ; 59:45;
60:00 ; 61:06 ; 62:12 ; 63:18 ; 64:24 ; 65:30 ; 66:36 ; 67:42 ; 68:48 ; 69:54;
70:00 ; 71:07 ; 72:14 ; 73:21 ; 74:28 ; 75:35 ; 76:42 ; 77:49 ; 78:56 ; 79:63;
80:00 ; 81:08 ; 82:16 ; 83:24 ; 84:32 ; 85:40 ; 86:48 ; 87:56 ; 88:64 ; 89:72;
90:00 ; 91:09 ; 92:19 ; 93:27 ; 94:36 ; 95:45 ; 96:54 ; 97:63 ; 98:72 ; 99:81;
END ;
KKX康芯科技
图 4-46 LPM_ROM 构成的乘法器仿真波形
图 4-45 LPM_ROM 参数设置窗口
KKX康芯科技
(2) 用初始化存储器编辑窗口编辑 mif 文件
图 4-47 在 Initialize Memory 窗口中编辑乘法表地址 /数据
KKX康芯科技
4.4 波形输入设计方法
图 4-48 待设计电路的预设输入输出波形
图 4-49 打开 wdf 波形文件编辑器
KKX康芯科技
图 4-50 输入待设计电路的信号名
KKX康芯科技
图 4-51 输入信号名及其端口属性
KKX康芯科技
图 4-52 输出时序信号设置
KKX康芯科技
实 验
实验 4-1 原理图输入设计 8 位全加器
1) 实验目的:熟悉利用 MAX+plusⅡ 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个 8 位全加器的设计把握利用 EDA 软件进行电子线路设计的详细流程。学会对实验板上的 FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。(2) 原理说明:一个 8 位全加器可以由 8 个 1 位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出 cout 与机临的高位加法器的最低进位输入信号 cin 相接。而一个 1 位全加器可以按照本章第一节介绍的方法来完成。
KKX康芯科技
实验 4-1 原理图输入设计 8 位全加器
(3) 实验内容 1 :完全按照本章第 1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。建议实验电路选择附图 1-7 ,键 1 、 2、 3(PIO0/1/2) 分 别 接 ain 、 bin 、 cin ; 发 光 管D2、 D1(PIO9/8) 分别接 sum和 cout。(4) 实验内容 2 ,建立一个更高的原理图设计层次,利用以上获得的 1 位全加器构成 8 位全加器,并完成编译、综合、适配、仿真和硬件测试。建议实验电路选择附图 1-3 ,键 2 、键1 输入 8 位加数;键 4 、键 3 输入 8 位被加数;数码 6/5 显示加和; D8 显示进位 cout。
KKX康芯科技
实验 4-1 原理图输入设计 8 位全加器
(5) 思考题:为了提高加法器的速度,如何改进以上设计的进位方式?(6) 实验报告:详细叙述 8 位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;给出加法器的延时情况;最后给出硬件测试流程和结果。
KKX康芯科技
实验 4-2 用原理图输入法设计 8 位十进制频率计
(1) 实验目的:熟悉原理图输入法中 74 系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设计技术和数字系统设计方法。完成 8 位十进制频率机的设计,学会利用实验系统上的 FPGA/CPLD 验证较复杂设计项目的方法。(2) 原理说明:利用第 2 节介绍的 2 位计数器模块连接它们的计数进位,用 4 个计数模块就能完成一个 8 位有时钟使能的计数器;对于测频控制器的控制信号,在仿真过程中应该注意它们可能的毛刺现象。最后按照第 2 节中的设计流程和方法即可完成全部设计。
KKX康芯科技
实验 4-1 原理图输入设计 8 位全加器
(3) 实验内容 1 :首先按照本章第 2 节介绍的方法与流程,完成 2 位频率计的设计,包括原理图输入、编译、综合、仿真、硬件测试等,然后进行硬件测试,建议实验电路选择附图 1-2 ,数码 2 和 1 显示输出频率值,待测频率 F_IN接 clock0 ;测频控制时钟 CLK接 clock2 ,若选择 clock2 = 8Hz ,门控信号 CNT_EN 的脉宽恰好为 1 秒。(4) 实验内容 2 :建立一个新的原理图设计层次,在完成实验内容 1 的基础上将其扩展为 8 位频率计,仿真测试该频率计待测信号的最高频率,并与实测的结果进行比较。
KKX康芯科技
实验 4-1 原理图输入设计 8 位全加器
(5) 思考题:为了产生测频控制信号,还有什么其他更简单的电路可以获得图 4-31 的波形?提示 CNT_EN 的反向信号可看作 LOCK 信号。(6) 实验附加题 1 :完成习题 4-10 和习题 4-14 的设计和硬件实验验证。(7) 实验附加题 2 :分析图 4-53 的工作原理、各元件模块的功能以及各端口信号的功能。用原理图输入方式完成该图所示电路的设计、时序仿真和硬件实验验证,并说明图 4-53 的电路功能,给出其仿真波形和硬件测试方法。(8) 实验报告:详细给出各层次的原理图、工作原理、电路的仿真波形图和波形分析,详述硬件实验过程和实验结果。
KKX康芯科技
选择电路模式 1
输入被加数高 4 位: A7-A4
6 = 0110
输入被加数低 4 位: A3-A0
4 = 0100
输入加数高 4位: B7-B4
8 =1000输入加数低 4位: B3-B0
4 =0100
和高位输出 E: 1110
和低位输出 8: 1000
KKX康芯科技
A5+5A+1 (最低进位)=100 ( 16 进制)
溢出进位
输入最低进位位
KKX康芯科技
实验 4-3 LPM 模块使用
图 4-53 实验 4-2 电路原理图
KKX康芯科技
(1) 实验目的:掌握 LPM 模块的参数设置方法以及设计和应用方法。(2) 原理说明:数控分频器和乘法器的设计原理已在本章第 3节中作了详细描述。(3) 实验内容 1 :按照第 3 节介绍的流程和设计原理,分别使用 LPM_COUNTER 和 LPM_ROM 设计 8 位数控分频器和 4位乘法器。然后进行波形仿真和硬件测试、建议实验电路选择附图 1-3 。(4) 实验内容 2 :按照以上流程和要求分别对 LPM 库中的先进先出寄存器 LPM_FIFO 、乘法器 LPM_MULT 、双口随机存储器 LPM_RAM_DQ 和移位寄存器 LPM_SHIFTREG 进行仿真测试与硬件实验验证。(5) 实验报告:按照实验 4-2 的要求完成实验报告。
实验 4-3 LPM 模块使用