当前位置:文档之家› 基于FPGA的DPSK载波传输系统设计

基于FPGA的DPSK载波传输系统设计

基于FPGA的DPSK载波传输系统设计
基于FPGA的DPSK载波传输系统设计

目录

设计总说明 (Ⅰ)

INTRODUCTION (Ⅲ)

1 绪论 (1)

1.1 课题背景、意义 (1)

1.2 课题研究内容及目的 (1)

2 系统设计的基础知识 (3)

2.1 关于嵌入式系统的学习 (3)

2.1.1 FPGA的发展历史 (4)

2.1.2 FPGA工作原理 (6)

2.1.3 FPGA的优点 (6)

2.1.4 FPGA设计的注意事项 (7)

2.1.5 FPGA与CPLD的辨别和分类 (9)

2.1.6 FPGA的应用 (10)

2.2 VHDL硬件描述语言 (11)

2.2.1 VHDL语言的发展 (11)

2.2.2 VHDL语言的特点 (13)

2.2.3 VHDL语言的建模 (14)

2.2.4 VHDL语言的设计流程 (15)

2.2.5 支持VHDL研发的软件工具 (16)

2.3 ALTERA公司QUART USⅡ介绍 (16)

2.3.1 QuartusⅡ介绍 (16)

2.3.2 QuartusⅡ软件的设计流程 (18)

3 载波传输系统的设计原理 (19)

3.1 载波传输系统的基本构成 (19)

3.2 DPSK载波传输系统调制原理 (19)

3.2.1 数学调制 (19)

3.2.2 二进制相移键控(PSK)的调制 (20)

3.3 差分相移键控DPSK调制 (22)

3.3.1 差分相移键控 (22)

3.3.2 DPSK调制原理 (22)

3.4 绝对码一相对码(差分编码) (23)

3.5 DPSK载波传输系统调制原理 (23)

3.5.1 极性比较法(相干解调) (23)

3.5.2 相位比较法 (24)

4 DPSK载波传输系统的设计 (26)

4.1 DPSK的总体设计 (26)

4.2 CPSK调制电路的VHDL建模与程序设计 (27)

4.2.1 CPSK调制的VHDL建模 (27)

4.2.2 CPSK调制的VHDL程序及仿真结果分析 (29)

4.3 CPSK解调电路的VHDL建模与程序设计 (29)

4.3.1 CPSK解调的VHDL建模 (29)

4.3.2 CPSK解调的VHDL程序及仿真结果分析 (30)

4.4 DPSK调制电路的VHDL建模与程序设计 (31)

4.4.1 DPSK调制电路方框图模型 (31)

4.4.2 绝对码转换为相对码的VHDL程序及仿真结果分析 (32)

4.5 DPSK 调制电路的VHDL建模与程序设计 (32)

4.5.1 DPSK解调电路的设计 (32)

4.5.2 相对码到绝对码的转换附录程序及仿真波形分析 (33)

总结 (35)

参考文献 (37)

致谢 (38)

附录 (39)

附录A (39)

附录B (41)

附录C (42)

附录D (43)

基于FPGA的DPSK载波传输系统设计

设计总说明:

随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能缩短设计周期,美国Xilinx公司于1984年的现场可编程门阵列FPGA适时推出,在现代电子系统设计中得到了广泛应用。

PSK是一种在通讯领域广泛采用的调制技术。由于DPSK的诸多优点,DPSK技术被大量使用,一般来说,因为信号波形间的相关性导致了DPSK中错误的传播(相邻码元之间),所以DPSK信号的效率要低于PSK。造成PSK和DPSK这种差异的原因是,前者是将接收信号与原始的无噪声干扰的参考信号比较,而后者则是两个含噪信号之间的比较。因此,DPSK信号的噪声是PSK信号噪声的2倍,可以推测,DPSK估计的误码率大约为PSK的2倍(3dB),随着信噪比的增加,这种恶化程度也迅速增加。但是性能的损失换来了系统复杂性的降低。另外,在随机信号码元序列中信号波形有可能出现长时间连续的正弦波形,致使在接收端无法辨认信号码元的起止时刻。因此,就有了DPSK的诞生。

本文主要介绍PSK载波传输系统的调制解调原理,在Quartus II软件上实现系统仿真并最终基于FPGA芯片实现设计目的。在进行软件仿真的过程中介绍了2PSK、DPSK、绝对码、相对码之间的关系和相互转化原理。通过调试VHDL语言编写出来的程序,编译及仿真实现DPSK的调制解调,基本达到系统设计要求。

VHDL程序的设计是本文最重要的部分。VHDL硬件描述语言的FPGA技术在电子信息工程领域具有重要作用,VHDL作为当今非常流行的硬件描述语言,已经随着可编程逻辑器件在国内迅猛发展,深深吸引了广大电子硬件工程师。用VHDL编程实现传统的电路功能已经成为广大电子硬件工程师的首选。用VHDL硬件描述语言做电路设计具有开发周期短、设计易于修改、电路简单、成本低廉等优点,对那些外形结构要求小巧的微电子系统,可以直接利用FPGA器件的可编程特性来大大减少芯片的使用量,从而提高外形结构设计灵活性和系统可靠性。

论文从FPGA芯片的结构出发编写了VHDL程序,并对程序进行了仿真运行,结果表明设计是符合要求的,该电路最大的特点就是适应性强,只要改变VHDL程序就可以完成不同的功能,本次设计基本达到了预期的目标。

设计中也存在很多缺陷,与预期要求还有一定差距,有些是由于实际器件门电路时间上的延迟而造成的误差,有些则是由于设计方案上的不足,需要进一步改进。

关键词:FPGA; VHDL;调制;解调

Introduction:

Along with the development of microelectronics technology, designers are more willing to design their own ASIC chips, and for the shortest possible design cycle, Xilinx Corporation in the United States developed the field programmable gate array in 1984. In modern electronic system design has been widely used.

PSK is a kind of modulation technology adopted extensively in the field of communication. Many advantages as DPSK, DPSK technology is being widely used. In general, because the correlation between the signal waveform of the DPSK error led to the spread (between adjacent symbol), so the efficiency of the DPSK signal is lower than PSK. PSK and DPSK cause reason for the difference is that the former is the received signal with the original noise-free reference signal comparison, the latter two comparisons between the noisy signal. Therefore, DPSK signal noise is 2 times the PSK signal noise can be speculated, DPSK estimated PSK error rate of about 2 times (3dB), as the SNR increased, the rapid increase in the degree of this deterioration. However, the loss of performance in exchange for reduced system complexity. In addition, the letter number in the random element in the sequence waveforms possible long continuous sine wave, resulting in the receiver can not identify the start and end times per the letter number. Therefore, there is a DPSK birth.

This paper describes the principle of a carrier transmission system PSK modulation and demodulation, and through analysis and comparison schemes, the FPGA chip and QUARTUSII are selected as the software design platform. During the design and simulation, the 2CPSK, DPSK, absolute code, relative code and the relationship among them are described. Through debugging VHDL program prepared by the procedures, compiling and simulation of the DPSK modulation and demodulation, the basic aim is achieved. In the following hardware design, the power supply circuit, FPGA circuit diagram, and the external circuit are drawn by protel.

VHDL program is designed to be the most important part of this article. VHDL hardware description language, FPGA technology in the field of electronics and information engineering plays an important role, VHDL, as today's popular hardware description language

with programmable logic devices have been rapid development in China, has captured the majority of electronic hardware engineers. VHDL programming with functions of traditional circuit has become the first choice for electronic hardware engineer. VHDL hardware description language used to do circuit design of the development cycle is short, easy to modify the design of a simple circuit, and lower cost, structural requirements for those who shape compact micro system that can directly use the programmable nature of FPGA devices to significantly reduce the chip use, thereby enhancing the structural shape design flexibility and system reliability.

The paper has the VHDL procedure from the structure of the FPGA chip and has operated the procedure. The result indicates our designing is qualified. The greatest character of circuit is its good adaptability, Utilizing programming of CPLD device to realize different function if change VHDL procedure, and this designing has reached the anticipated goal basically.

There are a lot of defects too in the designing and certain disparity with expectation, during which some are the errors caused because of the time delaying on the door circuit of real devices and some need further improving because of the flaws on the design plan.

Key words:FPGA;VHDL;Modulation;Demodulation

1 绪论

1.1 课题背景、意义

随着通信技术日新月异的发展,尤其是数字通信的快速发展,越来越普及,研究人员对其相关技术投入了极大的兴趣。为使数字信号能在带通信道中传输,必须用数字信号对载波进行调制,其调制方式与模拟信号调制相类似。根据数字信号控制载波的参量不同也分为调幅、调频和调相三种方式。因数字信号对载波参数的调制通常采用数字信号的离散值对载波进行键控,故这三种数字调制方式被称为幅移键控(ASK)、频移键控(FSK)和相移键控(PSK)。

数字信号对载波相位调制称为相移键控(或相位键控),即PSK(Phase-Shift Keying)。数字相位调制是用数字基带信号控制载波的相位,使载波的相位发生跳变的一种调制方式。PSK调制解调器是卫星通信的重要设备,在调制解调器中解调基带算法与工程实现一直是国内研究的重点与难点。也是近年来应用日趋广泛的载波传输方式。PSK 分为绝对相移和相对相移。由于绝对移相方式存在相位模糊问题,所以在实际中主要采用相对移相方式。它具有一系列独特的优点,目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。

FPGA器件是八十年代中期出现的一种新概念,是倍受现代数字系统设计工程师欢迎的新一代系统设计方式。FPGA器件可反复编程,重复使用,没有前期投资风险,且可以在开发系统中直接进行系统仿真,也没有工艺实现的损耗。因此在小批量的产品开发、研究场合,成本很低。基于DSP&FPGA 嵌入式系统不仅具有其他微处理器和单片机嵌入式系统的优点和技术特性,而且还可能用并行算法操作,具有高速数字信号处理的能力,为实现系统的实时性提供了有利的支持,DSP&FPGA单片机系统必将成为现代电子技术,计算机技术和移动通信技术的重要支柱。

1.2 课题研究内容及目的

本设计主要实现基于FPGA的DPSK载波传输的数字通信系统。与模拟通信系统相比,数字调制和解调同样是通过某种方式,将基带信号的频谱由一个频率位置搬移到另一个频率位置上去。不同的是,数字调制的基带信号不是模拟信号而是数字信号。在大多数情况下,数字调制是利用数字信号的离散值实现键控载波,对载波的幅度,频率或相位分别进行键控,便可获得ASK、FSK、PSK等。这三种数字调制方式在误码率,要求信噪比和抗噪声性能等方面,以PSK性能最佳,因而,PSK在中、高速传输数据时

得到广泛应用。在本设计中,我们研究基于FPGA的DPSK载波调制解调的实现。在设计过程中,通过对通信原理的回顾和总结,以及查阅相关的信源信道编码以及模数,数模转换相关知识,达到设计有线相移载波传输的目的,在不断学习新的知识以及归纳复习老的知识的同时,提高自身对电子线路的设计能力。

2 系统设计的基础知识

2.1 关于嵌入式系统的学习

嵌入式系统是嵌入到对象体系中的专用计算机系统,包括硬件和软件两大部分。硬件包括处理器、存储器、输入输出接口和外部设备等,软件包括系统软件和应用软件,嵌入式系统的系统软件和应用软件紧密结合。

嵌入式处理器是嵌入式系统的核心,有硬核和软核之分。常用的嵌入式处理器硬核有ARM、MIPS、PowerPC、Intel x86和Motorola 68000等;Altera公司开发的Nios是16/32位嵌入式处理器软核。和硬核相比,软核的使用灵活方便。

嵌入式系统是以应用为中心,以计算机技术为基础,硬件和软件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

可以从以下几个方面来理解嵌入式系统的含义:

(1)嵌入式系统面向用户、面向产品和面向应用,必须与具体应用相结合才会

具有生命力,才更具有优势。嵌入式系统与应用紧密结合,具有很强的专用性。

(2)嵌入式系统将先进的半导体技术、计算机技术和电子技术以及各个行业的

具体应用相结合,是一个技术密集、资金密集和不断创新的知识集成系统。

(3)嵌入式系统必须根据应用需求对硬件和软件进行裁剪,以满足应用系统的

功能、可靠性、成本、体积和功耗等要求。比较好的发展模式是:首先建立相

对通用的硬件和软件基础,然后开发出适应各种需要的嵌入式系统。

同时还应该看到,嵌入式系统是一个外延极广的概念。凡是与产品结合在一起的具有嵌入式特点的系统都可以称为嵌入式系统。

一般而言,嵌入式系统和通用计算机系统类似,由处理器、存储器、输入输出接口和设备以及软件等部分组成。但作为专用计算机系统的嵌入式系统与通用计算机系统相比,具有以下几个重要特征。

(1)系统简练。由于嵌入式系统一般应用于小型电子装置,系统资源相对有限,所以系统内核与传统的系统相比要小得多。嵌入式系统一般没有系统软件和应

用软件的明显区分,不要求功能的设计和实现过于复杂,这既有利于控制系统

成本,同时也有利于保障系统安全。

(2)专用性强。嵌入式系统的个性化很强,软件和硬件的结合非常紧密,一般

要针对硬件进行软件的设计,即使在同一品牌、同一系列的产品中也需要根据

硬件的变化和增减对软件不断进行修改。同时针对不同的任务,往往需要对系

统进行较大更改,程序的编译下载也要同系统相结合。

(3)实时操作系统支持。嵌入式系统的应用程序可以不需要操作系统的支持直

接运行,但为了合理地调度多任务,充分利用系统资源,用户必须自行选配实

时操作系统(Real-Time Operating System,RTOS)开发平台,这样才能保证

程序执行的实时性和可靠性,减少开发时间,保障软件质量。

(4)专门开发工具支持。嵌入式系统本身不具备自主开发能力,即使在设计完

成以后用户通常也不能对程序功能进行修改,必须有一套开发工具和环境才能

进行开发。开发工具和环境一般基于通用计算机的软硬件设备、逻辑分析仪和

示波器等。

当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。

2.1.1 FPGA的发展历史

早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。

其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与—或”表达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。

这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。PAL 由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM 技术和E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),

它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA 器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上又发展了一种通用阵列逻辑(GAL,Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了E'PROM 工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。

为了弥补这一缺陷,20世纪80年代中期,Altera和Xilinx分别推出了类似于PAL 结构的扩展型CPLD(Complex Programmable Logic Dvice)和与标准门阵列类似的FPGA (FieldProgrammable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其他ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品不需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。

FPGA是英文Field Programmable Gate Arry的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供

便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

2.1.2 FPGA工作原理

FPGA采用了逻辑单元阵列(LOA,Logic Cell Arry)这样一个新概念,内部包括可配置逻辑模块(CLB,Configurable Logic Block)、输入输出模块(IOB,Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:

(1)采用FPGA设计ASIC电路,用户不需要投片生产就能得到合用的芯片;

(2)FPGA可做其他全定制或半定制ASIC电路的试样片:

(3)FPGA内部有丰富的触发器和I/O引脚;

(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;

(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的xc系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

FPGA是由存放在片内RAM中的程序来设置其工作状态的。因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式采用不同的编程方式。加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失。因此,FPGA能够反复使用。FPGA的编程不需专用的FPGA编程器,只需用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA、不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

FPGA有下面4种配置模式:

(1)并行主模式为一片FPGA加一片EPROM的方式;

(2)主从模式可以支持一片PROM编程多片FPGA:

(3)串行模式可以采用串行PROM编程FPGA;

(4)外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

2.1.3 FPGA的优点

FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特点之外,还具有以下3个优点。

①随着超大规模集成电路(VLSI,Very Large Scale IC)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA/CPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。

②FPGA/CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA/CPLD的资金投入小,节省了许多潜在的花费。

③用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同的软件实现不同的功能。所以,用FPGAiCPLD试制样片,能以最快的速度占领市场。FPGA/CPLD软件包中有各种输入工具和仿真工具及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出FPGA/CPLD的优势。电路设计人员使用FPGA /CPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。

如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB 并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nmFPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。最近FPGA的配置方式已经多元化!

2.1.4 FPGA设计的注意事项

不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好

器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。

I/O信号分配:

可提供最多的多功能引脚、I/O标准、端接方案和差分对的FPGA在信号分配方面也具有最复杂的设计指导原则。尽管Altera的FPGA器件没有设计指导原则(因为它实现起来比较容易),但赛灵思的FPGA设计指导原则却很复杂。但不管是哪一种情况,在为I/O引脚分配信号时,都有一些需要牢记的共同步骤:

1.使用一个电子数据表列出所有计划的信号分配,以及它们的重要属性,例如I/O 标准、电压、需要的端接方法和相关的时钟。

2.检查制造商的块/区域兼容性准则。

3.考虑使用第二个电子数据表制订FPGA的布局,以确定哪些管脚是通用的、哪些是专用的、哪些支持差分信号对和全局及局部时钟、哪些需要参考电压。

4.利用以上两个电子数据表的信息和区域兼容性准则,先分配受限制程度最大的信号到引脚上,最后分配受限制最小的。例如,你可能需要先分配串行总线和时钟信号,因为它们通常只分配到一些特定引脚。

5.按照受限制程度重新分配信号总线。在这个阶段,可能需要仔细权衡同时开关输出(SSO)和不兼容I/O标准等设计问题,尤其是当你具有很多个高速输出或使用了好几个不同的I/O标准时。如果你的设计需要局部/区域时钟,你将可能需要使用高速总线附近的管脚,最好提前记住这个要求,以免最后无法为其安排最合适的引脚。如果某个特定块所选择的I/O标准需要参考电压信号,记住先不要分配这些引脚。差分信号的分配始终要先于单端信号。如果某个FPGA提供了片内端接,那么它也可能适用于其他兼容性规则。

6.在合适的地方分配剩余的信号。在这个阶段,考虑写一个只包含端口分配的HDL 文件。然后通过使用供应商提供的工具或使用一个文本编辑器手动创建一个限制文件,为I/O标准和SSO等增加必要的支持信息。准备好这些基本文件后,你可以运行布局布线工具来确认是否忽视了一些准则或者做了一个错误的分配。这将使你在设计的初始阶段就和布局工程师一起工作,共同规划PCB的走线、冗余规划、散热问题和信号完整性。FPGA工具可能可以在这些方面提供帮助,并协助你解决这些问题,因此你必须确

保了解你的工具包的功能。你咨询一位布局专家的时间越晚,你就越有可能需要去处理一些复杂的问题和设计反复,而这些可能可以通过一些前期分析加以避免。一旦你实现了满意的信号分配,你就要用限制文件锁定它们。

基于CMOS的设计主要消耗三类切率:内部的(短路)、漏电的(静态的)以及开关的(电容)。当门电路瞬变时,VDD与地之间短路连接消耗内部功率。漏电功耗是CMOS工艺普遍存在的寄生效应引起的。而开关功耗则是自负载电容,放电造成的。开关功耗与短路功耗合在一起称为动态功耗。

2.1.5 FPGA与CPLD的辨别和分类

FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:

将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA 结构上的差异,具有各自的特点:①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD 是在逻辑块下编程。④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA 是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可

以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。⑧CPLD保密性好,FPGA保密性差。⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

2.1.6 FPGA的应用

(1)电路设计中FPGA的应用

连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识。在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗。

(2)产品设计

把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建“首发团队”的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇

(3)系统级应用

系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用Xilinx V-4, V-5系列的FPGA,实现内嵌POWER PC CPU, 然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成FPGA大型系统来讲是很有帮助的。这种“山寨”味很浓的系统早期优势不一定很明显,类似ARM系统的境况但若能慢慢发挥出FPGA的优势,逐渐实现一些特色系统也是一种发展方向。若在系统级应用中,

开发人员不具备系统的扩充开发能力,只是搞搞编程是没什么意义的,当然设备驱动程序的开发是另一种情况,搞系统级应用看似起点高,但不具备深层开发能力,很可能会变成爱好者,就如很多人会做网页但不能称做会编程类似以上是几点个人开发,希望能帮助想学FPGA但很茫然无措的人理一理思路。这是一个不错的行业,有很好的个人成功机会。但也肯定是一个竞争很激烈的行业,关键看的就是速度和深度当然还有市场适应能力。

2.2 VHDL硬件描述语言

2.2.1 VHDL语言的发展

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

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

在HDL(硬件描述语言)形成发展之前,已经有了许多程序语言,如汇编、C等。这些语言运行在不同的硬件平台和操作环境中,它们适合于描述过程和算法,不适合做硬件描述。任何一种EDA工具,都需要一种硬件描述语言来作为其工作语言。这些众多的EDA工具软件开发者,各自推出了自己的HDL。此后,便出现了标准的VHDL语言。

VHDL是Very-High-Speed Integrated Circuit Hardware Language 的缩写,最初是美国国防部为其超高速集成电路研究计划(VHSIC)提出的硬件描述语言,作为各合同商之间提交复杂电路设计文档的一种标准方案;1985年完成了该标准方案的第一版,1987年成为IEEE标准,即IEEE-1076标准(VHDL’87)。1988年,美国国防部规定所有官方的ASIC设计必须以VHDL为设计描述语言(美国国防部标准MIL-STD-454L)。1993年,IEEE对VHDL标准作了若干修改和更新,从更高的抽象层次和系统描述能力上扩展VHDL的内容,升级为新的IEEE-1164(VHDL’93)。1996年,IEEE将电路综合的

标准程序与规格VHDL,成为VHDL综合标准IEEE-1076.3。一个完整的VHDL程序通常包括实体(Entity)、结构体(Architecture)、配置(Configuration)、程序包(Package)和库(Library)五个部分。其基本结构如图2-1所示。

图2-1 VHDL程序的结构

VHDL作为EDA的重要组成部分,提供了借助计算机进行数字系统设计的一种很好的手段,用VHDL设计有许多优点,它的硬件描述能力强,可以用于从门级、电路级直至系统级的描述、仿真、综合和调试。利用VHDL丰富的仿真语句和库函数,对大系统在设计的早期可在远离门级的高层次上进行模拟,以利于设计者确定整个设计的结构和功能的可行性。VHDL强大的行为描述能力和程序结构,使其具有支持大规模设计进行分解,以及对已有的设计进行再利用的功能,运用VHDL设计系统硬件具有相对独立性,设计时没有嵌入与工艺有关的信息,对硬件的描述与具体的工艺技术和硬件结构无关;当门级或门级以上的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺,这使硬件实现的目标器件有很宽的选择范围,并且修改电路与修改工艺相互之间不会产生不良影响。VHDL标准、规范,语法较为严格,采用VHDL的设计便于复用和交流,VHDL所具有的类属描述语句和子程序调用等功能,使设计者对完成的设计,不必改变源程序,只需改变类属参数或函数,就可以改变设计的规模与结构。我们知道

VHDL作为IEEE的工业标准硬件描述语言之一,得到了众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言,它相对于ABEL-HDL语言的功能更加强大。ABEL-HDL从结构上来说没有VHDL清晰,可读性也要稍微差一些[3,15]。

综合以上的分析说明,从可读性以及我们对语言的理解程度,选择VHDL语言编程更利于初学者进行设计,其实就两种语言本身而言区别并不是很大,有很多的描述语句都是一样的,目前很多的工程技术人员在设计时两种语言都有使用,我们在仿真时可以用两种语言分别尝试一下,这样就能更好的理解他们之间的细微差别。

VHDL是“Very high speed integrated circuit Hardware Description Language”的缩写,即“甚高速集成电路硬件描述语言”。最初由美国国防部和Intermetrics、IBM、TI公司联合开发,1987年成为IEEE标准,即IEEEl076标准(俗称87版VHDL)。此后,美国国防部要求官方的与高速集成电路设计相关的所有文档必须用VHDL描述,因此VHDL 在电子设计领域得到了广泛的应用,渐渐成为工业界的标准。1993年,IEEE对VHDL 进行了修订,公布了新的VHDL标准,即IEEEl076(俗称93版VHDL)。

2.2.2 VHDL语言的特点

当电路系统采用VHDL语言设计硬件时,具有如下的特点:

(1)采用自上而下的设计方法

即从系统总体要求出发,自上而下的逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成“行为描述”,“RTL方式描述”,“逻辑综合”三个层次进行设计。

(2)系统可大量采用PLD芯片

由于目前众多制造PLD芯片的厂家,其工具软件均支持VHDL的编程,所以利用VHDL设计数字系统时,可以根据硬件电路的设计需要,自行利用PLD设计采用的ASIC 芯片,而无需受通用元器件的限制。

(3)采用系统早期仿真

从自上而下的设计过程中可以看到,在系统设计过程中要进行三级仿真,即行为层次仿真、RTL层次仿真和门级层次仿真。这三级仿真贯穿着系统设计的全过程,从而可以在系统设计的早期发现设计中存在的问题。

(4)降低了硬件电路设计难度

在传统的设计方法中,往往要求设计者在设计电路之前写出该电路的逻辑表达式或真值表,这一工作是相当困难和繁杂的。而利用VHDL设计硬件电路时,设计者不必编

写逻辑,从而大大降低了设计的难度。

(5)主要设计文件是用VHDL编写的源程序

使用VHDL源程序有许多好处:其一是资料量小,便于保存;其二是可继承性好,当设计其它硬件电路时,可使用文件中的某些库、进程和过程等某些局部硬件电路的程序;其三是阅读方便,阅读程序比阅读电路原理图更容易些,阅读者很容易在程序中看出某一电路的工作原理和逻辑关系。

2.2.3 VHDL的建模

VHDL语言可以对很多种数字系统进行建模,涵盖从组成元件的低级们电路到顶层功能单元的宽广领域。对较大的数字系统作为一个整体进行研究是极其复杂的,因此需要借助一些有效的方法来对这种复杂数字系统进行简单化,这种有效的方法就是系统化的设计方法。

系统化的设计方发总是从一个设计要求开始。首先,通过设计一个抽象结构来满足设计要求;然后,把该结构分解为一系列元件并通过互练来完成相同的功能;接着,每一个元件再被分解直至找到已有的能完成于最底层元件同样功能的图元为止;最终,所获得的结果恰好是一个以图元建造的分层复合系统。着中国方法的优点是每一个元件或称子系统都能够被独立地设计。并且在使用子系统时,可以把它只作为一个抽象结构看待而不必考虑它的细节。因此,在设计进程的任一阶段,仅需关注与当前设计有关的少量信息,这就避免了处理大量细节信息的麻烦。

在VHDL建模中,我们用模型(model)这个术语来表示我们对一个系统的理解,这意味着同一系统有几种形式的模型,并且每一模型都表示了不同方面的系统特点,例如,模型1用于表示系统的行为;模型2用于表示由子系统互连组成该系统的方式,即互连结构。

再规范一下这个模型的概念:

(1)当要求设计一个数字系统时,设计要求必须是具体的;

(2)要求能把系统行为的说明传递给用户;

(3)要求允许通过模拟进行设计测试和验证;

(4)要求允许对一个设计的正确性进行形式验证;

(5)要求允许自动综合电路。

综上所述,我们有一个共同的目的就是想要在设计进程中用最少的花费和左手的时间获得最大的可靠性。

相关主题
文本预览
相关文档 最新文档