基于CPLD-FPGA的数字通信系统建模与设计第1章_第1页
基于CPLD-FPGA的数字通信系统建模与设计第1章_第2页
基于CPLD-FPGA的数字通信系统建模与设计第1章_第3页
基于CPLD-FPGA的数字通信系统建模与设计第1章_第4页
基于CPLD-FPGA的数字通信系统建模与设计第1章_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新编电气与电子信息类本科规划教材基于CPLD/FPGA的数字通信系统与设计段吉海黄智伟编著王毓银主审电子工业出版社目录第1章绪论第2章通信系统的VHDL建模第3章常用基本电路模块的建模与设计第4章基带信号的编、译码建模与设计第5章数字复接技术及其建模与设计第6章同步技术与VHDL设计第7章数字通信基带系统的建模与设计第8章数字信号频带传输系统的建模与设计第9章伪随机序列与误码检测原理、建模与设计第1章绪论内容提要本章主要分两部分内容,第一部分是关于通信系统的概述,简单介绍了通信技术的发展历史,通信系统的组成和有关概念以及通信系统的主要性能指标。第二部分是关于EDA的概述,介绍了EDA的概念,VHDL硬件描述语言的特点,仿真、综合和自顶向下的设计方法,以及对可编程逻辑器件CPLD/FPGA和Max+plusII开发设计平台做了简单介绍,最后就数字通信系统的建模与EDA工程方法学的关系做了简单说明。

知识要点

模拟和数字通信系统的基本模型;信道的分类;衡量通信系统性能的主要指标;

VHDL的主要优点和基本结构;基于VHDL的设计方法和步骤;

CPLD/FPGA的基本结构;

CPLD/FPGA的编程与配置;

Max+plusⅡ开发系统的应用。教学建议要求了解通信技术的发展历史,掌握通信系统的基本组成和有关概念以及通信系统的主要性能指标;掌握EDA的概念、VHDL的特点、仿真、综合和自顶向下的设计方法;了解CPLD/FPGA器件的结构和特点;掌握CLPD/FPGA的设计文件下载和配置方法;掌握Max+plusII开发设计平台的应用;学习本教材之前,应先修《数字电路》、《通信原理》和《VHDL实用教程》等课程。建议教学时数为2~4学时。该章内容可根据具体情况,作为选修内容。1.1通信系统概述1.1.1引言

随着人类社会生产力的发展,人类交流感情、传递信息的各种方式发生了巨大变化,进而形成了一门独立的学科——通信。通信可以理解为信息的传输与交换。本书中的所谓通信指的是电通信。它的发展起于十九世纪三十年代。1938年美国人Morse(莫尔斯)发明了有线电报,利用导线中的有无电流分别表示传号和空号,然后再根据传号和空号的长短来组成点和划,编码成不同的电报符号。因此若发信者先将所要传递的文字翻译成电报符号,再利用电报机发送出去,则收信者将收到的电报符号,再翻译成报文,既可实现有线文字传输。这为通信技术的发展奠定了良好的基础。1864年Maxwell(麦克斯韦)提出了电磁辐射方程,为无线电报的发明提供了理论依据。1876年Bell(贝尔)发明了电话,因而实现了语音传输。1906年发明了电子管,它不仅为无线电话提供了实现的基础,而且为后来的诸如电子管计算机等提供了器件基础,到了真正的电子应用时代。20世纪初到40年代,相继出现了调幅广播、明线载波电话、多路通信、调频无线电广播等1948年发明了晶体管,进入了电子应用的新时代。随着Shannon(香农)提出了信息论,通信统计理论开始建立,为通信信道的研究提供了理论依据,随后相继出现了时分多路通信,卫星通信等。

20世纪60年代发明了集成电路和激光,标志着电子和通信进入了第三个重要发展阶段,尔后相继产生了程控交换机、光纤通信系统。20世纪80年代,发明了超大规模集成电路,加速了现代通信系统的发展。数字通信是从模拟通信发展起来的,它已成为不可替代的现代通信技术,特别是近年来,随着FPGA/CPLD(现场可编程逻辑器件/复杂可编程逻辑器件)的出现和发展,对通信系统进行ASIC(专用集成电路)芯片的研究开始盛行,VHDL等硬件描述语言已正广泛应用于ASIC芯片的开发,将为现代通信技术的发展做出重大贡献。

1.1.2通信系统的组成

1.通信系统的一般模型

所谓通信系统是指构成信息传递所需的技术设备的总和。组成通信系统的一般模型如图1-1所示。

(1)信源与信宿

①信源:

指消息的产生来源,并将消息变换为电信号。根据信源输出信号的性质可分为模拟信源和数字信源。模拟信源输出的是模拟信号。模拟信号是指幅度连续的信号,如电话机输出的话音信号,摄像机输出的图像信号等。数字信源输出的是数字信号。数字信号是指幅度离散,且时间也离散的信号。如电传机及计算机输出的符号序列等信号属于数字信号。②信宿:

也称收信者或受信者,是信号到达的终端。它的作用是将接收设备的电信号转换成相应的消息。

(2)发送设备与接收设备

①发送设备:

包括调制、放大、滤波、发射等等,其作用是实现信源与信道的匹配。由于信源输出的信号常为基带信号。它包含有低频成分甚至还有直流成分,而这种信号不适合在大多数信道中传送。基带信号经调制后成为所谓的频带信号。这种信号能适应于信道传输,而且可实现多路复用和提高抗干扰能力。调制是指将基带信号转换为适合于在信道中传输的信号。对于无线传输来说,发送设备应包括从调制到发射天线间的设备,对数字信源还包括信源编码。②接收设备:

其基本功能是完成与发送设备相反的变换。如解调,译码(对应数字信号)等。(3)信道

最基本的信道(指狭义信道)包括两类:有线信道和无线信道。有线信道有架空明线、对称电缆、同轴电缆、光纤等等。无线信道是指空间传输媒质。信道对信号的传输性能有直接的影响,因此,不同的通信系统,对信道有不同的要求。或者说,不同的信道,对通信系统有不同的要求。关于狭义信道与广义信道的概念将在后面介绍。(4)噪声源

所谓噪声源是指噪声的来源。这里的噪声是指信道中的噪声或干扰。关于噪声的种类和定义可查阅参考文献[1]。

2.模拟通信系统模型

根据信道中传输的信号特征,将通信系统分为模拟通信系统和数字通信系统。其中,模拟通信系统是指传输模拟信号的通信系统。其模型如图1-2所示。

调制器实现了基带信号到频带信号的转换,而解调器则完成由频带信号到基带信号的转换。调制器和解调器是非线性器件或设备。需要指出的是上述模型是模拟通信系统的最简化模型,而复杂系统还有滤波、放大、变频、发射等部件或设备。图1-2中的信源为模拟信源,即输出的是模拟信号。

3.数字通信系统模型数字通信模型的框图如图1-3所示。

数字通信是指在该通信系统中所传输的是二进制或多进制数字信号。发送设备包括信源编码和信道编码两部分。信源编码是指把连续消息变换为数字信号。例如,将模拟信号的语音信号经PCM(脉冲编码调制)变换后,实现了数字化。这一过程就是信源编码。信道编码则是指在原来的数字信号序列中引进某些作为误差控制用的数码,以实现自动检错和纠错的目的。

经信道编码后的数码序列长度变长,从而降低了码元传输速率,因此信道编码所提高的传输可靠性是靠牺牲其传输的有效性来换取的。

下面介绍关于“狭义信道”、“广义信道”以及“调制信道”和“编码信道”的概念。(1)狭义信道:以具体媒质定义的信道称为狭义信道。(2)广义信道:指除具体媒质外,还包含一定的设备的信道。(3)调制信道:

指包含从调制器输出到解调器输入之间的媒质和设备部分。调制信道属于模拟信道,它通过乘性干扰和加性噪声对调制信号发生模拟变化。(4)编码信道:

指包含从编码器输出到解码器输入之间的媒质和设备部分。编码信道属于数字信道,它对信号的影响是一种数字序列的变换,即把一种数字序列变换成另一种数字序列。(5)调制信道和编码信道属于广义信道。

1.1.3衡量通信系统的主要性能指标

传输信息的有效性和可靠性是通信系统最主要的性能指标。有效性是指在给定信道内能传输信息内容的多少。可靠性是指接收信息的准确程度。模拟通信系统的有效性指标用有效传输频带来度量。有效传输频带越窄,则系统传输的有效性越高。模拟通信系统的可靠性指标用接收端输出信噪比来衡量。输出信噪比越大,则可靠性越高。

数字通信系统的有效性指标可用信息传输速率,单位为(比特/秒)或用码元传输速率,单位为B(波特)来衡量。信息速率是指单位时间内传输的信息量的多少,用表示。而码元速率是指单位时间内传输的码元个数,用

表示。信息速率与码元速率有如下关系:

(1-1)式中的N表示码元的进制数。从上式可知,信息传输速率不仅与码元速率有关,还与码元的进制有关。

系统在具有相同的信息速率条件下,所采用的进制不同,则码元的传输速率也不同。二进制码元速率与进制码元速率有如下关系:(1-2)例如,设二进制码元速率为,则三进制码元的速率应为:可见,在相同的信息速率条件下,多进制信号码元速率比二进制的码元速率低。系统在相同的码元速率条件下,多进制的信息速率比二进制的信息速率高。例如,设二进制的信息速率为,则三进制的信息速率为:衡量数字通信系统的另一常用指标是频带利用率。

频带利用率的定义为单位频带内的码元传输速率,其单位为(波特/赫兹)。频带利用率越高,则系统的有效性越好。

数字通信系统的可靠性用差错率,即误码率或误信率来表示。所谓误码率,是指错误接收码元数与所传送的总码元数之比。误信率,也称误比特率,是指错误接收的信息量占传送信息总量的比例。1.2

EDA概述

1.2.1引言

随着社会生产力发展到了新的阶段,各种电子新产品的开发速度越来越快。现代计算机技术和微电子技术进一步发展和结合使得集成电路的设计出现了两个分支。一个是传统的更高集成度的集成电路的进一步研究;另一个是利用高层次VHDL/Verilog等硬件描述语言对新型器件FPGA/CPLD进行专门设计,使之成为专用集成电路(ASIC)。这不仅大大节省了设计和制造时间,而且对设计者,无须考虑集成电路制造工艺,现已成为系统级产品设计的一项新的技术。

现代通信技术的发展随着VHDL等设计语言的出现和ASIC的应用也进入了一个新的设计阶段,特别是,对数字通信系统的ASIC芯片的研究有着看得见的使用价值。

EDA(ElectronicDesignAutomation)技术是现代电子设计技术的核心。它以EDA软件工具为开发环境,采用硬件描述语言(HardwareDescriptionLanguage,HDL),采用可编程器件为实验载体,实现源代码编程、自动逻辑编译、逻辑简化、逻辑分割、逻辑综合、布局布线、逻辑优化和仿真等功能,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化的设计技术[18]。

EDA技术可把数字通信技术,微电子技术和现代电子设计自动技术结合起来,实现了硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。本书就是基于CPLD/FPGA,利用EDA技术针对数字通信系统,对一些相关的功能部分的研究和设计方法进行了介绍,以供读者借鉴和参考。1.2.2关于专用集成电路(ASIC)与VHDL

在单片芯片上可集成某个系统的全部功能,称之为系统级芯片(SystemOnChip),简称SOC。

ASIC(专用集成电路)是相对于通用集成电路而言的,可分为数字ASIC、模拟ASIC和数模混合ASIC三类。

ASIC芯片设计一方面基于“裸片”FPGA(现场可编程逻辑器件)和CPLD(复杂可编程逻辑器件)的可用门的集成度,另一方面基于高层次VHDL(甚高速集成电路硬件描述语言)等自动设计技术。

甚高速集成电路硬件描述语言(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,VHDL)诞生于1982年。

VHDL被IEEE确认为标准硬件描述语言,在电子工程领域,已成为广泛使用的通用硬件描述语言,已成为EDA的重要组成部分,除了作为电子系统设计的主选硬件描述语言外,VHDL在EDA领域的仿真测试、程序模块的移植、ASIC设计源程序的交付、IP核(IntelligencePropertycore)的应用方面担任着不可或缺的角色,因此不可避免地将成为了必要的设计开发工具。1.

ASIC的设计流程从设计输入到制成ASIC芯片的整个过程中,通常可将其设计流程归纳为以下7个步骤。第1步:设计输入。应用HDL语言(VHDL或Verilog语言)的源程序设计文本,通过编辑输入的方式。这种方式如同一般的计算机应用软件的源程序编辑输入法。第2步:前仿真。所设计的电路必须在布局布线前验证,目的主要是在仿真时,验证电路功能是否有效。第3步:设计输入编译。设计输入之后就有一个从高层次系统行为设计向低层次门级逻辑电路的转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为底层软件能够识别的某种数据格式(网表)的过程。第4步:设计输入的优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果替代一些复杂的单元,并与指定的库映射生成新的网表,目的是在硬件描述语言输入方式中减小电路规模。第5步:布局布线。当初步的仿真被验证后,就开始布局布线。这一步相对规划出ASIC和FPGA/CPLD设计。第6步:参数提取和后仿真。设计人员需要利用在布局布线中获得的更精确的RC参数再次验证电路的功能和时序。第7步:制版、流片。在布局布线和后仿真完成之后,当需要大批量生产该芯片时,就可以开始ASIC芯片的投产。2.VHDL的主要优点(1)覆盖面广,有强大的系统硬件描述能力VHDL可以覆盖行为描述、RTL(寄存器传输)级描述、门描述、电路描述和物理参数描述(包括延时、功耗、频率、几何尺寸等)。

VHDL还具有丰富的数据类型.即可以支持预定义的数据类型,也可以自己定义数据类型。这样便给硬件描述带来了较大的自由度,使设计人员能够方便地使用VHDL创建高层次的系统模型。(2)可读性好、易于修改

在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构模块化,所以易于修改设计。(3)独立于器件的设计,与工艺无关

用VHDL进行硬件电路设计时,并不需要首先考虑选择完成设计的器件,也就是说,VHDL并没有嵌入具体的技术和工艺约定,设计人员可以集中精力进行设计的优化,不需要考虑其他问题。当一个设计描述完成以后,可以用多种不同的器件结构来实现其功能。(4)易于移植和设计资源共享

由于VHDL是一种国际标准化的硬件描述语言,对于同一个设计描述,它可以移植到符合相同标准的任意系统或平台上运行。对于一些较大的通用性硬件电路,目前已经有专门的IP核出售,因此,能实现设计资源的有偿使用,可大大缩短设计周期,加快设计产品的上市速度。3.

VHDL源程序的基本结构(1)实体(entity)实体是设计中最基本的模块。它描述了系统与外部进行信息交换的端口和参数,是系统外部结构的描述。实体说明的基本结构表示如下:常用的最基本的表示格式:entity实体名

isport(端口表);end实体名;例1-1

entitynot1is--实体名“not1”port(a:instd_logic;--端口说明

b:outstd_logic);endnot1;端口说明是对设计实体与外部接口的描述。它的基本格式是:

port(端口名:端口模式数据类型;{端口名:端口模式数据类型});端口名是赋予每个外部端口的名称;端口模式用于定义外部端口的信号方向。表1-1给出了端口说明的关键词和含义。表1-1端口模式说明端口模式含义in输入,只读模式out输出,单向赋值模式inout双向功能,可读可写buffer可读的输出模式,可读或写,但只能有一个驱动源lingkage不指定方向,哪个方向都可连接

有些场合还需要增加类属参数说明。这样的实体结构为:

entity实体名

isgeneric(类属表);

port(端口表);

end实体名;例1-2entitynot1is--实体名“not1”generic(trise:TIME:=1ns;--类属说明tfall:TIME:=1ns);port(a:instd_logic;--端口说明b:outstd_logic);endnot1;类属(generic):是传递信息参数到实体的术语。类属参数说明必须放在端口之前,用于指定参数。在上例的类属说明中,定义参数trise为上升沿宽度(1ns);tfall为下降沿宽度(1ns)。这两个参数用于仿真模块的设计。(2)结构体(architecture)

结构体描述实体的行为功能或内部的具体结构。一个实体可以有多个结构体。结构体的基本结构如下:architecture

结构体名of

实体名

is[说明语句]内部信号,常数,数据类型,函数等的定义;begin[功能描述语句]end

结构体名;例1-3architecturehhofcounterissignalclk:bit:=‘0’;signalcount:integer:=0;begin……endhh;上例中,从architecture到begin之间的那些语句则为说明语句,它们定义了内部信号。

结构体中除了说明语句外,还有功能描述语句。功能描述语句结构是以并行方式工作的语句结构。在功能描述语句结构中可以有多个并行的子结构。每个子结构之间的关系,看成是并行运行的,但每个子结构内部包含的语句既可是并行语句,也可是顺序语句。大体上,结构体的功能描述语句有五种子结构:块语句(BLOCK)、进程语句(PROCESS)、信号赋值语句、子程序调用语句和元件例化语句。(3)块语句(block)

块语句是由多个并行语句的构成的集合体。它构成结构体中的一个或多个子模块。块语句的基本表达格式如下:块标号:BLOCK

接口说明

类属说明

BEGIN

并行语句

ENDBLOCK块标号;例1-4……b1:blocksignalo1:bit;begino1<=aandb;b2:blocksignalo2:bit;begino2<=candd;b3:blockbeginx<=o1;y<=o2;endblockb3;endblockb2;endblockb1;……(4)进程(process)

进程是基本的执行单元,在VHDL描述时,把所有的运算或处理都划分为单个或多个进程。进程语句是常用的功能描述语句。进程语句的表达格式如下:[进程标号:]PROCESS[(敏感信号)](IS)[进程说明]BEGIN顺序描述语句ENDPROCESS[(进程标号)];注:进程标号是非必须的,因此可以不标进程标号。所谓顺序描述语句是指按顺序执行的语句,但并不代表其语句结构对应的硬件逻辑行为是顺序执行的。

例1-5……architecturert1ofcount16issignalcount_4:std_logic_vector(3downto0);beginprocess(clk)beginif(clk’eventandclk=‘1’)thenif(count_4=“1111”)thencount_4<=“0000”;elsecount_4<=count_4+1;endif;endif;endprocess;……(5)程序包(package)

程序包是设计中所使用的子程序和公用数据类型的集合。它由程序包首和程序包体组成程序包的表达格式如下:package程序包名is[说明语句:]end程序包名;packagebody程序包名is[说明语句:]end程序包名;(6)配置(configuration)

用配置语句可以将具体的元件安装或连接到一个实体-结构体对中。配置语句还能用于对元件的端口连接进行重新安排等。配置语句的表达格式如下:configuration配置名of实体名is[说明语句:]end配置名;4.关于VHDL设计的仿真

在VHDL设计流程中,作为设计验证的重要步骤,仿真是必不可少的。仿真是指从电路的描述抽象出模型,然后将外部激励信号输入该模型,通过观察该模型在外部激励信号作用下的反应来判断该系统设计的正确性。仿真分为功能仿真和时序仿真。功能仿真用于验证设计模块的逻辑功能,而时序仿真用于验证设计模块的时序关系。按VHDL的设计流程,仿真又分为三个阶段,即行为级仿真、RTL级仿真和门级仿真。行为级仿真的目的是验证系统的数学模型和行为的正确性。

RTL级仿真是描述数据在诸如寄存器、总线、运算单元等器件中流动的条件和过程。RTL级仿真的目的,是为了使被测模块符合逻辑工具要求,使其能生成门级电路。门级仿真的对象是以逻辑门为主要描述基本元件,仿真的目的是检查门级电路的设计功能,包括逻辑功能、延迟特性、负载特性等5.关于VHDL设计的综合

所谓综合是指将较高抽象层次的描述自动地转换到较低抽象层次描述的一种过程,具体来说,从自然语言转换到VHDL语言算法表示,称为自然语言综合;从算法表示转换到寄存器传输级(RegisterTransportLevel,RTL),称为RTL级综合;将RTL级的描述转换成门级网表的过程,称为逻辑综合;从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,则称为版图综合或结构综合。6.关于经典的自下至上的系统设计方法(BottomtoTop)经典的电子系统设计通常采用自下至上的方法,根据电子系统对硬件和软件的要求,其大体设计步骤如下:(1)制订设计任务书,提出设计要求和目标。(2)画出系统框图或控制流程图。(3)合理划分硬件和软件负担的功能和任务。(4)分别设计硬件模块和软件模块。(5)将软、硬件连接起来进行系统联调与测试,直至完成系统设计的目标。对于硬件设计来说,设计是从选择具体元器件开始的,然后利用各种通用器件构成小功能模块,再把各小功能模块连起来,最后形成整个硬件系统。它是一种从最底层(元件)开始,最后在最高层(系统)结束的设计方法,于是称为自下至上的设计方法。7.关于现代的自顶向下(Top-To-Down)的系统设计方法

所谓自顶向下的(TOP—TO—DOWN)设计方法是指从系统总体功能要求着手,自上往下逐步地将设计内容细化,直至达到能有效设计的硬件层次,最终完成硬件设计的方法。采用VHDL自顶向下的设计步骤分为三个层次:

第一层次:行为描述。它是对整个系统的行为或数学模型进行描述,是一种较抽象地描述系统的基本结构或功能的方式。

第二层次:数据流描述,亦称为RTL(寄存器传输级)描述。它描述数据信号的传输关系,定义各信号间的具体逻辑关系。一般地,VHDL的RTL级描述方式,类似于布尔代数方程,即可描述时序电路,又可描述组合电路。

第三层次:门级描述,又称结构描述。这一层次描述相当于调用元件库(包括自建库)中的功能元件,形成一个完整的原理图模块。1.2.3现场可编程逻辑(FPGA)和复杂可编程逻辑(CPLD)器件

1.引言

FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。但FPGA/CPLD的规模较大,非常适合于对时序、组合等逻辑电路应用场合,它可以替代几十甚至上百块通用IC芯片。应用FPGA/CPLD可以做成一个系统级芯片,它具有可编程性和实现方案容易修改的特点。现在,CPLD/FPGA等可编程器件已应用在不同的高科技领域,如数字电路设计、微处理系统、DSP、通信及ASIC设计等。由于芯片内部硬件连接关系的描述的存放,是以EEPROM、SRAM或FLASH或外接EPROM为基础的,设计用户可在可编程门阵列芯片及外围电路保持不动的情况下,通过计算机重新下载或配置设计软件,就能实现一种新的芯片功能。于是FPGA/CPLD可编程器件,正得到越来越多的电子设计者的青睐。

高速和高可靠是FPGA/CPLD最明显的特点,当今的该类可编程器件,其最高工作频率可达百兆级,其时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。相比应用单片机的设计系统来说,可以较好地解决诸如MCU的复位不可靠和PC可能跑飞等问题。CPLD和FPGA的高可靠性还表现在,可形成片上系统,从而大大缩小了体积,易于管理和屏蔽。由于FPGA/CPLD的集成规模非常大,因此可借助HDL硬件描述语言开发出系统级芯片和产品。又由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号和规模的FPGA/CPLD中,从而使得产品设计效率大幅度提高。FPGA/CPLD显著的优势是开发周期短,投资风险小、产品上市速度快,市场适应能力强和硬件升级回旋余地大。一旦市场对所设计的产品需求量大,则可进行流片设计,形成价格更低廉的AISC产品。2.CPLD器件简介

本节介绍常用的基于乘积项(Product-Term)的CPLD结构。基于乘积项(Product-Term)的CPLD结构芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(EEPROM工艺)下面以MAX7000为例介绍这种CPLD的总体结构(其他型号的结构与此类似),如图1-4所示。图1-4中的CPLD主要由三块模块构成:宏单元(Marocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。图1-4中LAB(逻辑阵列块)是由多个宏单元组成的集合。可编程连线用于信号传递以及连接所有的宏单元。I/O控制块用于输入输出的电气特性控制。INPUT/GCLK1为全局时钟,INPUT/GCLRn是清零信号,INPUT/OE1,INPUT/OE2为输出使能信号。这几个信号有专门的连线与PLD中每个宏单元相连,要求信号到每个宏单元的延时相同并且延时最短。宏单元的具体结构见图1-5所示。图1-5宏单元结构

图1-5的左端为乘积项阵列,它是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。图中间的乘积项选择矩阵是一个“或”阵列。它们共同完成组合逻辑。图右侧的可编程D触发器,其时钟,清零输入可通过编程来选择。可编程D触发器的时钟和清零有两种选择,既可使用全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。若不需要触发器,则可将此触发器旁路,即信号直接输给PIA或输出到I/O脚。这种PLD的制造采用了EEPROM和Flash工艺,因而一经加电就可以工作,无需其他芯片配置。

3.FPGA器件简介

采用查找表(Look-Up-Table)式结构的PLD芯片称之为FPGA。查找表(Look-Up-Table)简称为LUT。LUT是可编程的最小逻辑单元,它是一个RAM。大部分的FPGA中使用基于SRAM(静态随机存储器)的查找表的逻辑结构,用SRAM构成逻辑函数发生器。目前常用的FPGA查找表基本单元是一个4输入的LUT单元,每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA设计软件将自动计算逻辑电路的所有可能的结果,且把结果事先写入RAM。因此,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出。基于查找表(LUT)的altera的FLEX/ACEX等FPGA的结构如图1-6所示。图1-6alteraFLEX/ACEX芯片的内部结构

FLEX/ACEX的结构主要包括LAB,I/O块,RAM块(未表示出)和可编程行/列连线。在FLEX/ACEX中,一个LAB包括8个逻辑单元(LE),每个LE包括一个LUT,一个同步使能可编程触发器和一个进位链和一个级连链。LE是FLEX/ACEX芯片实现逻辑的最基本结构,如图1-7所示。由于基于SRAM工艺的LUT,在掉电后信息就会丢失,需要外加一片专用配置芯片,在上电的时候,通过该专用配置芯片把数据加载到FPGA中,才能使FPGA正常工作。由于配置过程所需时间很短,不会对系统的正常工作造成影响。除了上述类型的FPGA外,还有其它工艺的FPGA,如采用反熔丝或Flash工艺的FPGA。它们无须外加专用的配置芯片。图1-7逻辑单元(LE)内部结构4.CPLD/FPGA编程与配置CPLA/FPGA编程与配置的概念在设计者完成仿真后,接下来的工作就是要在含CPLD或FPGA目标器件的开发实验平台上进行实际验证与调试。根据不同的目标器件,将结构综合器(或适配器)产生的下载文件或配置文件进行下载,分为编程下载和配置两种定义。通常,把对CPLD的下载称为编程(Program);把对FPGA中的SRAM的下载称为配置(Configure)。(2)Altera的ByteBlaster并行下载电缆

Altera的ByteBlaster并行下载电缆是一种常用的标准化下载装置。这种电缆把PC机的并行打印口转换成10芯的下载接口。

ByteBlaster有两种下载和配置模式:一种是被动串行模式(PS),常用来配置重构FLEX10K、FLEX8000和FLEX6000系列器件;另一种是边界扫描模式(JTAG),具有边界扫描电路的配置重构或在线编程。不同的模式对应的10芯接口的引脚信号不同,如表1-2所示。

表1-2ByteBlaster下载接口各引脚信号名称

ByteBlaster下载电缆的构成与设计,包括以下部分:

与PC机并口相连的25针插座头;

与PCB板插座相连的10针插头;

25针到10针的变换电路;

在ByteBlaster下载电缆中,其数据交换实际上就只有一个74LS244和几个电阻,其原理图如图1-8所示下载电缆的一些有用的工作条件如表1-3和表1-4所示。表1-3下载线绝对最大值表1-4下载电缆直流工作条件

图1-8ByteBlaster变换电(3)CPLD的编程下载连接Altera公司的MAX7000系列CPLD器件采用JTAG接口模式,其编程下载连接图如图1-9所示。图1-9MAX7000系列CPLD器件编程下载连接图(4)FPGA的配置FLEX器件的配置分为两大类:主动配置方式和被动配置方式。主动配置方式由FLEX器件引导配置操作过程,它控制着外部存储器的和初始化过程;被动配置方式由部计算机或控制器控制配置过程。根据数据线的多少将器件配置分为并行配置和串行配置两类。图1-10给出了利用单片机和外接ROM进行配置的连接图。图中,X25F128为16Kbyte的串行快擦写存储器,89C51为单片机。在这里,介绍一种常用的PS模式,它是通过PC机的ByteBlaster并口下载电缆对Altera的FPGA器件进行配置。

图1-11给出了FLEX10K系列的PS模式的配置时序状态图。当通过下载电缆配置FPGA时,目标器件的CONF_DONE引脚跳变为低电平,即可触发单片机的中断,单片机开始接收并存储数据。FLEX10K系列的PS模式配置,有三种工作状态:配置状态、初始化状态、用户模式。配置状态是指FPGA正处于配置的状态,此时用户(User)I/O全处于高阻态;初始化状态是指配置完成,但FPGA的内部逻辑电路尚未进入正常工作状态,即内部状态还处于复位过程中;用户模式是指配置已完成,而且FPGA的内部逻辑已处于正常工作状态。图1-10利用单片机和外接ROM进行配置的连接图图1-11FLEX10K系列PS模式配置时序图

5器件的选择尽管软件的实现是整个设计工作的核心,但是如果没有硬件的支持,无法达到实际应用的目的。器件选择是设计者必须重点考虑的工作。下面简单比较CPLD和FPGA的特点,并简单介绍器件选择的考虑要点。CPLD与FPGA的特点比较:(1)FPGA的逻辑单元从功能上而言,比CPLD的组合乘积项及宏单元要简单得多,但是它可由逻辑单元的级联来创建很大的函数功能。(2)PLD适合用于复杂组合逻辑。FPGA适合于设计复杂的时序逻辑。(3)FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,可达上万个,而PLD一般只能做到512个逻辑单元,因此FPGA的平均逻辑单元成本大大低于PLD。(4)在CPLD器件内可以通过逻辑阵列将大型函数在一级逻辑中实现,具有较高的系统运行速度,并且其易于确定的时序参数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论