eda 原理图
EDA技术简介
实体说明
图5-3 mux21a实体 实体
ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE b ; END ARCHITECTURE one ;
EDA技术 EDA技术
2、主流器件 、
◆ FPGA 现场可编程门阵列) (Field Programmable Gate Array现场可编程门阵列) 现场可编程门阵列 ◆ CPLD 复杂可编程逻辑器件) (Complex Programmable Logic Device复杂可编程逻辑器件) 复杂可编程逻辑器件
功能仿真
逻辑综合器
FPGA/CPLD
适配
结构综合器
时序与功能 门级仿真
1、功能仿真 、 2、时序仿真 、
FPGA/CPLD 编程下载
EDA技术 EDA技术
二、 FPGA最小系统 最小系统
EDA技术 EDA技术 1、EP1K100B+ 零售价:450元(含EPC2芯片 零售价: 元 芯片) 、 芯片
EDA技术 EDA技术
技术? 一、EDA技术? 技术
EDA( Automation电子设计自动化 电子设计自动化) ● EDA(Electronic Design Automation电子设计自动化) 是指利用计算机完成电子系统的设计。 是指利用计算机完成电子系统的设计。
EDA技术是以计算机和微电子技术为先导, 技术是以计算机和微电子技术为先导 ● EDA技术是以计算机和微电子技术为先导, 汇集了计算机图 形学、 拓扑、 逻辑学、 形学、 拓扑、 逻辑学、 微电子工艺与结构学和计算数学 等多种计算机应用学科最新成果的先进技术。 等多种计算机应用学科最新成果的先进技术。 EDA技术以计算机为工具, 技术以计算机为工具 ● EDA技术以计算机为工具, 代替人完成数字系统的逻辑综 合、布局布线和设计仿真等工作。 布局布线和设计仿真等工作。 等工作
EDA技术及其应用
在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试
仿真
时序仿真
功能仿真
1.6 PLD
1.6.1 PLD的分类
集成度
低集成度芯片 高集成度芯片
可编程逻辑器件
乘积项结构器件 查找表结构器件
编程工艺
熔丝(Fuse)型器件 反熔丝(Anti-fuse)型器件 EPROM型 EEPROM型 SRAM型
逻辑综合
版图综合 结构综合
1.5 面向FPGA的EDA开发流程
1.5.3 适配(布线布局)
适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置 于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的 文件。适配所选定的目标器件必须属于原综合器指定的目标器件系列。
1.5.4 仿真
●系统板设计结束后仍可利用计算机对 硬件系统进行完整的测试。
1.5 面向FPGA的EDA开发流程
1.5.1 设计输入
图1-1 FPGA的EDA开发流程
1.5 面向FPGA的EDA开发流程
1.5.1 设计输入 1. 图形输入
状态图输入 波形图输入 原理图输入
2. 硬件描述语言文本输入
将使用了某种硬件描述语言(HDL)的电路设计文本,如 VHDL或Verilog的源程序,进行编辑输入。
EDA技术为现代电子理论和设计的表达与实现提供了可能性。
1.1 EDA技术
EDA技术发展阶段
20世纪70年代 MOS工艺已得到广泛的应用 20世纪80年代 集成电路设计进入了CMOS(互补场效应管)时代 20世纪90年代 EDA技术推向成熟和实用
21世纪后
▲在FPGA上实现DSP应用 ▲在一片FPGA中实现一个完备的嵌入式系统 ▲ EDA软件不断推出 ▲ EDA使得电子领域各学科的界限更加模糊,更加互为包容 ▲基于EDA的用于ASIC设计的标准单元已涵盖大规模电子系统及复杂IP核模块 ▲软硬IP(Intellectual Property)核广泛应用 ▲ SoC高效低成本设计技术的成熟 ▲系统级、行为验证级硬件描述语言的出现,使复杂电子系统的设计和验证趋于简单
集成电路设计的EDA系统.pptx
第12页/共75页
逻辑模拟
• 逻辑模拟的基本概念:将逻辑设计输入到计算机,用软件方法形成硬件的模型, 给定输入波形,利用模型算出各节点和输出端的波形,判断正确否
• 主要作用:验证逻辑功能和时序的正确性
• 分类:根据所模拟逻辑单元规模的大小
• 整个设计过程就是把高层次的抽象描述逐级向下进行综合、验证、实现,直到物理级的低层次描述,即掩 膜版图。
• 各设计阶段相互联系,例如,寄存器传输级描述是逻辑综合的输入,逻辑综合的输出又可以是逻辑模拟和 自动版图设计的输入,版图设计的结果则是版图验证的输入。
• ICEDA系统介入了包括系统功能设计、逻辑和电路设计以及版图设计等在内的集成电路设计的各个环节
• 分配:给定性能、面积/功耗条件下,确定相应的RTL级单元来实现各种操 作,产生相应的数据通道,即将行为(如数据处理、存储、传输等)与元件 对应起来
• 调度:确定这些操作单元的次序 • 结果:与工艺无关的通用RTL级单元组成的结构描述
第8页/共75页
逻辑综合
• 概念:通过逻辑综合器结合单元库,将RTL级描述转换成逻辑级描述 • 核心:由给定的功能和性能要求,在一个包含许多结构、功能、性能已知的逻辑
• VHDL • Verilog HDL
第6页/共75页
综合
• 概念:通过附加一定的约束条件,结合相应的单元库,从设计的高层次向低层 次转换的过程,是一种自动设计的过程
• 分类: • 高级综合:从算法级到寄存器传输(RTL)级 • 逻辑综合:从寄存器传输级到逻辑级
第7页/共75页
高级综合
• 概念:结合RTL级单元库,将算法级描述转换成RTL级描述 • 核心:分配(ALLOCATION)和调度(SCHEDULING)
EDA原理及应用 共263页PPT资料
EDA技术发展历史
EDA技术随着计算机、集成电路、电子系统设 计的发展,经历了三个发展阶段:
1、计算机辅助设计(CAD) 2、计算机辅助工程设计(CAE) 3、电子设计自动化(EDA)
1、计算机辅助设计(CAD)
硬件设计发展的初级阶段。在此阶段,大量选用中 小规模标准集成电路,将产品设计过程中高度重复 性的布图布线工作,采用二维图形编辑与分析的 CAD工具。由于PCB布图布线工具受到计算机工作 平台的制约,其支持的设计工作有限且性能比较差。
广义EDA技术,是通过计算机及其电子系统的辅助 分析和设计软件,完成电子系统某一部分的设计过 程。因此,广义EDA技术除了包含狭义的EDA技术 外,还包括计算机辅助分析CAA技术(如PSPICE, EWB,MATLAB等),印刷电路板计算机辅助设计 PCB-CAD技术(如PROTEL,ORCAD等)和其它高 频和射频设计和分析的工具等。
2、设计输入 设计输入是将所设计的系统或电路以开发软件要求 的某种形式表示出来,并输入EDA工具的过程。常 用的方法有硬件描述语言(HDL)和原理图输入方 法等。 原理图输入方式是一种最直接的描述方式,在可编 程芯片发展的早期应用较广,它将所需的器件从元 件库中调出来,画出原理图。这种方法虽然直观并 易于仿真,但效率低,且不易维护。更主要的缺点 是可移植性差。 HDL语言输入法利用文本描述设计,主要使用行为 级HDL,其主流语言是Verilog HDL和VHDL。
6、大多数EDA软件都具有仿真和模拟功能;
EDA技术的主要内容
基于狭义EDA技术进行可编程逻辑器件的设计应掌 握以下几个方面的内容: 1、大规模可编程逻辑器件PLD,是利用EDA技术 进行电子系统设计的载体; 2、硬件描述语言HDL,是利用EDA技术进行电子 系统设计的主要表达手段; 3、EDA设计软件EDAS:是利用EDA技术进行电 子系统设计的自动化设计工具; 4、相关的硬件平台,是利用EDA技术进行电子系 统设计的下载工具及硬件验证工具;
电子系统设计自动化EDA第3章 Altium Designer原理图设计实例
3.2.5 放置导线
(4)将光标移到要连接的元件引脚上单击,这两 个引脚的电气点就用导线连接起来了
(5)系统默认放置导线时,用鼠标单击的两个电 气点为导线的起点和终点,即第一个电气点为导线 的起点,第二个电气点为终点
1. 原理图上元件参数的直接标识
双击所要 编辑的元 件即可弹 出元件属 性对话框
3.3.3 元件参数的直接标识和编辑
元件属性对话框上“Properties”栏中 “Comment”项的“Visible” “Parameters for...”栏中“Value”
3.3.3 元件参数的直接标识和编辑
第3章 原理图设计实例
本章通过实例,学习Altium Designer电 路原理图的绘制方法。
第3章 原理图设计实例
3.1 原理图设计流程 3.2 原理图的设计 3.3 原理图的编辑与调整 3.4 原理图的检查 3.5 原理图的报表 3.6 原理图的打印输出
3.1 原理图设计流程
3.2 原理图的设计
(2)把元件移动到合适的位置放开左键,元件就 被移动到该位置
3.2.5 放置导线
(1)执行菜单命令【Place】/【Wire】或单击 布线工具栏的 按钮
(2)光标移动到元件的引脚端 (电气点)时,光标中心的“×” 号变为一个红连接 (3)单击,导线的起点就与元件 的引脚连接在一起了
本节通过一个一个接触式防盗报警电路实 例来讲解电路原理图设计的基本过程。
3.2.1 创建一个项目
(1)启动Atium Designer系统。 (2)执行菜单命令【File】/【New】/【PCB Project】,弹出项目面板 (3)执行菜单命令【File】/ 【Save Project】, 在弹出的保存文件的对话框中输入文件名
EDA含有(程序-示例图全套)实验报告(吐血推荐)
实验报告(2012----2013学年第一学期)课程名称:EDA技术专业班级:学号:姓名:实验一:原理图输入法设计与仿真实验时间:2012年10月19日(第七周)六、实验心得实验二七人表决器的设计3、引脚匹配实验三 显示电路设计一、实验目的1、学习7段数码显示译码器设计;2、学习VHDL 的多层设计方法。
二、实验仪器设备1、PC 机一台2、GW48-PK2系列SOPC/EDA 实验开发系统 三、实验原理1、七段数码显示工作原理(共阴极接法)7 段数码是纯组合电路,通常的小规模专用IC ,如74 或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2 进制的,所以输出表达都是16 进制的,为了满足16 进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD 中来实现。
作为7 段译码器,输出信号LED7S 的7 位分别接数码管的7 个段,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管的7 个段:g 、f 、e 、d 、c 、b 、a 分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h 。
2、显示代码概念 显示代码a b cdefg四、实验内容1、编写7段译码器VHDL 源程序。
2、在Quartus Ⅱ软件上编译和仿真。
3、锁定管脚,建议选择实验电路模式6,显示译码输出用数码8 显示译码输出(PIO46-PIO40),键8、键7、键6 和键5 四位控制输入。
4编程下载与硬件验证。
5、记录系统仿真和硬件验证结果。
五、实验结果:2、波形仿真图:4、 引脚锁定:六、实验心得: 其实本实验的显示我们在模电里面就学习过了,也用集成块进行过实验,本实验用程序加硬件完成。
真所谓条条道路通罗马!实验四 四位全加器一、实验目的通过实验让学生熟悉Quartus Ⅱ的VHDL 文本设计流程全过程,掌握组合逻辑电路的文本输入设计法,通过对设计电路的仿真和硬件验证,让学生进一步了解加法器的功能。
eda原理图
1. 系统概述
MAX+plus II是Altera公司在 Windows 环 境下开发的可编程逻辑设计软件平台。该系 统将数字电路设计集成在一个环境内,支持 Altera公司的可编程器件,允许多种输入方式 的设计文件。经过系统编辑器的编译、综合 等操作,对设计进行功能模拟、逻辑分析、 自动布局布线、延时时间分析、下载编程, 最后将电路分配到一个或多个器件中。
六、EDA软件工具介绍
(一)EDA工具的基本功能(PLD-->ASIC) PLD:Programmable Logic Device
ASIC:Application Specific Integrated
Circuit (二) PLD器件的开发设计流程 (三) EDA工具的应用环境 (四) EDA工具的来源
3. 推荐的系统配置
500MHz以上奔腾PC机; Windows98或更高版本; 有效内存和物理存储空间与使用的器件有关。
器件系列 ACEX1K FLEX10K FLEX8000 FLEX6000 MAX9000 MAX7000
有效内存 256 256 64 64 64 48
物理RAM 128 128 32 32 32 16
特点
EDA课程的教学目标
了解可编程逻辑器件的基本原理,掌握一种
描述语言,掌握一种设计软件,具备有效地 完成数字系统设计的能力。
EDA课程的考核要求
EDA课程教材及参考资料 教材:专用集成电路与电子设计自动化 图书馆的参考书籍及相关期刊资料
实验指导书 —— 自编
相关网站:学院教学网站及国际著名公司网站
EDA软件工具 ---- MAX+plus II MAX+plus : Multiple Array Matrix and
EDA教程 第四章_原理图输入方法
KX
康芯科技
最后点击" 最后点击"OK"
图4-9 列出并选择需要观察的信号节点
用此键选择左窗 中需要的信号 进入右窗
KX
康芯科技
(3) 设置波形参量. 设置波形参量.
消去这里的勾, 消去这里的勾, 以便方便设置 输入电平
图4-9 列出并选择需要观察的信号节点
菜单中消去网格对齐Snap to Grid的选择 消去对勾 的选择(消去对勾 图4-10 在Options菜单中消去网格对齐 菜单中消去网格对齐 的选择 消去对勾)
目 标 器 件 引 脚 名 和 引 脚 号 对 照 表
KX
康芯科技
选择实验板上 插有的目标器件
键8的引脚名 的引脚名 键8的引脚名 的引脚名 对应的引脚号
KX
康芯科技
引脚对应情况
实验板位置 1, 8: 1, 键 8: 2,键7 , 3,发光管8 ,发光管 4,发光管7 ,发光管 半加器信号 a b co so 通用目标器件引脚名 PIO13 PIO12 PIO23 PIO22 目标器件EP1K30TC144引脚号 引脚号 目标器件 27 26 39 38
(4) 设定仿真时间. 设定仿真时间.
KX
康芯科技
选择END TIME 选择 调整仿真时间 区域. 区域.
选择60微秒 选择 微秒 比较合适
图4-11 设定仿真时间
(5) 加上输入信号. 加上输入信号.
KX
康芯科技
(6) 波形文件存盘. 波形文件存盘.
用此键改变仿真 区域坐标到合适 位置. 位置.
(3) 了解设计项目速度 延时特性 了解设计项目速度/延时特性
KX
康芯科技
图4-37 寄存器时钟特性窗
EDA实验及程序原理图
实验四原理图实验五:Light实验library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity light isport(clk1: in std_logic;light: buffer std_logic_vector(11 downto 0)); end light;architecture behv of light isconstant len: integer:=11;signal banner: std_logic:='0';signal clk,clk2: std_logic;beginclk<=(clk1 and banner) or (clk2 and not banner);process(clk1)beginif clk1'event and clk1='1' thenclk2<=not clk2;end if;end process;process(clk)variable flag: bit_vector(2 downto 0):="000";beginif clk'event and clk='1' thenif flag="000" thenlight<='1' & light(len downto 1);if light(1)='1' thenflag:="001";end if;elsif flag="001" thenlight<=light(len-1 downto 0) & '0';if light(10)='0' thenflag:="010";end if;elsif flag="010" thenlight(len downto 6)<=light(len-1 downto 6)&'1';light(len-6 downto 0)<='1'&light(len-6 downto 1);if light(1)='1' thenflag:="011";end if;elsif flag="011" thenlight(len downto 6)<='0'&light(len downto 7);light(len-6 downto 0)<=light(len-7 downto 0)&'0';if light(2)='0' thenflag:="100";end if;elsif flag="100" thenlight(len downto 6)<='1'&light(len downto 7);light(len-6 downto 0)<='1'&light(len-6 downto 1);if light(1)='1' thenflag:="101";end if;elsif flag="101" thenlight<="000000000000";flag:="111";elsif flag="111" thenbanner<=not banner;flag:="000";end if;end if;end process;end behv;实验结构框图LED阵列结构--元件例化library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ledall isport(clkin :in std_logic;outera:out std_logic_vector(15 downto 0); outerb:out std_logic_vector(3 downto 0));end ledall;architecture beh of ledall iscomponent pinport(f1m :in std_logic;f800 :out std_logic);end component;component source1port(clk :in std_logic;outer:out std_logic_vector(7 downto 0));end component;component source2port(clk :in std_logic;iner :in std_logic_vector(3 downto 0);outer:out std_logic_vector(3 downto 0));end component;component rom1port(address:in STD_LOGIC_VECTOR (7 DOWNTO 0);inclock:in STD_LOGIC ;q :out STD_LOGIC_VECTOR (15 DOWNTO 0));end component;signal sig0,sig1,sig2:std_logic;signal temp:std_logic_vector(7 downto 0);beginsig1<=not sig0;sig2<=not sig0;U1:source1 port map(sig0,temp(7 downto 0));U2:source2 port map(sig1,temp(3 downto 0),outerb(3 downto 0)); U3:rom1 port map(temp(7 downto 0),sig2,outera(15 downto 0)); U4:pin port map(clkin,sig0);end beh;--分频程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity pin isport(f1m:in std_logic;f800:out std_logic);end pin;architecture behave of pin issignal Count : integer range 0 to 4999;beginDivideCLK :process(f1m)--对1M的信号1000分频 1KHzbeginif (f1m'event and f1m = '1')thenif Count<2499 then f800<='0';Count<=Count+1;elsif Count<4999 then f800<= '1';Count <= Count+1;elsif Count>=4999 then f800<='0';Count<=0; end if;end if;end process;end behave;ROM1程序:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY rom1 ISPORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0));END rom1;ARCHITECTURE SYN OF rom1 ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (15 DOWNTO 0);COMPONENT lpm_romGENERIC (lpm_width : NATURAL;lpm_widthad : NATURAL;lpm_address_control : STRING;lpm_outdata : STRING;lpm_file : STRING);PORT (address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0));END COMPONENT;BEGINq <= sub_wire0(15 DOWNTO 0);lpm_rom_component : lpm_romGENERIC MAP (LPM_WIDTH => 16,LPM_WIDTHAD => 8,LPM_ADDRESS_CONTROL => "REGISTERED",LPM_OUTDATA => "UNREGISTERED",LPM_FILE => "rom1.mif")PORT MAP (address => address,inclock => inclock,q => sub_wire0);END SYN;rom1:rom1_inst : rom1 PORT MAP(address => address_sig,inclock => inclock_sig,q => q_sig);Soucel:library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;entity source isport(clk:in std_logic;outer:out integer range 0 to 255);end source;architecture behave of source isbeginprocess(clk)variable temp:integer range 0 to 255;beginif(clk'event and clk='1')then temp:=temp+1; end if;outer<=temp;end process;end behave;soucel1:--Source1 地址寻址信号library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity source1 isport(clk:in std_logic;outer:out std_logic_vector(7 downto 0));end source1;architecture behave of source1 issignal temp1:std_logic_vector(3 downto 0);--temp1为地址低4位代表一帧数据signal temp2:std_logic_vector(3 downto 0);--temp1为地址高4位代表帧数signal time:integer range 0 to 15;--time为帧循环次数计数每帧扫16遍beginprocess(clk)beginif(clk'event and clk='1')thenif temp1="1111" thenif time<15 then time<=time+1;else time<=0;temp2<=temp2+'1';end if;end if;temp1<=temp1+'1'; --转为下帧数据end if;end process;outer<=temp2 & temp1;end behave;八位十进制频率计实验:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity freq isport(clk :in std_logic;--1Hz 标准时钟fs_in :in std_logic;--被测时钟dout :out std_logic_vector (31 downto 0)--被测时钟频率值);end freq;architecture ex4 of freq issignal clr_cnt :std_logic;--清零测频计数器signal en_cnt :std_logic;--使能测频计数器signal load :std_logic;--加载测量值signal div2clk :std_logic;signal d_temp :std_logic_vector (31 downto 0);--被测时钟频率值缓存器signal c :std_logic_vector (7 downto 0);--进位链component cnt10 isport(clk :in std_logic;--计数时钟clr :in std_logic;--复位ena :in std_logic;--使能qout :out std_logic_vector (3 downto 0);--10进制计数输出car_out :out std_logic --进位);end component;begin--2分频clkprocess(clk)beginif clk'event and clk = '1' thendiv2clk <= not div2clk;end if;end process;--产生控制信号clr_cnt <= '1' when clk = '0' and div2clk = '0' else'0';load <= not div2clk;en_cnt <= div2clk;process(load)beginif load'event and load = '1' thendout <= d_temp;end if;end process;u1 : cnt10 PORT MAP(clk=>fs_in,clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(3 downto 0),car_out=>c(0));u2 : cnt10 port map(clk=>c(0), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(7 downto 4),car_out=>c(1));u3 : cnt10 port map(clk=>c(1), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(11 downto 8),car_out=>c(2));u4 : cnt10 port map(clk=>c(2), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(15 downto 12),car_out=>c(3));u5 : cnt10 port map(clk=>c(3), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(19 downto 16),car_out=>c(4));u6 : cnt10 port map(clk=>c(4), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(23 downto 20),car_out=>c(5));u7 : cnt10 port map(clk=>c(5), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(27 downto 24),car_out=>c(6));u8 : cnt10 port map(clk=>c(6), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(31 downto 28),car_out=>c(7)); end ex4;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk :in std_logic;--计数时钟clr :in std_logic;--复位ena :in std_logic;--使能qout :out std_logic_vector (3 downto 0);--10进制计数输出car_out :out std_logic --进位);end cnt10;architecture ex5 of cnt10 issignal qout_t :std_logic_vector (3 downto 0);begin--10进制计数process(clk,clr)beginif clr = '1' thenqout_t <= x"0";elsif clk'event and clk = '1' thenif ena = '1' thenif qout_t < 9 thenqout_t <= qout_t + '1';elseqout_t <= x"0";end if;end if;end if;end process;--产生进位car_out <= '1' when qout_t = x"9" else'0';qout <= qout_t;end ex5;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity LED isport(din :in std_logic_vector (3 downto 0);dout :out std_logic_vector (7 downto 0) );end entity;architecture ex3 of LED isbeginprocess(din)begincase din iswhen "0000"=> dout <= "00111111";--"0"when "0001"=> dout <= "00000110";--"1"when "0010"=> dout <= "01011011";--"2"when "0011"=> dout <= "01001111";--"3"when "0100"=> dout <= "01100110";--"4"when "0101"=> dout <= "01101101";--"5"when "0110"=> dout <= "01111101";--"6"when "0111"=> dout <= "00000111";--"7"when "1000"=> dout <= "01111111";--"8"when "1001"=> dout <= "01101111";--"9"when "1010"=> dout <= "01110111";--"a"when "1011"=> dout <= "01111100";--"b"when "1100"=> dout <= "00111001";--"c"when "1101"=> dout <= "01011110";--"d"when "1110"=> dout <= "01111001";--"e"when "1111"=> dout <= "01110001"; --"f"when others => dout <= "00000000";end case;end process;end architecture;数字时钟原理图library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk:in std_logic;--时钟输入20MHzclr:in std_logic;--清零端en:in std_logic;--暂停信号mode:in std_logic;--控制信号,用于选择模式inc:in std_logic;--置数信号seg7:out std_logic_vector(6 downto 0);--7段显示控制信号scan:out std_logic_vector(5 downto 0));--数码管地址选择信号end;architecture one of clock issignal state:std_logic_vector(1 downto 0);--定义4种状态signal qhh,qhl,qmh,qml,qsh,qsl:std_logic_vector(3 downto 0);--小时、分、秒的高位和地位signal data:std_logic_vector(3 downto 0);signal cnt:integer range 0 to 5;--扫描数码管的计数器signal clk1khz,clk1hz,clk2hz:std_logic;--1kHz、1Hz、2Hz的分频信号signal blink:std_logic_vector(2 downto 0);--闪烁信号signal inc_reg:std_logic;signal sec,min:integer range 0 to 59;signal hour:integer range 0 to 23;beginprocess(clk)--20000分频,产生1kHz信号,用于扫描数码管variable count:integer range 0 to 9999;beginif clk'event and clk='1' thenif count=9999 then clk1khz<=not clk1khz;count:=0;else count:=count+1;end if;end if;end process;process(clk1khz)--1000分频,产生1Hz信号,用于计时variable count:integer range 0 to 499;beginif clk1khz'event and clk1khz='1' thenif count=499 then clk1hz<=not clk1hz;count:=0;else count:=count+1;end if;end if;end process;process(clk1khz)--500分频,产生2Hz信号,用于数码管闪烁variable count:integer range 0 to 249;beginif clk1khz'event and clk1khz='1' thenif count=249 then clk2hz<=not clk2hz;count:=0;else count:=count+1;end if;end if;end process;process(mode,clr)--模式转换beginif clr='1' then state<="00";elsif mode'event and mode='1' thenstate<=state+1;end if;end process;process(clk1hz,state,en,clr,hour,sec,min)--状态控制beginif en='1' thenhour<=hour;min<=min;sec<=sec;elsif clr='1' thenhour<=0;min<=0;sec<=0;elsif clk1hz'event and clk1hz='1' then case state iswhen "00"=> --模式0,正常计时if sec=59 then sec<=0;if min=59 then min<=0;if hour=23 then hour<=0;else hour<=hour+1;end if;else min<=min+1;end if;else sec<=sec+1;end if;when "01"=> --模式1,设定小时时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if hour=23 then hour<=0;else hour<=hour+1;end if;end if;else inc_reg<='0';end if;when "10"=> --模式2,设定分钟时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if min=59 then min<=0;else min<=min+1;end if;end if;else inc_reg<='0';end if;when "11"=> --模式3,设定秒钟时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if sec=59 then sec<=0;else sec<=sec+1;end if;end if;else inc_reg<='0';end if;end case;end if;end process;process(state,clk2hz)--当进行时间设定时,令数码管闪烁begincase state iswhen"00"=>blink<="000";when"01"=>blink<=(2=>clk2hz,others=>'0');when"10"=>blink<=(1=>clk2hz,others=>'0');when"11"=>blink<=(0=>clk2hz,others=>'0');when others=>null;end case;end process;process(sec)--秒计数的十进制转BCD码begincase sec iswhen 0|10|20|30|40|50=>qsl<="0000";when 1|11|21|31|41|51=>qsl<="0001";when 2|12|22|32|42|52=>qsl<="0010";when 3|13|23|33|43|53=>qsl<="0011";when 4|14|24|34|44|54=>qsl<="0100";when 5|15|25|35|45|55=>qsl<="0101";when 6|16|26|36|46|56=>qsl<="0110";when 7|17|27|37|47|57=>qsl<="0111";when 8|18|28|38|48|58=>qsl<="1000";when 9|19|29|39|49|59=>qsl<="1001";when others=>null;end case;case sec iswhen 0|1|2|3|4|5|6|7|8|9=>qsh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qsh<="0001";when 20|21|22|23|24|25|26|27|28|29=>qsh<="0010";when 30|31|32|33|34|35|36|37|38|39=>qsh<="0011";when 40|41|42|43|44|45|46|47|48|49=>qsh<="0100";when 50|51|52|53|54|55|56|57|58|59=>qsh<="0101";when others=>null;end case;end process;process(min)--分计数的十进制转BCD码begincase min iswhen 0|10|20|30|40|50=>qml<="0000";when 1|11|21|31|41|51=>qml<="0001";when 2|12|22|32|42|52=>qml<="0010";when 3|13|23|33|43|53=>qml<="0011";when 4|14|24|34|44|54=>qml<="0100";when 5|15|25|35|45|55=>qml<="0101";when 6|16|26|36|46|56=>qml<="0110";when 7|17|27|37|47|57=>qml<="0111";when 8|18|28|38|48|58=>qml<="1000";when 9|19|29|39|49|59=>qml<="1001";when others=>null;end case;case min iswhen 0|1|2|3|4|5|6|7|8|9=>qmh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qmh<="0001";when 20|21|22|23|24|25|26|27|28|29=>qmh<="0010";when 30|31|32|33|34|35|36|37|38|39=>qmh<="0011";when 40|41|42|43|44|45|46|47|48|49=>qmh<="0100";when 50|51|52|53|54|55|56|57|58|59=>qmh<="0101";when others=>null;end case;end process;process(hour)--小时计数的十进制转BCD码begincase hour iswhen 0|10|20=>qhl<="0000";when 1|11|21=>qhl<="0001";when 2|12|22=>qhl<="0010";when 3|13|23=>qhl<="0011";when 4|14=>qhl<="0100";when 5|15=>qhl<="0101";when 6|16=>qhl<="0110";when 7|17=>qhl<="0111";when 8|18=>qhl<="1000";when 9|19=>qhl<="1001";when others=>null;end case;case hour iswhen 0|1|2|3|4|5|6|7|8|9=>qhh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qhh<="0001";when 20|21|22|23=>qhh<="0010";when others=>null;end case;end process;process(clk1khz)--数码管动态扫描计数beginif clk1khz'event and clk1khz='1' thenif cnt=5 then cnt<=0;else cnt<=cnt+1;end if;end if;end process;process(cnt,qhh,qhl,qmh,qml,qsh,qsl,blink)begincase cnt iswhen 0=>data<=qsl or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000001";when 1=>data<=qsh or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000010";when 2=>data<=qml or (blink(1)&blink(1)&blink(1)&blink(1));scan<="000100";when 3=>data<=qmh or (blink(1)&blink(1)&blink(1)&blink(1));scan<="001000";when 4=>data<=qhl or (blink(2)&blink(2)&blink(2)&blink(2));scan<="010000";when 5=>data<=qhh or (blink(2)&blink(2)&blink(2)&blink(2));scan<="100000";when others=>null;end case;end process;process(data)--7段译码begincase data iswhen "0000"=>seg7<="1111110";when "0001"=>seg7<="0110000";when "0010"=>seg7<="1101101";when "0011"=>seg7<="1111001";when "0100"=>seg7<="0110011";when "0101"=>seg7<="1011011";when "0110"=>seg7<="1011111";when "0111"=>seg7<="1110000";when "1000"=>seg7<="1111111";when "1001"=>seg7<="1111011";when others=>seg7<="0000000";end case;end process;end;。
Altium-Designer-原理图设计
元件选型和参数设置
元件选型
根据实际需求选择合适的元件型号, 确保元件性能满足设计要求,同时考 虑成本和易用性。
参数设置
根据元件数据手册设置元件参数,包 括电气参数、机械参数和环境参数等 ,确保原理图的准确性和可靠性。
PCB设计的考虑因素
1 2
PCB尺寸
根据实际需求和限制条件,合理规划PCB尺寸, 以满足产品尺寸、重量和散热等方面的要求。
用于绘制矩形或正方形,可以设置左 上角和右下角的坐标来绘制矩形。
画圆工具
用于绘制圆形或椭圆形,可以设置圆 心和半径,也可以通过拖拽来绘制圆 形。
元件库的管理和使用
01
元件库浏览器
02
元件搜索功能
03
元件属性编辑
用于浏览和管理已加载的元件库பைடு நூலகம் 可以添加、删除和重命名元件库。
通过关键字搜索元件库中的元件, 方便用户快速找到所需的元件。
、集成电路、传感器等。
符号
元件在原理图中的表示符号, 不同的元件具有不同的符号。
添加元件库
在Altium Designer中添加所 需的元件库,以便使用其中的
元件和符号。
查找元件
使用Altium Designer的元件 库浏览器查找并选择所需的元
件和符号。
原理图布局
布局原则
在原理图布局时应遵循清晰、 美观、易于阅读的原则。
双击元件后,可以在属性编辑器 中修改元件的属性,如名称、封 装等。
04 原理图设计实例
实例一:简单电路原理图设计
总结词:基础入门
详细描述:介绍如何使用Altium Designer进行简单的电路原理图设计,包括元件库的加载、元件的放置、连线等基本操作, 适合初学者入门学习。
eda原理图
eda原理图
EDA(Electronic Design Automation,电子设计自动化)是现
代电子工程中一项重要的技术。
它利用计算机和特定的软件工具,来辅助设计、验证和生产电子设备、电路板和芯片。
EDA技术主要包含了原理图设计、电路仿真、布局布线和物
理验证等几个方面。
在原理图设计阶段,设计师使用EDA软
件工具绘制电路图,将电子元器件之间的连接和功能关系表示出来。
这些原理图就像电子设计的蓝图,可作为后续仿真和布局布线的基础。
电路仿真是EDA技术中的一个关键步骤。
通过仿真,设计师
可以验证电路的功能和性能,并进行性能优化。
在仿真过程中,EDA软件会根据电路的结构和参数计算电流、电压和功率等
关键指标,并通过波形图和数据分析工具来显示和分析仿真结果。
布局布线是EDA技术中的另一个重要环节。
在布局布线过程中,设计师将电路元器件放置在电路板上,并进行线路的布线连接。
这个过程需要考虑电路元器件的物理约束,如大小、形状和排列方式等。
通过EDA软件的辅助,设计师可以自动完
成电路布局和布线的任务。
最后,物理验证是EDA技术中的最后一步。
设计师需要使用EDA软件来验证所设计的电子产品的物理特性和工作状态。
这个过程可以通过电子测试仪器和EDA软件工具来完成,以
确保电子产品符合设计要求。
综上所述,EDA技术在电子设计中具有重要的作用。
它能够提高设计效率,缩短开发周期,并保证设计的可靠性和性能。
因此,EDA技术在电子工程领域得到了广泛的应用和推广。
EDA技术与应用讲义 第3章 原理图输入设计方法 QUARTUS II版本
有了HDL语言后?
硬件设计人员 的工作过程
已经 类似与
软件设计人员,那么
这种模式的好处是?
让我们先看看原来是如何做的->
Compiler Netlist Extractor (编译器网表提取器)
❖ The Compiler module that converts each design file in a project (or each cell of an EDIF Input File) into a separate binary CNF. The filename(s) of the CNF(s) are based on the project name. Example
电路的模块划分
❖ 人工 根据电路功能 进行 模块划分
❖ 合理的模块划分 关系到
1. 电路的性能 2. 实现的难易程度
❖ 根据模块划分和系统功能 确定: PLD芯片型号
模块划分后,就可以进行 具体设计 了
设计输入
一般EDA软件允许3种设计输入:
1. HDL语言 2. 电路图 3. 波形输入
图形设计输入的过程
件电路图设计 5. 综合调试 6. 完成
设计的几个问题
❖ 如何组织多个设计文件的系统?,项目的概 念。
❖ 时钟系统如何设计?
❖ 电路的设计功耗
❖ 高速信号的软件和硬件设计
The end.
以下内容 为 正文的引用,
可不阅读。
常用EDA工具软件
❖ EDA软件方面,大体可以分为两类:
1. PLD器件厂商提供的EDA工具。较著名的如:
❖ 第三方工具软件是对CPLD/FPGA生产厂家开发软件的补 充和优化,如通常认为Max+plus II和Quartus II对 VHDL/Verilog HDL逻辑综合能力不强,如果采用专用的 HDL工具进行逻辑综合,会有效地提高综合质量。
EDA学习大全PPT课件
图2-12 原理图管理浏览窗口
36
图2-13 添加/删除元件库对话框
37
2.3 放 置 元 件
1 利用浏览器放置元件
▪ 在如图2-12所示中的【Browse】选项的下拉式选 框中,选中【Libraries】项。
▪ 然后单击列表框中的滚动条,找出元件所在的元 件库文件名,单击鼠标左键选中所需的元件库; 再在该文件库中选中所需的元件。
3
2.印制电路板设计系统
▪ 印制电路板设计系统是一个功能强大的印制电 路板设计编辑器,具有非常专业的交互式布线 及元件布局的特点,用于印制电路板(PCB) 的设计并最终产生PCB文件,直接关系到印制 电路板的生产。
▪ Protel 99 SE的印制电路板设计系统可以进行 多达32层信号层、16层内部电源/接地层的布 线设计,交互式的元件布置工具极大地减少了 印制板设计的时间。
▪ 注意文件名后缀为.sch
24
图2-7 新建原理图文件
25
4 设计管理器
▪ 启动protel99se后设计管理器处于打开状态,以 树状结构显示出设计数据库中的文件、组织形式 和库中各文件间的逻辑关系。
▪ 双击文件夹可展开一个树,并可通过单击小加号 展开分支,单击小减号折叠分支,如图2-8所示。
31
图2-10 文档属性对话框
32
Sheet option标签有以下内容:
▪ 图纸走向(orientation):landscape为水平走向,portrait为垂直走向。 ▪ 图纸颜色:border color为图纸边框颜色,sheet color为图纸颜色。 ▪ 图纸尺寸:standard style为国际认可的标准图纸,有18种可供选择。
▪ 设计管理器主要用于管理各种文档,包括创建、 打开、关闭和删除设计数据库文件,删除访问成 员和修改密码与权限等操作。
EDA技术基础(2)--第6章 原理图编辑
6.2.8
1.选中图件
线路布局调整
图件放置完毕,连线前应合理移动位置,即先调整图件布局。 选中图件有以下几种方法。 ⑴ 通 过 菜 单 Edit→Select。 有 Inside Area( 框 内 ) 、 Outside Area( 框 外 ) 、 All( 所 有 ) 、 Net( 同 一 网 络 ) 和 Connection(管脚间实际连接),前两者可通过拉框选中,后两 者通过单击选中。 ⑵通过菜单Edit→Toggle Selection。当图件处于未选取状 态时,可选取图件;当图件处于选取状态时,可解除选取状态。 ⑶利用工具栏按钮 ,用鼠标拉框选取框内图件。 ⑷直接用鼠标的左键点取图件,用这种方法每次只能选取一 个图件。
EDA技术基础(第2版)
机械工业出版社同名教材 配套电子教案
制作:福建信息职业技术学院 郭勇 联系方式:gy_xs@
第6章
Protel99SE原理图编辑
本章要点 6.1 Protel99SE原理图编辑器 6.2 绘制一张简单的原理图 6.3 总线和网络标号的使用 6.4 层次电路图设计 6.5 电气规则检查与网络表生成 6.6 原理图元件设计 6.7 原理图输出
2.进入Protel99SE主界面
启动Protel99SE,进入Protel99SE主窗口,如图6-1所示。 执行File→New建立新的设计数据库,屏幕弹出图6-2所示的 对话框,在Database File Name栏中输入新数据库文件名,系统 默认“MyDesign.ddb”,单击【Browse】可以修改文件的保存位 置;单击Password选项卡可进行密码设置。
设置完毕,单击【OK】进入设计主窗口,如图6-3所示。
6.1.2
启动原理图编辑器
第一讲EDA基础.ppt
EDA技术——EDA基础
1
第第11讲讲 EEDDAA基基础础
EDA技术——EDA基础
2
第第11讲讲 EEDDAA基基础础
• EDA (Electronic Design Automation) • ASIC(Application Specific Integrated Circuit) • SOC (System On Chip) • SOPC (System On A Programmable Chip) • HDL (Hardware Description Language) • IP (Intellectual Property) • FPGA (Field Programmable Gate Array) • CPLD (Complex Programmable Logic Device)
本课程实验采用Altera公司的Flex10K系列芯片,属于 FPGA。
EDA技术——EDA基础
21
第1讲 EDA基础
可编程逻辑器件基础
一、可编程逻辑器件(PLD)的分类 可编程逻辑器件除了提供可编程的与、或阵列以外,还
具有可编程的逻辑宏单元。 逻辑宏单元结构具有以下几个作用: •提供时序电路需要的寄存器和触发器。 •提供多种形式的输入/输出形式。 •提供内部信号反馈。 •分配控制信号,如:CLK、RESET、EN。
EDA技术——EDA基础
16
第1讲
可编程逻辑器件基础 一、可编程逻辑器件 (PLD)的分类
1. 按可编程的部位分类:
• PROM的阵列结构
EDA基础
图例
EDA技术——EDA基础
17
第1讲
可编程逻辑器件基础 一、可编程逻辑器件 (PLD)的分类
EDA层次原理图的设计方法
My51 GNDUnsFra bibliotekecified
51T1 Output
51R1 Input
VCC
Unspecified
GND
Unspecified
Outpu t
⑤执行菜单命令Design/Create Sheet from Symbol.系统会自动创建一个底 层原理图,并且自动命名为51_232_232.SchDoc. (6)绘制原理图;
(1)检查规则的设置 执行菜单命令Project/Project Options,在Error Reporting中进行设置
(2) 检查结果报告 左键单击System,选择Messages 查看 例:以项目555 Astable Multivibrator.PrjPcb为例进行电气检查。
被检查的原理图文档
②将电路原理图所产生的网络表文件与印刷电路板得到的网络表进行比较, 以检查原理图与印刷电路板之间是否一致。 网络表中的内容主要为原理图中各元件的数据(标号、元件类型和包装 信息)以及元件之间网络连接的数据。 网络表在结构上分为两大部分:第一部分为元件描述;第二部分为网 络连接描述
(1)创建网络表 网络表可以由单个原理图文档生成,也可以由项目生成。 由单个原理图文档生成 执行菜单命令Design/Netlist for Document/Protel 由项目生成 执行菜单命令Design/Netlist for Project/Protel (2)网络表的格式 ①元件描述部分
注意:此实例仅仅只是为帮助理解层次原理图的建立,并未考虑电气特性
3. 切换不同层次电路原理图文件 (1)从顶层图切换到子原理图 在顶层图中执行菜单命令Tools/Up/Down Hierachy
altium designer DXP protel99 orcad 封装库大全原理图库
博学之,审问之,慎思之,明辩之,笃行之/item.htm?id=12507579787/在此分享个人整理收集的EDA软件原理图/PCB封装库,以提高大家PCB设计效率!此原理图/封装库陪伴我走过了3年的PCB设计生涯,大分部为原创制作,已经得到实际验证!EDA元件库总览protel99-PCB元件库大全(5个种类)NO.1 IC集成电路原理图元件库(52个)NO.2 jointbar连接器原理图元件库(47个)NO.3 电阻电容电感晶振二极管三极管原理图元件库(78个)NO.4 photounit光电元件原理图元件库(20个)NO.5 others其他原理图元件库(9个)protel99原理图元件库大全(7个种类)NO.1 AVR单片机原理图元件库(28个)NO.2 CMOSTTL74原理图元件库(896个)NO.3 IC集成电路原理图元件库(116个)NO.4 jointbar连接器原理图元件库(48个)NO.5 photounit光电元件原理图元件库(22个)NO.6 电阻电容电感晶振二极管三极管原理图元件库(37个)NO.7 others其他原理图元件库(24个)NO.8 杂原理图元件库(276个)Altium Designer 6原理图元件库大全(7个种类)NO.1 CMOSTTL74原理图元件库(896个)NO.2 IC集成电路原理图元件库(135个)NO.3 jointbar连接器原理图元件库(59个)NO.4 photounit光电元件原理图元件库(22个)NO.5 电阻电容电感晶振二极管三极管原理图元件库(54个)NO.6 others其他原理图元件库(42个)NO.7 杂原理图元件库(277个)Altium Designer 6封装库(PCB)大全(5个种类)NO.1 IC集成电路原理图元件库(52个)NO.2 jointbar连接器原理图元件库(47个)NO.3 电阻电容电感晶振二极管三极管原理图元件库(78个)NO.4 photounit光电元件原理图元件库(20个)NO.5 others其他原理图元件库(9个)DXP2004封装库(PCB)大全(5个种类)NO.1 IC集成电路原理图元件库(52个)NO.2 jointbar连接器原理图元件库(47个)NO.3 电阻电容电感晶振二极管三极管原理图元件库(78个)NO.4 photounit光电元件原理图元件库(20个)NO.5 others其他原理图元件库(9个)另外赠送:1、官方最新Altium Designer PCBfootprints 封装库2、官方最新Altium Designer 2004 PCBfootprints 封装库3、Protel DXP指导教程.pdf4、Altium Designer 6 初学教程/Atuim Designer 6教程5、PROTEL99SE提高教程1 框架结构:分为原理图元件库和PCB元件库两个库,每个库做为一个单独的设计项目1.1 依据元器件种类,原理图元件库包括以下16个库:1.1.1 单片机1.1.2 集成电路1.1.3 TTL74系列1.1.4 COMS系列1.1.5 二极管、整流器件1.1.6 晶体管:包括三极管、场效应管等1.1.7 晶振1.1.8 电感、变压器件1.1.9 光电器件:包括发光二极管、数码管等1.1.10 接插件:包括排针、条型连接器、防水插头插座等1.1.11 电解电容1.1.12 钽电容1.1.13 无极性电容1.1.14 SMD电阻1.1.15 其他电阻:包括碳膜电阻、水泥电阻、光敏电阻、压敏电阻等1.1.16 其他元器件:包括蜂鸣器、电源模块、继电器、电池等1.2 依据元器件种类及封装,PCB元件封装库包括以下11个库:1.2.1 集成电路(直插)1.2.2 集成电路(贴片)1.2.3 电感1.2.4 电容1.2.5 电阻1.2.6 二极管整流器件1.2.7 光电器件1.2.8 接插件1.2.9 晶体管1.2.10 晶振1.2.11 其他元器件2 PCB元件库命名规则2.1 集成电路(直插)用DIP-引脚数量+尾缀来表示双列直插封装尾缀有N和W两种,用来表示器件的体宽N为体窄的封装,体宽300mil,引脚间距2.54mmW为体宽的封装, 体宽600mil,引脚间距2.54mm如:DIP-16N表示的是体宽300mil,引脚间距2.54mm的16引脚窄体双列直插封装2.2 集成电路(贴片)用SO-引脚数量+尾缀表示小外形贴片封装尾缀有N、M和W三种,用来表示器件的体宽N为体窄的封装,体宽150mil,引脚间距1.27mmM为介于N和W之间的封装,体宽208mil,引脚间距1.27mmW为体宽的封装, 体宽300mil,引脚间距1.27mm如:SO-16N表示的是体宽150mil,引脚间距1.27mm的16引脚的小外形贴片封装若SO前面跟M则表示为微形封装,体宽118mil,引脚间距0.65mm2.3 电阻2.3.1 SMD贴片电阻命名方法为:封装+R如:1812R表示封装大小为1812的电阻封装2.3.2 碳膜电阻命名方法为:R-封装如:R-AXIAL0.6表示焊盘间距为0.6英寸的电阻封装2.3.3 水泥电阻命名方法为:R-型号如:R-SQP5W表示功率为5W的水泥电阻封装2.4 电容2.4.1 无极性电容和钽电容命名方法为:封装+C如:6032C表示封装为6032的电容封装2.4.2 SMT独石电容命名方法为:RAD+引脚间距如:RAD0.2表示的是引脚间距为200mil的SMT独石电容封装2.4.3 电解电容命名方法为:RB+引脚间距/外径如:RB.2/.4表示引脚间距为200mil, 外径为400mil的电解电容封装2.5 二极管整流器件命名方法按照元件实际封装,其中BAT54和1N4148封装为1N41482.6 晶体管命名方法按照元件实际封装,其中SOT-23Q封装的加了Q以区别集成电路的SOT-23封装,另外几个场效应管为了调用元件不致出错用元件名作为封装名2.7 晶振HC-49S,HC-49U为表贴封装,AT26,AT38为圆柱封装,数字表规格尺寸如:AT26表示外径为2mm,长度为8mm的圆柱封装2.8 电感、变压器件电感封封装采用TDK公司封装2.9 光电器件2.9.1 贴片发光二极管命名方法为封装+D来表示如:0805D表示封装为0805的发光二极管2.9.2 直插发光二极管表示为LED-外径如LED-5表示外径为5mm的直插发光二极管2.9.3 数码管使用器件自有名称命名2.10 接插件2.10.1 SIP+针脚数目+针脚间距来表示单排插针,引脚间距为两种:2mm,2.54mm 如:SIP7-2.54表示针脚间距为2.54mm的7针脚单排插针2.10.2 DIP+针脚数目+针脚间距来表示双排插针,引脚间距为两种:2mm,2.54mm 如:DIP10-2.54表示针脚间距为2.54mm的10针脚双排插针2.10.3 其他接插件均按E3命名2.11 其他元器件详见《Protel99se元件库清单》3 SCH元件库命名规则3.1 单片机、集成电路、二极管、晶体管、光电器件按照器件自有名称命名3.2 TTL74系列和COMS系列是从网上找的元件库,封装和编码需要在画原理图时重新设定3.3 电阻3.3.1 SMD电阻用阻值命名,后缀加-F表示1%精度,如果一种阻值有不同的封装,则在名称后面加上封装如:3.3-F-1812表示的是精度为1%,封装为1812,阻值为3.3欧的电阻3.3.2 碳膜电阻命名方法为:CR+功率-阻值如:CR2W-150表示的是功率为2W,阻值为150欧的碳膜电阻3.3.3 水泥电阻命名方法为:R+型号-阻值如:R-SQP5W-100表示的是功率为5W,阻值为100欧的水泥电阻3.3.4 保险丝命名方法为:FUSE-规格型号,规格型号后面加G则表示保险管如:FUSE-60V/0.5A表示的是60V,0.5A的保险丝3.4 电容3.4.1 无极性电容用容值来命名,如果一种容值有不同的封装,则在容值后面加上封装。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、EDA发展概况 电子系统设计自动化是发展的必然趋势 (1)电子产品的功能越来越复杂,要求越来越精细 (2)电子产品设计的复杂性,对正确性要求越来越高 (3)电子产品市场竞争的激烈程度,要求产品的设计周 期越来越短。 EDA的发展概况 (1)70年代的计算机辅助设计CAD阶段 (2)80年代的计算机辅助工程设计CAE阶段 (3)90年代的电子系统设计自动化ESDA阶段
1.硬件设计规模大,可靠性差。 2.只有在设计出样机搭接实际电路后才能进行实测。 3.复杂电路的设计与调试十分困难。如果某一过程 存在错误,查找和修改十分不便。 3.设计周期长,设计成本高。 4.设计实现过程与具体生产工艺直接相关,可移植 性差。
现代电子设计特点:
1. 系统的硬件规模减小,系统可靠性提高
触发器选择求解方程式逻辑图
数字逻辑电路前续课程回顾 数字电路设计使用器件 -- 中、小规模器件 (74系列、4000系列) 编码器(74LS148) 译码器(74LS138、74LS154) 比较器(74LS85) 计数器(74LS190、74LS191) 移位寄存器(74LS194) ………
1. 系统概述
MAX+plus II是Altera公司在 Windows 环 境下开发的可编程逻辑设计软件平台。该系 统将数字电路设计集成在一个环境内,支持 Altera公司的可编程器件,允许多种输入方式 的设计文件。经过系统编辑器的编译、综合 等操作,对设计进行功能模拟、逻辑分析、 自动布局布线、延时时间分析、下载编程, 最后将电路分配到一个或多个器件中。
EDA课程主要教学内容1 --- EDA软件
硬件描述语言VHDL EDA工具主要功能
常用EDA软件工具
实验室提供的工具介绍
EDA课程主要教学内容2 --- PLD器件
可编程逻辑器件初步
复杂可编程逻辑器件CPLD 现场可编程门阵列FPGA
介绍器件的基本结构、主要产品类型、突出
六、EDA软件工具介绍
(一)EDA工具的基本功能(PLD-->ASIC) PLD:Programmable Logic Device
ASIC:Application Specific Integrated
Circuit (二) PLD器件的开发设计流程 (三) EDA工具的应用环境 (四) EDA工具的来源
一、EDA发展概况 随着电子技术、微电子技术和计算机技术的进步,
EDA在最近十多年来,有了很大的发展。 今天的电子系统设计、逻辑设计以及印刷电路板 的版图设计、功能仿真、时序分析、自动测试等, 都可以采用EDA工具自动完成。特别是硬件描述语 言VHDL得到IEEE批准并得到广泛应用,标志着一 个新的EDA发展阶段的到来,用计算机对电子产品 的硬件系统进行自动设计成为现实。 推动这一进程的主要原因是电子系统自身发展的 需要。
5. MAX+plus II 设计流程 (1)设计输入:多种输入方式。 (2)设计处理:编译、网表文件提取、逻辑综合、逻
辑分割、器件适配。 (3)设计校验:延时参数提取,进行与实际相同的仿 真。 (4)下载编程:将配置文件经编程电缆配置的器件中。 (5)实测:如果有错误,重新返回至设计输入。
2. 系统特点 (1)开放的界面:可以与其它工业标准的工具相连 (2)与结构无关:支持多系列芯片 (3)多平台:PC机、SUN工作站、HP工作站 (4)完全集成化的开发环境:
(5)丰富的设计库:74全系列和特殊功能的逻辑宏单
元 (6)硬件描述语言:AHDL/VHDL/Verilog HDL (7)宏模块功能: (8)开放核特性:可添加自己认为有价值的宏函数
最大的PLD供应商之一
FPGA的发明者,最大的PLD供应商之一
ISP技术的发明者
提供军品及宇航级产品
2. 软件公司开发的通用软件工具 特点:工业界认可的标准工具。硬件环境要
四、面向系统VLSI的EDA技术 1.系统VLSI的设计问题 高度集成化技术、混载技术 2.硬件/软件的协同设计 传统的系统设计中存在的问题 理想的协同设计方法 3.IP可重用设计技术 IP: Intellectual Property,知识所有权。 这里指的是系统LSI设计方面具有特别功能的虚拟 电路模块。
二、EDA系统构成
EDA技术涉及的对象是电子设计的全过程,研究 的领域相当广泛。如果从ASIC开发与应用的角度看, 其系统构成: 1. 设计输入模块 2. 设计数据库模块 3. 分析验证模块 4. 综合仿真模块 5. 布局布线模块
三、新一代EDA技术 设计输入工具的发展 2. 具有混合信号处理能力的EDA工具 3. 高难度的技术开发 4. 高性能计算机系统的支持
特殊设计载体、系统设计的表达方式、开发工具自动 完成编译、综合、布局布线、编程下载,形成专用集成芯 EDA技术 片。 数字电路设计 模拟电路设计
版图设计
PCB设计
PLD设计
高速电路设计
软件语言与硬件描述语言的比较
(a)软件语言设计目标流程 软件程序编译器 COMPILER CPU指令/数据代码: 010010 100010 1100
数字逻辑电路前续课程回顾
设计方法的局限性 卡诺图只适用于输入信号少的函数化简。
采用“搭积木”的方法进行设计。要求熟悉各种
中小规模芯片的使用方法,从中挑选最合适的器 件,缺乏灵活性。 设计系统所需要的芯片种类多,且数量很大。
数字逻辑电路前续课程回顾
采用中小规模器件的局限性 电路板面积大,芯片数量多,功耗大,可靠性低
3. 推荐的系统配置
500MHz以上奔腾PC机; Windows98或更高版本; 有效内存和物理存储空间与使用的器件有关。
器件系列 ACEX1K FLEX10K FLEX8000 FLEX6000 MAX9000 MAX7000
有效内存 256 256 64 64 64 48
物理RAM 128 128 32 32 32 16
EDA软件工具 ---- MAX+plus II MAX+plus : Multiple Array Matrix and
Programmable Logic Use System 1. 系统概述 2. 系统特点3;plus II 软件设计流程
-- 希望提高芯片的集成度 设计比较困难--希望能方便地发现设计错误
电路修改很麻烦--希望提供方便的修改手
段 可编程逻辑器件的出现改变了这一切
2
EDA是研究集成电路以及由它所构成的电子系统
的自动设计理论和设计方法。
EDA是研究集成电路以及由它所构成的电子
系统的自动设计理论和设计方法。 一、EDA发展概况 二、EDA系统构成 三、新一代EDA技术 四、面向系统VLSI的EDA技术 五、电子系统的设计方法 六、EDA软件工具介绍
求高,软件投资大,通用性强,不面向具体 公司的PLD器件,功能齐全。
主要软件公司:Viewlogic, Candance, Orcad,
Synopsys, Mentor Graphics, Data I/O
Candance公司的部分软件工具
Composer -- 设计输入环境 FPGA Designer -- FPGA设计 Adv ASIC Physical Designer -- 先进ASIC物理设 计 Leapfrong -- VHDL仿真器 Verilog XL -- 数字仿真器 Analog Artist Design Sys -- 模拟电路设计系统
特点
EDA课程的教学目标
了解可编程逻辑器件的基本原理,掌握一种
描述语言,掌握一种设计软件,具备有效地 完成数字系统设计的能力。
EDA课程的考核要求
EDA课程教材及参考资料 教材:专用集成电路与电子设计自动化 图书馆的参考书籍及相关期刊资料
实验指导书 —— 自编
相关网站:学院教学网站及国际著名公司网站
; ;
数字逻辑电路前续课程回顾
数字电路设计数学基础--逻辑代数
数字电路设计方法
组合电路设计
问题逻辑关系真值表化简逻辑图 时序电路设计 原始状态转换图或转换表状态优化状态分配
计算机 EDA工具
编程器或编程电缆 PLD器件
(五)EDA工具的来源
1. PLD制造厂商开发的专用软件工具 2. 软件公司开发的通用软件工具
1. PLD制造厂商开发的专用软件工具
特点:硬件环境要求低,软件投资小,只针
对本公司的PLD器件。有一定的局限性。 主要PLD器件公司及其EDA工具: Xilinx公司: Foundation,ISE Altera公司: MAX-plus II,Quartus II Lattice公司:ISP Synario System, ISP exporter
五、电子系统的设计方法
电子系统设计方法与EDA工具发展的三代 产品相对应,走过了三个阶段: 硬件设计阶段 微处理器为核心的软件编程设计阶段 硬件系统集成设计阶段
1.设计领域与设计层次 · 设计抽象涉及的两个方面的问题:设计领域与设
计层次。 · 设计领域的划分是针对不同的描述方法而定的。 有:行为域、结构域和物理域。 · 设计层次是设计目标或阶段的抽象表示。 有:系统层、算法层、寄存器层、逻辑层、电路 层和版图层。 2.结构化设计方法 结构化的设计方法可以从四个方面考虑: 层次性、规则性、模块性、局部性