一复杂可编程逻辑器件CPLD.ppt

上传人:本田雅阁 文档编号:3260377 上传时间:2019-08-06 格式:PPT 页数:27 大小:563.54KB
返回 下载 相关 举报
一复杂可编程逻辑器件CPLD.ppt_第1页
第1页 / 共27页
一复杂可编程逻辑器件CPLD.ppt_第2页
第2页 / 共27页
一复杂可编程逻辑器件CPLD.ppt_第3页
第3页 / 共27页
一复杂可编程逻辑器件CPLD.ppt_第4页
第4页 / 共27页
一复杂可编程逻辑器件CPLD.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《一复杂可编程逻辑器件CPLD.ppt》由会员分享,可在线阅读,更多相关《一复杂可编程逻辑器件CPLD.ppt(27页珍藏版)》请在三一文库上搜索。

1、一、复杂可编程逻辑器件CPLD,Complex Programmable Logic Device,1. PLD器件简介,由大量(高至几百万个)独立的与门阵列、或门阵列、触发器和可配置的连线构成的单片通用CMOS大规模集成电路。,根据所要求的特定功能,通过编程选择内部器件并连线,特定功能的专用芯片,使用方法:,CPLD(复杂可编程逻辑器件):,FPGA(现场可编程门阵列):,PLD 分类,有大量触发器,更易设计时序电路。编程数据只需通过简单设备即可下载到芯片中,实现现场编程功能。,大量门电路,更易设计组合电路。 编程数据通过计算机下载到芯片中。 在系统编程芯片,可在电路板上直 接对芯片编程。,

2、PLD优点,高集成度、高可靠性:可将整个系统集成于同一芯片中,实现所谓片上系统。,通用芯片有固定逻辑功能,其构成的电路技术很难保护。专用芯片是电路设计者自己制造出来的,而且很容易设置保密位,从而形成电路设计者自己的知识产权。,2.EPM7128SLC84器件介绍,EPM7128S器件系列是美国ALTERA公司生产的在系统可编程CPLD器件。在实验中使用该器件是很方便的。其优点是可以反复编程,能多达百余次,而且不必拆下芯片就可以直接在电路板上编程。,每个宏单元包含: 一个可编程的“与”阵列和固定的“或”阵列以及一个触发器,16个电源和地脚: (同名端内部均连通),6个VCCI0:I/O输出电路电

3、源, 接5V或3.3V 2个VCCINT:内部电路和输入 缓冲器电源, 接5V 8个接地端,下载板中正电源统一都为5V,由实验箱提供,并与实验箱共地。,1脚: 全局清零端 2、83脚: 2个全局时钟输入端,对于时序电路:,4个专用输入端,获得最高的工作速度,专用输入脚,不用时不允许悬空,防止CMOS器件输入击穿损坏。,CPU编程数据通过此端口下载到CPLD中的,被编程置为输入的引脚,不用时不允许悬空,防止CMOS器件输入击穿损坏。,被编程置为输出的引脚不能接VCC或地。,4个在系统编程专用输入、输出端口,60个供用户的普通I/O引脚,3.CPLD下载板介绍,并行 输出口,下 载 接 口,入 /

4、出 端 口,50M连续脉冲,入 /出 端 口,入/出端口,位驱动电路,共阳型,段驱动信号ah,位 驱 动 信 号 CS1 CS4,GLCK,GOE,GCLR,单脉冲,复位,输出 使能,数据开关,LED灯,2,1,84,83,CPLD芯片,4 5 6 8 9 10 11 81,76 77 79 80,二、CPLD应用开发软件,1. MAXplus软件简介,MAX+plus软件包是Altera公司研制的一种CPLD软件开发系统,它为CPLD器件提供了计算机软件开发平台。,使用MAXplus软件进行电路设计,包括下述5步:,2. 数字电路描述语言VHDL简介,VHDL是一种用普通文本形式设计数字系统

5、的硬件描述语言(VHSIC Hardware Description Language),通过描述数字系统的结构、行为、功能和接口来设计电路。相比传统设计方法,具有设计简单、阅读方便的特点。 。,外部可视部分,逻辑关系描述,内部不可视部分,VHDL 程序,设计 实体,用结构体 (ARCHITECTURE) 描述,用实体(ENTITY)描述,实体中定义了一个设计模块的外部输入和输出端口,即模块的外部特征,描述了一个模块与其他模块之间的连接关系,可以看作是输入输出信号和芯片管脚信息。,结构体主要用来说明模块内部的具体结构,即对模块内部的逻辑功能进行描述,是程序设计的核心部分。,结构体主要用来说明模

6、块内部的具体结构,即对模块内部的逻辑功能进行描述,是程序设计的核心部分。,VHDL语言对硬件系统的描述,有三种描述方式:行为描述、数据流描述、结构化描述。,几个基本概念,位逻辑型(BIT):,单线状态,取值逻辑0和1,位矢量型(BIT_VECTOR):,总线状态,如总线宽度为8位,取值 “10110101“,标准逻辑位型(STD_LOGIC),标准逻辑位矢量型(STD_LOGIC_VECTOR),1. 常用数据类型,2. 常用数据对象:变量、 信号,3.变量与信号的赋值语句,变量的说明和赋值限定在顺序区域内,它只能在进程中使用,具有局部性。 变量赋值语句的格式为: 目的变量:= 表达式; 如给

7、变量a赋值: PROCESS - -进程 VARIABLE a:BIT; - -在进程中定义位逻辑型变量a BEGIN a:= 0 ; - -给变量a赋逻辑0值 END PROCESS;,I被定义为具有8位位宽的标准逻辑位矢量型输入信号,最左边是I(7),最右边是I(0)。如通过赋值语句 I “00000010“ ,使I7I6I1I0=00000010。,Y2,Y1,Y0被定义为标准逻辑位型 输出信号。如通过赋值语句 Y20、Y10、Y01,使Y2Y1Y0=001。,8线一3线普通编码器 bmq 8_3,- 结构体部分:描述电路的内部功能,以ARCHITECTUR作开头。 结构描述以BEGIN

8、开始,END结束。 ARCHITECTURE arc OF not IS - - 结构体名为arc,任意取 BEGIN y= NOT a ; - - a取反后传给y END arc; - - 结构体结束,例1 用VHDL设计一个非门,- 库和程序包部分:定义结构体和实体中要用到的数据类型、元件、子程序等, 放在名为IEEE的库中。 LIBRARY IEEE; - - 打开IEEE库 USE IEEE.STD_LOGIC_1164.ALL ; - - 调用库中STD_ LOGIC_1164程序包,- 实体部分:描述电路单元对外的管脚信息。 以ENTITY开头,END结束。 ENTITY not

9、IS - - 实体名为not,必须与项目名相同 PORT( - - 端口说明 a:IN STD_LOGIC; - - 定义a为输入端口,标准逻辑型数据 y:OUT STD_LOGIC); - - 定义y为输出端口,标准逻辑型数据 END not; - - 实体结束,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY not IS PORT( a:IN STD_LOGIC; y:OUT STD_LOGIC); END not; ARCHITECTURE arc OF not IS BEGIN y= NOT a ; END arc;,所有语句以分号

10、结束,程序中不区分字母的大小写。,行为描述:基于表达式,项目取名规则: 由字母、数字和下划线组成; 第一个字符必须是字母; 最后一个字符不能是下划线; 下划线不能连用; 不能与关键词相同:,设计步骤,(1) 新建项目;,(2) 选择并进入文本编辑窗口; (3) 输入VHDL源程序; (4) 文件存盘; *项目名、实体、文件名名必须相同 文件扩展名必须是vhd。,not,notvhd,not,(5) 选择器件后编译 (6) 仿真 (7) 编程下载 (8) CPLD逻辑功能验证,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY and2 IS PO

11、RT ( a:IN STD_LOGIC; b:IN STD_LOGIC; y:OUT STD_LOGIC); END and2; ARCHITECTURE and_arc2 OF and2 IS BEGIN PROCESS (a,b) VARIABLE comb:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN comb:= a & b; CASE comb IS WHEN 00 =yyyyy= X ; END CASE; END PROCESS; END and_arc2;,数据流描述:基于真值表,例2 用VHDL实现 y = a b,- -进程语句,用a、b信号触发进

12、程执行,- -定义comb为标准逻辑位矢量变量,位宽2位,- -打开IEEE库,并调用库中STD_ LOGIC_1164程序包,- -定义and2 实体的入/出端口,其信号类型是标准逻辑位型,- -a、b合并为comb变量,- -根据comb取值,选择Y值,PROCESS(cp) - -进程在时钟信号变化时启动 BEGIN IF(cpEVENT AND cp= 1 ) THEN - -如果cp上升沿到, 则执行THEN与END IF之间的其他 时序语句,否则状态保持不变 其他时序语句 END IF; END PROCESS,时序电路设计,时钟信号 在时序电路中,都以时钟信号为驱动信号,只有在时

13、钟信号边 沿到来时,电路状态才改变。因此,通常用时钟信号触发时序电路 的进程。,PROCESS(cp,reset) - -进程在时钟信号或复位信号变化时启动 BEGIN IF(reset = 0 ) THEN q = 0 ; - -如果复位信号有效,则输出置0 ELSIF(cp EVENT AND cp= 1 ) THEN - -如果复位信号无 效,且cp上升沿到来, 其他时序语句 则执行其他时序语句 END IF; END PROCESS;,(2) 异步复位 异步复位是指一旦复位信号有效,时序电路即被复位。其描述方式有以下要点: 作为进程的敏感信号,除时钟信号外,还应加上复位信号; 利用IF

14、语句描述复位条件; 利用ELSIF语句来描述时钟信号的边沿条件。,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY tcfq IS PORT(s ,r ,cp , t:IN STD_LOGIC; q:OUT STD_LOGIC); END tcfq; ARCHITECTURE tcfq _arc OF tcfq IS SIGNAL q_temp:STD_LOGIC; BEGIN PROCESS(s,r , cp , T) BEGIN IF(s= 0 AND r= 1 ) THEN q_temp= 0 ; ELSIF(s= 1 AND r= 0 )THEN q_temp= 1 ; ELSIF(cp EVENT AND cp= 1 )THEN IF(T= 1 )THEN q _temp=NOT q_temp; ELSE q_temp=q_temp; END IF; END IF; q= q_temp; END PROCESS; END tcfq _arc ;,例3 用VHDL实现 T触发器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1