EDA 技术 实用教程

71
EDA 技技技技技技 4 4 技技技技技技技技技 技技技技技技技技技

description

EDA 技术 实用教程. 第4章 原理图输入设计方法. 4.1 1位全加器设计向导. 4.1.1 基本设计步骤. 步骤1:为本项工程设计建立文件夹. 注意: 文件夹名不能用中文,且不可带空格。. 为设计全加器 新建一个文 件夹作工作库. 文件夹名取为 My_prjct 注意,不可 用中文!. 步骤2:输入设计项目和存盘. 新建一个设 计文件. 使用原理图输入 方法设计,必须 选择打开原理图 编辑器. 图4-1 进入 MAX+plusII, 建立一个新的设计文件. 首先在这里用鼠标 右键产生此窗,并 选择“ Enter Symbol” - PowerPoint PPT Presentation

Transcript of EDA 技术 实用教程

Page 1: EDA 技术 实用教程

EDA 技术实用教程

第第 44 章 章 原理图输入设计方法原理图输入设计方法

Page 2: EDA 技术 实用教程

KKX康芯科技

4.1 1 位全加器设计向导

4.1.1 基本设计步骤

步骤 1 :为本项工程设计建立文件夹

注意:文件夹名不能用中文,且不可带空格。

Page 3: EDA 技术 实用教程

KKX康芯科技

为设计全加器新建一个文

件夹作工作库

文件夹名取为My_prjct

注意,不可用中文!

Page 4: EDA 技术 实用教程

KKX康芯科技步骤 2 :输入设计项目和存盘

图 4-1 进入 MAX+plusII ,建立一个新的设计文件

使用原理图输入方法设计,必须选择打开原理图

编辑器

新建一个设计文件

Page 5: EDA 技术 实用教程

KKX康芯科技

图 4-2 元件输入对话框

首先在这里用鼠标右键产生此窗,并

选择“ Enter Symbol”输入一个元件

然后用鼠标双击这基本硬件库

这是基本硬件库中的各种逻辑元件

也可在这里输入元件名,如 2 输

入与门 AND2 ,输出引脚:OUTPUT

Page 6: EDA 技术 实用教程

KKX康芯科技

图 4-3 将所需元件全部调入原理图编辑窗

连接好的原理图

输出引脚:OUTPUT

输入引脚:INPUT

将他们连接成半加器

Page 7: EDA 技术 实用教程

KKX康芯科技

图 4-4 连接好原理图并存盘

首先点击这里文件名取为:

h_adder.gdf

注意,要存在自己建立的

文件夹中

Page 8: EDA 技术 实用教程

KKX康芯科技

步骤 3 :将设计项目设置成工程文件 (PROJECT)

图 4-5 将当前设计文件设置成工程文件

首先点击这里然后选择此项,将当前的原理图设计文件设置成

工程

最后注意此路径指向的改变

Page 9: EDA 技术 实用教程

KKX康芯科技

注意,此路径指向当前的工程!

Page 10: EDA 技术 实用教程

KKX康芯科技步骤 4 :选择目标器件并编译

图 4-6 选择最后实现本项设计的目标器件

首先选择这里

器件系列选择窗,选择 ACEX1K

系列

根据实验板上的目标器件型号选

择,如选 EP1K30

注意,首先消去这里的勾,以便使所有速度级别的器件都能显示

出来

Page 11: EDA 技术 实用教程

KKX康芯科技

图 4-7 对工程文件进行编译、综合和适配等操作

选择编译器

编译窗

Page 12: EDA 技术 实用教程

KKX康芯科技

消去 Quartus 适配操作

选择此项

消去这里的勾

Page 13: EDA 技术 实用教程

KKX康芯科技

完成编译!

Page 14: EDA 技术 实用教程

KKX康芯科技

步骤 5 :时序仿真

(1) 建立波形文件。

首先选择此项,为仿真测试新

建一个文件

选择波形编辑器文件

Page 15: EDA 技术 实用教程

KKX康芯科技

(2) 输入信号节点。

图 4-8 从 SNF 文件中输入设计文件的信号节点

从 SNF 文件中输入设计文件

的信号节点

点击“ LIST”

SNF 文件中的信号节点

Page 16: EDA 技术 实用教程

KKX康芯科技

图 4-9 列出并选择需要观察的信号节点用此键选择左窗

中需要的信号进入右窗

最后点击“ OK”

Page 17: EDA 技术 实用教程

KKX康芯科技

图 4-9 列出并选择需要观察的信号节点

(3) 设置波形参量。

图 4-10 在 Options 菜单中消去网格对齐 Snap to Grid 的选择 ( 消去对勾 )

消去这里的勾,以便方便设置

输入电平

Page 18: EDA 技术 实用教程

KKX康芯科技(4) 设定仿真时间。

图 4-11 设定仿真时间

选择 END TIME调整仿真时间

区域。选择 60 微秒

比较合适

Page 19: EDA 技术 实用教程

KKX康芯科技

(5) 加上输入信号。

图 4-12 为输入信号设定必要的测试电平或数据

(6) 波形文件存盘。

图 4-13 保存仿真波形文件

用此键改变仿真区域坐标到合适

位置。

点击‘ 1’ ,使拖黑的电平为高电平

Page 20: EDA 技术 实用教程

KKX康芯科技

(7) 运行仿真器。

图 4-14 运行仿真器

选择仿真器

运行仿真器

Page 21: EDA 技术 实用教程

KKX康芯科技

(8) 观察分析半加器仿真波形。

图 4-15 半加器 h_adder.gdf 的仿真波形

Page 22: EDA 技术 实用教程

KKX康芯科技

(9) 为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器 .

图 4-16 打开延时时序分析窗

选择时序分析器

输入输出时间延迟

Page 23: EDA 技术 实用教程

KKX康芯科技

(10) 包装元件入库。

选择菜单“ File”→“Open”,在“ Open”对话框中选择原理图编辑文件选项“ Graphic Editor Files”,然后选择 h_adder.gdf,重新打开半加器设计文件,然后选择如图 4-5 中“ File”菜单的“ Create Default Symbol”项,将当前文件变成了一个包装好的单一元件(Symbol),并被放置在工程路径指定的目录中以备后用。

Page 24: EDA 技术 实用教程

KKX康芯科技

步骤 6 :引脚锁定

可选择键 8 作为半加器的输入“ a”

选择实验电路结构图 6

选择键 8 作为半加器的输入“ b”

可选择发光管 8作为半加器的

进位输出“ co”

可选择发光管 8作为半加器的和输出“ so”

Page 25: EDA 技术 实用教程

KKX康芯科技

选择实验板上插有的目标器件

键 8 的引脚名

键 8 的引脚名对应的引脚号

Page 26: EDA 技术 实用教程

KKX康芯科技

引脚对应情况

实验板位置 半加器信号 通用目标器件引脚名 目标器件 EP1K30TC144 引脚号

1 、键 8 : a PIO13 27

2 、键 7 b PIO12 26

3 、发光管 8 co PIO23 39

4 、发光管 7 so PIO22 38

Page 27: EDA 技术 实用教程

KKX康芯科技步骤 6 :引脚锁定 选择引脚

锁定选项

引脚窗

Page 28: EDA 技术 实用教程

KKX康芯科技

此处输入信号名

此处输入引脚名

按键“ADD” 即可

注意引脚属性错误引脚名将无正确属性!

Page 29: EDA 技术 实用教程

KKX康芯科技

再编译一次,将引脚信息

进去

Page 30: EDA 技术 实用教程

KKX康芯科技

选择编程器,准备将设计好的半加器

文件下载到目器件中去

编程窗

Page 31: EDA 技术 实用教程

KKX康芯科技步骤 7 :编程下载

(1) 下载方式设定。

图 4-18 设置编程下载方式

在编程窗打开的情况下选择下载方式设置

选择此项下载方式

Page 32: EDA 技术 实用教程

KKX康芯科技

步骤 7 :编程下载

(1) 下载方式设定。

图 4-18 设置编程下载方式

(2) 下载。

图 4-19 向 EF1K30 下载配置文件

下载(配置)成功!

Page 33: EDA 技术 实用教程

KKX康芯科技

若键 8 、 7为高电平

进位“ co” 为‘ 1’和“ so” 为‘ 0’

选择电路模式为“ 6”

模式选择键

Page 34: EDA 技术 实用教程

KKX康芯科技

步骤 8 :设计顶层文件

(1) “仿照前面的 步骤 2”,打开一个新的原理图编辑窗口

图 4-20 在顶层编辑窗中调出已设计好的半加器元件

Page 35: EDA 技术 实用教程

KKX康芯科技

(2) 完成全加器原理图设计,并以文件名 f_adder.gdf 存在同一目录中。

(3) 将当前文件设置成 Project ,并选择目标器件为 EPF10K10LC84-4。

(4) 编译此顶层文件 f_adder.gdf ,然后建立波形仿真文件。

图 4-21 在顶层编辑窗中设计好全加器

Page 36: EDA 技术 实用教程

KKX康芯科技

(5) 对应 f_adder.gdf 的波形仿真文件,参考图中输入信号 cin、 bin和ain 输入信号电平的设置,启动仿真器 Simulator ,观察输出波形的情况。

(6) 锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。

图 4-22 1 位全加器的时序仿真波形

Page 37: EDA 技术 实用教程

KKX康芯科技

4.1.2 设计流程归纳

图 4-23 MAX+plusII 一般设计流程

Page 38: EDA 技术 实用教程

KKX康芯科技

4.1.3 补充说明

1. 编译窗口的各功能项目块含义

Compiler Netlist Extractor Database Builder

Logic Synthesizer Partitioner

Timing SNF Extractor

Fitter

Assembler

2. 查看适配报告

Page 39: EDA 技术 实用教程

KKX康芯科技

4.2 2 位十进制数字频率计设计

4.2.1 设计有时钟使能的两位十进制计数器

(1) 设计电路原理图。

图 4-24 用 74390 设计一个有时钟使能的两位十进制计数器

Page 40: EDA 技术 实用教程

KKX康芯科技

(2) 计数器电路实现

图 4-25 调出元件 74390 图 4-26 从 Help 中了解 74390 的详细功能

Page 41: EDA 技术 实用教程

KKX康芯科技

(3) 波形仿真

图 4-27 两位十进制计数器工作波形

Page 42: EDA 技术 实用教程

KKX康芯科技

4.2.2 频率计主结构电路设计

图 4-28 两位十进制频率计顶层设计原理图文件

Page 43: EDA 技术 实用教程

KKX康芯科技

图 4-29 两位十进制频率计测频仿真波形

Page 44: EDA 技术 实用教程

KKX康芯科技

4.2.3 测频时序控制电路设计 图 4-30 测频时序控制电路

图 4-31 测频时序控制电路工作波形

Page 45: EDA 技术 实用教程

KKX康芯科技

4.2.4 频率计顶层电路设计

图 4-32 频率计顶层电路原理图 ( 文件: ft_top.gdf)

Page 46: EDA 技术 实用教程

KKX康芯科技

图 4-33 频率计工作时序波形

Page 47: EDA 技术 实用教程

KKX康芯科技

4.2.5 设计项目的其他信息和资源配置

(1) 了解设计项目的结构层次

图 4-34 频率计 ft_top 项目的设计层次

Page 48: EDA 技术 实用教程

KKX康芯科技

(2) 了解器件资源分配情况图 4-35 适配报告中的部分内容

图4--36

芯片资源编辑窗

Page 49: EDA 技术 实用教程

KKX康芯科技

(3) 了解设计项目速度 /延时特性

图 4-37 寄存器时钟特性窗

图 4-38 信号延时矩阵表

Page 50: EDA 技术 实用教程

KKX康芯科技

(4) 资源编辑

(5) 引脚锁定

图 4-39 Device View 窗

Page 51: EDA 技术 实用教程

KKX康芯科技

LCs手工分配:

图 4-40 适配器设置

图 4-41 手工分配LCs

Page 52: EDA 技术 实用教程

KKX康芯科技

4.3 参数可设置 LPM兆功能块4.3.1 基于 LPM_COUNTER 的数控分频器设计

图 4-42 数控分频器电路原理图

Page 53: EDA 技术 实用教程

KKX康芯科技

当 d[3..0]=12( 即 16 进制数: C) 时的工作波形。

图 4-43 数控分频器工作波形

Page 54: EDA 技术 实用教程

KKX康芯科技

4.3.2 基于 LPM_ROM 的 4 位乘法器设计

图 4-44 用 LPM_ROM 设计的 4 位乘法器原理图

Page 55: EDA 技术 实用教程

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 ;

Page 56: EDA 技术 实用教程

KKX康芯科技

图 4-46 LPM_ROM 构成的乘法器仿真波形

图 4-45 LPM_ROM 参数设置窗口

Page 57: EDA 技术 实用教程

KKX康芯科技

(2) 用初始化存储器编辑窗口编辑 mif 文件

图 4-47 在 Initialize Memory 窗口中编辑乘法表地址 /数据

Page 58: EDA 技术 实用教程

KKX康芯科技

4.4 波形输入设计方法

图 4-48 待设计电路的预设输入输出波形

图 4-49 打开 wdf 波形文件编辑器

Page 59: EDA 技术 实用教程

KKX康芯科技

图 4-50 输入待设计电路的信号名

Page 60: EDA 技术 实用教程

KKX康芯科技

图 4-51 输入信号名及其端口属性

Page 61: EDA 技术 实用教程

KKX康芯科技

图 4-52 输出时序信号设置

Page 62: EDA 技术 实用教程

KKX康芯科技

实 验

实验 4-1 原理图输入设计 8 位全加器

1) 实验目的:熟悉利用 MAX+plusⅡ 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个 8 位全加器的设计把握利用 EDA 软件进行电子线路设计的详细流程。学会对实验板上的 FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。(2) 原理说明:一个 8 位全加器可以由 8 个 1 位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出 cout 与机临的高位加法器的最低进位输入信号 cin 相接。而一个 1 位全加器可以按照本章第一节介绍的方法来完成。

Page 63: EDA 技术 实用教程

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。

Page 64: EDA 技术 实用教程

KKX康芯科技

实验 4-1 原理图输入设计 8 位全加器

(5) 思考题:为了提高加法器的速度,如何改进以上设计的进位方式?(6) 实验报告:详细叙述 8 位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;给出加法器的延时情况;最后给出硬件测试流程和结果。

Page 65: EDA 技术 实用教程

KKX康芯科技

实验 4-2 用原理图输入法设计 8 位十进制频率计

(1) 实验目的:熟悉原理图输入法中 74 系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设计技术和数字系统设计方法。完成 8 位十进制频率机的设计,学会利用实验系统上的 FPGA/CPLD 验证较复杂设计项目的方法。(2) 原理说明:利用第 2 节介绍的 2 位计数器模块连接它们的计数进位,用 4 个计数模块就能完成一个 8 位有时钟使能的计数器;对于测频控制器的控制信号,在仿真过程中应该注意它们可能的毛刺现象。最后按照第 2 节中的设计流程和方法即可完成全部设计。

Page 66: EDA 技术 实用教程

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 位频率计,仿真测试该频率计待测信号的最高频率,并与实测的结果进行比较。

Page 67: EDA 技术 实用教程

KKX康芯科技

实验 4-1 原理图输入设计 8 位全加器

(5) 思考题:为了产生测频控制信号,还有什么其他更简单的电路可以获得图 4-31 的波形?提示 CNT_EN 的反向信号可看作 LOCK 信号。(6) 实验附加题 1 :完成习题 4-10 和习题 4-14 的设计和硬件实验验证。(7) 实验附加题 2 :分析图 4-53 的工作原理、各元件模块的功能以及各端口信号的功能。用原理图输入方式完成该图所示电路的设计、时序仿真和硬件实验验证,并说明图 4-53 的电路功能,给出其仿真波形和硬件测试方法。(8) 实验报告:详细给出各层次的原理图、工作原理、电路的仿真波形图和波形分析,详述硬件实验过程和实验结果。

Page 68: EDA 技术 实用教程

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

Page 69: EDA 技术 实用教程

KKX康芯科技

A5+5A+1 (最低进位)=100 ( 16 进制)

溢出进位

输入最低进位位

Page 70: EDA 技术 实用教程

KKX康芯科技

实验 4-3 LPM 模块使用

图 4-53 实验 4-2 电路原理图

Page 71: EDA 技术 实用教程

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 模块使用