EDA 第三章 原理图输入设计方法.

Slides:



Advertisements
Similar presentations
( 3-1 ) 电子技术 数字电路部分 第三章 组合逻辑电路 ( 3-2 ) 第三章 组合逻辑电路 § 3.1 概述 § 3.2 组合逻辑电路分析 § 3.3 利用小规模集成电路设计组合电路 § 3.4 几种常用的中规模组件 § 3.5 利用中规模组件设计组合电路.
Advertisements

第11章 触发器及时序逻辑电路 龚淑秋 制作.
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
在PHP和MYSQL中实现完美的中文显示
组合逻辑2 Combinational Logic
第三章 组合逻辑电路 3.1 组合逻辑电路的特点和任务 3.2 组合逻辑电路的分析和设计 3.3 常用组合逻辑电路 第3章 翻页 上页 下页
时序电路 计数器分析及设计 刘鹏 浙江大学信息与电子工程学院 April 10, 2018 EE141
时序电路 计数器分析及设计 刘鹏 浙江大学信息与电子工程学院 March 31, 2016 EE141
时序逻辑电路 -分析.
第四阶段实验 ISP器件的设计与应用 一、实验目的 二、实验内容与要求 三、ISP器件的开发流程 四、EDA Pro2K实验系统介绍
组合逻辑2 Combinational Logic
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SVN服务器的搭建(Windows) 柳峰
网络常用常用命令 课件制作人:谢希仁.
标 题 栏 菜 单 栏 一、MAX+PLUSⅡ 的环境 工 具 栏 工 作 显 示 区 状 态 栏.
 与非门参数测试与组合逻辑电路设计  集成触发器  计数、译码、显示电路
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
4.2.3 数据选择器 功能:在输入的地址代码指定下从输入的一组数据中选出一个送到输出端。
实验四 组合逻辑电路的设计与测试 一.实验目的 1.掌握组合逻辑电路的设计 方法 2.学会对组合逻辑电路的测 试方法.
大作业要求 1、按照选题要求设计电路,并仿真、下载,实现电路。 2、撰写综合报告.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
实验七 计数器及其应用 一.实验目的 1.掌握中规模集成计数器的使用方法和功能测试方法 2. 运用集成计数器构成任意模值计数器
CPU结构和功能.
14.2 时序逻辑电路的分析 概述 时序逻辑电路是由存储电路和组合逻辑电路共同组成的,它的输出状态不仅与输入有关,还与电路的过去状态有关,即具有存储功能。 输入信号 输出信号 输出方程 驱动方程 描述时序逻辑电路的三个方程 状态方程 存储电路的输入信号 时序逻辑电路构成框图 存储电路的输出信号.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
SOA – Experiment 2: Query Classification Web Service
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
EDA技术 实验步骤.
时序逻辑电路 -分析.
姚金宇 MIT SCHEME 使用说明 姚金宇
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
项目二:HTML语言基础.
3Glasses SDK for Unreal Engine Plugin
第4章 Excel电子表格制作软件 4.4 函数(一).
组合逻辑电路 ——中规模组合逻辑集成电路.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
实验六 基本RS和D触发器的应用.
实验六 触发器逻辑功能测试 一、实验目的 二、实验仪器 1、熟悉并掌握RS、D、JK触发器的构成、工作原理和 功能测试方法。
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
MAX——PLUSⅡ 图形化程序设计 ——数字电子钟的设计 (二十四小时六十分钟六十秒)
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
实验五 MSI组合逻辑功 能部件的应用与测试
第4章 QuartusⅡ应用指南.
Altera QuartusⅡ软件操作基础
HSC高速输出例程 HORNER APG.
VRP教程 2011.
SCI收录号查询方法介绍 上海大学情报研究所
可编程逻辑器件器件的应用(讲座1) 兰州石化职业技术学院 电子技术教研室 贾 达.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
现代电子技术实验 同步计数器及其应用研究 实验目的 实验原理 实验内容 注意事项.
信号发生电路 -非正弦波发生电路.
印制板制作软件Protel入门篇.
第八章 常用组合逻辑器件及应用 8.1 编码器 把二进制码按一定规律编排,使每组代码具有一特定的含义,称为编码。
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
FPGA系统设计与实践 本章小结(第5章).
Presentation transcript:

EDA 第三章 原理图输入设计方法

3.1 原理图设计方法 原理图编辑流程 准备:安装max+plusII并进入该环境

STEP5: 启动编译 STEP7:功能仿 真和波形分析 STEP10:时序 仿真和延时分析 STEP1:建立工作库文件夹 原理图/VHDL文本代码 STEP3:存盘,注意 VHDL文件取名! STEP6:建立仿真波形文件 STEP5: 启动编译 STEP4:将设计项 目设置成Project STEP7:功能仿 真和波形分析 STEP9:引脚 锁定并编译 STEP8: 选择目标器件 STEP12: 硬件测试 STEP10:时序 仿真和延时分析 STEP11:编程 下载/配置

1.建立一个新的原理图文件 File > New 选择Graphic Editor file (gdf 格式文件)

2.输入元件 Max+plusII的内建函数 基本元件库——prim,常用基本元件库,如AND、OR、VCC、GND、INPUT、OUTPUT 中规模器件库——mf,数字电路中一些中规模器件库,如74系列逻辑器件。 较大规模器件库——mega_lpm,一些比较大的并可做参数设置的元件,使用中需要对其参数进行设置,称为参数可设置兆功能库.

调出符号 双击空白处 单击右键->enter symbol

可以直接输入符号名,如input,and2,7474等 符号库,第一行是用户的工作库(Work Library)路径。点击任一个库的路径,都会在Symbol Files下显示所有的符号文件名。 最后点击“ok”

元件的编辑 移动 旋转 右键菜单 Edit菜单 删除 复制 简单的方法,“ctrl+移动”

连线 简单的方法: 将两个元件的引脚处对齐,拖动一个元件,自动形成连线 用鼠标画 两个引脚的连线不能重叠 连线不能进入元件的虚线框内部 按下橡皮筋按钮

引脚的命名 双击引脚名 注意 第一个字符必须为英文,以后可用下划线、数字等组合 下划线前后要有字母或数字 “/”“-”“%”都是非法的 大小写的意义一样

总线 先画一条线->单击右键-> Line style->粗线 引脚名或总线名的规则为****[m..n]或者[n..m],其中m>n≥0,最多可以代表256个引脚名。一般采用[n-1..0]。

选中一条细线,当有小■闪烁时,表示可以进行命名 节点 引脚间的连线(细线)可以称为节点,节点是可以命名的,命名规则与引脚相同。 如果不想连线太多,可以对本质上相连的节点取一致的名称 选中一条细线,当有小■闪烁时,表示可以进行命名

3.保存文件 注意最上面的标题栏: 有可能不是 Untitled1 这里是指示环境的当前设计项目 注意此时的文件名 “Untitled1”

注意 为了方便同一个项目下的文件查找方便,最好事先特别建立一个目录为该项目的专用目录,目录下存放所有相关的文件 文件的路径不能包含汉字,不能用空格 保存的文件名不要和库文件名相同,如and2、7402等等

4.将当前设计设置为工程文件 将当前设计设置为工程文件 新建一个Project

5.编译Compile 按下 若有错误->双击Message栏中的红字

注意:此时菜单栏中出现了Processing选项 正确 注意:此时菜单栏中出现了Processing选项 编译器网表cnf 适配 rpt 装配 逻辑综合 数据库建库 时序仿真网表文件snf 逻辑分割

时序仿真与功能仿真

编译器网表cnf 功能仿真网表文件snf 数据库建库

6.建立仿真文件 创建仿真波形文件

注意,波形文件(scf)的名称一定要与对应的原理图文件的名称(gdf)相同

1 3 2 4

对单个输入端子设置波形 波形为低电平 波形为高电平 波形为不确定态 波形为高阻态 波形反相 为波形赋时钟值 为波形赋计数器值

对成组输入端子设置波形 为群组信号赋值 怎样合组?

7.启动仿真 按下仿真按钮

设置仿真栅格单位的意义 仿真栅格单位Grid Size: 规定每个栅格的最小时间单位 ,时间值显示在每个栅格竖线的上方。 仿真栅格单位是设置时钟周期的最小单位,即时钟周期最小等于栅格单位,最大等于栅格单位的倍数。P46(思考题:如何设置Grid Size?时钟信号周期如何设置?)

Grid Size Options-> Grid size 输入网格值,默认100ns

设置仿真终止时间的意义 仿真终止时间End Time:规定何时终止施加输入向量。系统默认为1us,对简单逻辑电路足够了,但复杂电路需要仿真的时间远远超过1us,要人工重新设置。 (如何设置End Time?)

End Time File-> End Time 输入仿真截止时间,默认1us

设置观察时间范围的意义 观察时间范围Time Range:规定仿真波形的可观察范围,要求Time Range<= End Time。(如何设置Time Range ?)

Time Range View-> Time Range 输入可见的时间范围

8.选择器件

再次编译!

9.引线端子适配 按下

分配引脚 方法一:鼠标拖动

方法二:锁定方法 Assign->Pin/Location/Chip

注意 分配引线端子后一定要重新编译 同理,对原理图做任何修改后,也一定要重新编译

10.时序仿真和延时分析

11.器件编程(下载)

12.器件测试 GW48系列实验开发系统

创建自己的元件 首先先检查自己的元件有无错误 Save & Check

半加器 全加器 3.2 1位全加器设计 1位加法器的功能:实现两个1位二进制数相加 只考虑本位两个一位二进制数A和B相加,而不考虑低位进位 3.2 1位全加器设计 1位加法器的功能:实现两个1位二进制数相加 半加器 全加器 只考虑本位两个一位二进制数A和B相加,而不考虑低位进位 既有本位两个一位二进制数A和B相加,又有低位进位Ci

1位半加器的真值表 表中的A和B分别表示两个相加的一位二进制数,S是本位和,Co是进位位。 A B S Co 1

S=AB+AB=A+B Co=AB

全加:将本位两个1位二进制数和来自低位的进位位相加 1位全加器的定义 全加:将本位两个1位二进制数和来自低位的进位位相加 令A和B分别为两个相加的1位二进制数,Ci是来自低位的进位位;S是本位和;Co是进位位。

全加器的真值表 Ci A B S Co 1

S的卡诺图

Co的卡诺图

原理图底层电路设计 原理图由若干个元件组合而成,当有些元件是多个简单元件的组合电路时,为了精确仿真组合元件的特性,必须单独设计组合元件的原理图设计,这种设计称为底层电路设计。

原理图顶层电路设计 当所有的底层元件多设计完毕并生成包装好的单一元件后,再设计一个总原理图,把所有的底层元件调出来,进行导线连接、仿真、编程下载,这种设计称为顶层电路设计。

分层设计的好处 增强设计的可读性,避免在设计中出现大量复杂的组合逻辑影响检查和测试效率 有利于进行模块复制,需要复制的电路模块可以先封装成底层元件,再在顶层设计中重复调用

分层设计的要点 在底层文件设计完成后执行File|Create Default Symbol 命令并编译 在顶层文件中,调用底层设计时

分层设计的要点 在底层文件设计完成后执行File|Create Default Symbol 命令并编译 在顶层文件中,调用底层设计时 顶层文件不能与底层文件名字相同

仿真的要求:所有输入情况都要考虑到,即按照真值表设置仿真波形

技巧:选中合组的引脚,单击右键,选择Enter Group

Ci A B S Co 1

3.3 数字电子钟设计 3.3.1 60进制计数器设计 1、六进制计数器设计 (1)数据选择器设计 3.3.1 60进制计数器设计 1、六进制计数器设计 (1)数据选择器设计 2选1的数据选择器的输入输出引脚如下:控制线1条定义为s;数据输入线2条定义为d0,d1;数据输出线1条定义为y;其真值表如表3-2所示: 表3-2 2选1数据选择器真值表 控制线 输出线 s y d0 1 d1

设计电路图如图3-28所示: 图3-28 2选1数据选择器电路图

(2)六进制计数器的真值表 上周期输出 控制线 输入值 输出 q2 q1 q0 clk clrn load en d2 d1 d0 ⅹ ⅹ ⅹ ⅹ 0 0 0 ↑ 1 a b c 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1

(3)6进制计数器设计 利用数字电路设计方法可设计出各触发器的D输入端的驱动方程分别为:

根据以上驱动方程可设计出图3-29所示的电路图。

(4)仿真6进制计数器 建立波形仿真文件,设置输入信号,如图3-30所示,可以看出,输出信号符合设计要求。

2. 六十进制计数器设计 (1)六十进制计数器的真值表 控制端 十位预置 个位预置 十位输出 个位输出 clk clrn ldn en db[2..0] da[3..0] qb[2..0] qa[3..0] ⅹ ↑ 1 b a q(不变) q=q+1(最高数到59)

(2)六十进制计数器设计

(3)仿真六十进制计数器

3.3.2 十二进制进制计数器设计 1、十二进制计数器真值表 控制端 十位预置 个位预置 十位输出 个位输出 clk clrn ldn en 3.3.2 十二进制进制计数器设计 1、十二进制计数器真值表 控制端 十位预置 个位预置 十位输出 个位输出 clk clrn ldn en db da[3..0] qb qa[3..0] ⅹ ↑ 1 b a q(不变) q=q+1

2.十二进制计数器设计 (1)2进制计数器的设计

(2)十二进制计数器设计 运用10进制计数器74160器件与2进制计数器可以完成12进制计数器的设计

3. 仿真12进制计数器

3.3.3 数字电子钟顶层电路设计 1.数字电子钟顶层电路设计 时针十位 时针个位 分针十位 分针个位 秒针十位 秒针个位 数据预置端 hb 3.3.3 数字电子钟顶层电路设计 1.数字电子钟顶层电路设计 时针十位 时针个位 分针十位 分针个位 秒针十位 秒针个位 数据预置端 hb ha[3..0] mb[2..0] ma[3..0] sb[2..0] sa[3..0] 时钟输出端 qhb qha[3..0] qmb[2..0] qma[3..0] qsb[2..0] qsa[3..0] 计数器进制 12进制计数器 60进制计数器 显示数字 00--11 00--59

2.仿真数字钟

3.4 利用LPM兆功能块的电路设计 3.4.1 常用LPM兆功能块 分类 宏单元 注释 门 单 元 函 数 Lpm_and 参数化与门 Lpm_bustri 参数化三态缓冲器 Lpm_clshift 参数化组合逻辑移位器 Lpm_constant 参数化常数产生器 Lpm_decode 参数化解码器 Lpm_inv 参数化反向器 Lpm_mux 参数化多路选择器 busmux 参数化总线选择器 mux 多路选择器 Lpm_or 参数化或门 Lpm_xor 参数化异或门

算 术 运 函 数 Lpm_abs 参数化绝对值运算 Lpm_add_sub 参数化加/减法器 Lpm_compare 参数化比较器 Lpm_counter 参数化计数器 Lpm_mult 参数化乘法器 存 储 Lpm_ff 参数化D触发器 Lpm_latch 参数化锁存器 Lpm_ram_dq 输入/输出分开的参数化RAM Lpm_ram_io 输入/输出复用的参数化RAM Lpm_rom 参数化ROM Lpm_shiftreg 参数化移位寄存器 用户 定制 函数 Csfifo 参数化先进先出队列 Csdpram 参数化双口RAM

3.4.2 基于LPM-COUNTER的数据分频器设计 data[]:置入计数器的并行数据输入。 clock:上升沿触发计数时钟输入。 clk_en:高电平使能所有同步操作输入信号。 cnt_en:计数使能控制,但不影响其他控制信号,如sload、sset、sclr等。 updown:计数器加减控制输入。 cin:最低进位输入 aclr:异步清零输入 aset:异步置位输入 sload:在clk的上升沿同步并行数据加载输入。 Q[]:计数输出。 cout:计数进位或借位输出。 LPM_WIDTH:计数器位宽。

3.4.3 制作一个兆功能模块

3.5 波形输入设计 3.5.1 创建波形设计新文件并指定工程名称

3.5.2 创建输入、输出和隐埋节点

Node Name Default Value I/O Type Node Type Secondary Inputs speed x Buried Machine Reset=reset Clock=clk Get_ticket Output Pin Registered

3.5.3 编辑隐埋状态机节点波形 (1)在菜单栏中选择Option/Grid Size命令,弹出Grid Size对话框,在其中输入“30.0ns”,即把网格尺寸设置为30ns。 (2)单击“Speed”节点的“Value”区,选中它的整个波形。 (3)在菜单栏中选择Edit/Overwrite/State Name命令,或是直接单击波形编辑器窗口左侧的按钮,这时会弹出Overwrite State Name对话框,如图3-46所示。

(4)在State Name文本框中输入“legal”,单击OK按钮,整个波形都被状态名“legal”覆盖。 (5)结合波形编辑器窗口左侧的按钮和窗口滚动条使波形300ns~540ns之间的区域显示出来。 (6)单击波形编辑器窗口左侧的波形编辑按钮,鼠标指针的形状也发生了相应变化。参考波形编辑器窗口内上方的“时间”区域,在“Speed”节点波形的300 ns处按下鼠标,拖动到540ns处松开,这之间的区域被选中,同时(Overwrite state Name)对话框自动弹出。 (7)在(state name)文本框中输入“warning ”,单击OK按钮确认,300ns-540ns之间的波形区域被状态名“warning”所覆盖。

全部波形区域,如图3-47所示。 (8)重复步骤(5)-(7),用状态名“ticket”覆盖540ns-660ns之间的波形区域。 (9)单击波形编辑器窗口左侧的 按钮,可以查看 全部波形区域,如图3-47所示。

3.5.4 编辑输入和输出节点波形 (1) 单击波形编辑器窗口左侧的波形编辑按钮后,用鼠标指针拖动选中“accel_in ”节点波形中270ns-330ns之间的区域,松开鼠标左健后这一段区域会自动变成高电平(与初始的低电平相对)。当状态机“speed”处于“legal ”状态时遇到“accel_in”的高电平,会转变成“warning ”状态,表示第1次超速。 (2) 重复步骤(1)中的操作,将“accel_in”节点波形中510ns-570ns之间的区域也变成高电平,当状态机“speed ”处于“warning” 状态时遇到“accel_in”的高电平,会转变成“ticket”状态,表示由于第2次超速而得到罚单

(3) 按下ESC 键,或是单击(波形编辑器)窗口左侧的按钮,使鼠标指针恢复选择状态,拖动鼠标选中“accel_in”节点波形国630ns-690ns之间的区域,选择菜单栏中的(Edit)/( overqrite)/(undefined(x))命令,或直接单击(波形编辑器)窗口左侧的按钮,使这一段变成不定状态。 (4)“reset”节点波形不用作任何修改,保持为低电平。 (5) 选中“clk”节点的整个波形,方法可以是单击“clk节点的“Name”、“Type”和“Value”中任何一个区域。选择菜单栏中的Edit/Overwrite/clock命令,或者直接单击波形编辑窗口左侧的按钮,这时将会弹出Overwrite Clock对话框如图3-48所示,在Multiplied By对话框中输入“2”,单击OK按钮确认。

(6) 编辑输出节点“get_ticket”的波形,使其540ns~660ns之间的区域变为高电平,它对应着状态机“Speed”的“ticket”状态,表示得到罚单,至此所有节点波形都已编辑完成,如图3-49所示。

(1) 在鼠标指针处于选择状态时,点击波形区域的0ns处,或者拖动参考柄,将指针移到波形的起点处。 3.5.5 查看波形情况 (1) 在鼠标指针处于选择状态时,点击波形区域的0ns处,或者拖动参考柄,将指针移到波形的起点处。 (2)按键盘的“ ”键,可使参考指针跳至下一个逻辑电平跳变沿处,也可通过选择菜单栏中的Utilities/Find Next Transition命令来实现本步操作。 (3) 重复移动参考指针到每个跳变沿处,跳变沿的逻辑电平值或状态名将显示在Value区。

3.5.6 保存文件并检查错误 在菜单栏中选择File/Project/Save & Check命令保存当前文件并检查语法错误,系统会自动启动编译器并给出检查报告。检查通过后关闭编译器,返回文本编辑器窗口。 3.5.7 创建默认的功能模块 在菜单栏中选择File/Create Default Symbol命令,将当前设计文件创建成同名的一个功能模块