1.为什么要需要专用的复杂数字系统?
某些数字信号的处理需要在规定的时间内完成,如无线通信系统和机载雷达系统等常需要对检测到的微弱信号进行增强、加密、编码、压缩,而在接收端必须及时的解压缩、解码和解密并重现清晰的信号。
甚至有时候这个规定的时间是us级的,使用通用微处理器芯片也无法满足实时性要求,因此需要设计专用的高速硬件逻辑电路来完成上述的需求。
2.高速硬件逻辑电路主要有哪些?
可编程逻辑器件是指通过软件手段更改、配置器件内部连接结构和逻辑单元完成既定设计功能的数字集成电路。
目前常用的可编程逻辑器件主要有PLD、CPLD、FPGA
3.简单逻辑阵列PLD
典型的pld由一个与门和或门组成,任意组合逻辑都可以用与或表达式来描述,所以pld能以乘积和的形式完成大量的组合逻辑功能。
主要产品有PLA(可编程逻辑阵列)和GLA(通用可编程逻辑阵列),采用EEPROM工艺。可电擦除,电改写,具有很强的灵活性。
GLA是从 PLA的基础上发展而来的,采用eecmos工艺,增加其他的一些实用功能,包括改写次数,加密,电子标签等功能。
4.复杂可编程逻辑器件CPLD
CPLD是从PLA和GLA发展出来的器件,一般采用EEPROM工艺,基本结构由 可编程i/O单元、基本逻辑单元、布线池和其他辅助功能模块组成。
CPLD规模更大,结构更复杂,属于大规模集成电路。
CPLD具有编程灵活、集成度高、设计开发周期短、适用范围广、开发工具先进、设计制造成本低、对开发人员的硬件经验要求低,标准产品无需测试、保密性强、价格大众化等特点。
- CPLD的主要供应商有altera、xilinx和lattice等。
5.现场可编程门阵列FPGA
- FPGA是在PLA、GLA和CPLD基础上发展出来的高性能可编辑逻辑器件,作为一种半定制电路而出现。
FPGA采用SRAM、falsh或反熔丝工艺。
FPGA可以通过VHDL或Verilog硬件描述语言进行电路设计,然后经过综合和布局,快速烧录至FPGA进行测试。
FPGA的基本组成部分有可编程i/O单元、基本可编程单元、嵌入式RAM、丰富的布线资源和内嵌专用硬核等。
- FPGA的主要供应商有altera、xilinx、lattice和actel-lucent等。
6.CPLD和FPGA的对比
- 主要区别在于它们的系统结构
CPLD是一个有限制性的结构,缺乏编程的灵活性(这个结构是由一个或多个可编辑的结构之和的逻辑组列和少量锁定的寄存器组成,不能灵活编辑)。具有可以预计延迟时间和逻辑单元对连接单元高比率的优点。
FPGA有很多的连接单元,可以更加灵活的编辑,但是结构也变得更加复杂。
- 次要区别为多数FPGA含有高层次的内置模块和内置记忆体,支持全部或部分系统内重新配置。
根据结构特点和工作原理区分:
(1) 结构特点:
以乘积项结构方式构成逻辑行为的器件称为CPLD, 以查找表结构方式构成逻辑行为的器件称为FPGA。
(2) 工艺区别:
FPGA一般采用SRAM工艺,基本结构是基于查找表加寄存器的结构 CPLD一般采用EEPROM工艺,基本结构是基于乘积项的结构
因此FPGA更适合于完成时序逻辑,CPLD更适合完成各种算法和组合逻辑。
(3)
CPLD的连续式的布线结构决定了它的时序延迟是均匀的和可预测的
FPGA的分段式布线结构决定了其延迟具有不可预测性,所以对于FPGA,时序约束和仿真非常重要。
(4)
在编程方式上,CPLD主要是基于EEPROM或flash存储器编程,无外部存储器芯片,使用简单,编辑次数>1w次,系统断电,编程信息也不会丢失(目标代码)。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据(目标代码)重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置,缺点是掉电后程序丢失。
(5) FPGA的集成度比CPLD高,因此FPGA一般用于复杂系统的设计,CPLD用于简单的设计。
(6) CPLD的速度比FPGA快,并且具有较大的时间可预测性
(7) CPLD的保密性好,FPGA保密性差。
7.电子设计自动化EDA与硬件描述语言HDL
EDA可以理解为是一个编译工具软件,HDL是一门编程语言(硬件)。
数字系统设计的过程实际上是系统高层次功能的描述(也叫行为描述)向低层次结构描述的转换。
为了把需要用FPGA实现的用户需求,(系统的逻辑功能、实现该功能的算法、选用的电路结构和逻辑模块以及系统的非逻辑约束)能够输入计算机,并完成相应的编程开发。
因此就有了HDL硬件描述语言。
硬件描述语言是一种使用代码描述数字电路的方法,可以起到和传统的硬件人员使用电路原理图画出硬件板子的效果。
通过硬件描述语言编程后,再利用EDA工具进行综合、布局布线等,就可以转化为实际的电路。