理解FPGA的基础知识——FPGA专业术语realwugang1年前更新150 ■ ASIC(Application Specific Integrated Circuit,专用集成电路) ASIC 是为满足顾客特定需求而设计制造、面相特定用途的集成电路的总称。面向特定用途的集成电路分为全定制IC和半定制 IC。通常所说的ASIC主要指门阵列、嵌入式阵列、标准单元 ASIC、结构化 ASIC 等。 ■ ASSP(Application Specific Standard Product,专用标准产品) 相对于 ASIC 这种为特定顾客定制的 LSI,ASSP 是面向某一特定领 域或应用的通用 LSI。因为不是针对某一顾客而特别定制的芯片,所以 作为通用器件(标准器件)具有可提供给不同客户的优势。 ■ CPLD(Complex PLD,复杂可编程逻辑器件) CPLD 是指将多个小规模 SPLD 作为基本逻辑块,再通过开关连接而成的中规模(大规模)PLD,因为单纯扩大AND-OR 阵列规模会导致资源浪费。CPLD逻辑部分的延迟时间和开关部分的延迟时间比较固定, 因此设计较为容易。 ■ DLL(Delay-Locked Loop,延迟锁定环) DLL 的基本功能和 PLL 的相同:可以实现零传输延迟;可以为分散逻辑门阵列)。 ■ IP(Intellectual Property,设计资产) IP 本来的意思是知识产权,而在半导体领域,CPU 核、大规模宏单 元等功能模块被称为IP(设计资产)。使用经过验证的成品功能模块(IP),比重新设计电路更高效且可以缩短开发周期。为了和固件、中间 件等软件 IP 区别开来,电路 IP 也被称为“硬 IP”或“IP 核”。 ■ LUT(Look-up Table,查找表) 通过将函数的真值表存放在少量内存单元中来实现组合逻辑电路功能的模块称为 LUT。直接用电路的方式实现复杂函数,产生的电路可能会存在面积过大或速度过低等问题,而基于 LUT 的实现方式则有可能解决这些问题。 ■ LVDS(Low Voltage Differential Signaling,低电压差分信号) LVDS 是一种使用差分方式传输低电压、小振幅信号的接口技术。该数字传输标准可以达到数百 Mbit/s 信号传输速度。 ■ PLD(Programmable Logic Device,可编程逻辑器件) PLD 是用户可将设计电路写入芯片的可编程逻辑器件的总称。代表性的 PLD 有 SPLD、CPLD 和 FPGA 等。 ■ PLL(Phase-Locked Loop,锁相环) PLL 是一种用来同步输入信号和输出信号频率和相位的相位同步电路,也可用来实现时钟信号的倍频(产生输入时钟整数倍频率的时钟)。在 FPGA 芯片上,PLL 用来实现对主时钟的倍频和分频,并且 PLL的输出时钟之间保持同步。与基于延迟的 DLL 原理不同,PLL 采用 VCO(压控振荡器)来产生和输入时钟相似的时钟信号。 ■ RTL(Register Transfer Level,寄存器传输级) RTL 用来表示使用 HDL 进行电路设计时的设计抽象度,是一种比晶体管和逻辑门级别的设计抽象度更高的寄存器传输级(RTL)的设计方式。RTL 设计将电路行为描述为寄存器间的数据传输及其逻辑运算的组合。 ■ SERDES(Serializer-Deserializer,串行器-解串器) SERDES 通过用串行、并行相互转换模块,来实现使用高速串行接口连接并行接口的功能。最近的高速通信接口以串行为主流,因此不需要考虑并行通信中布线长度不一所导致的传输位间的时间偏移问题。 ■ SoC(System on a Chip,片上系统) 从前的 LSI 按照功能分为处理逻辑、内存、接口等产品,而今后的趋势是将各种丰富的功能系统性地集成到一片 LSI 上,这种 LSI 被称为SoC 或系统 LSI。 ■ SPLD(Simple PLD,简单可编程逻辑器件) SPLD 是由标准积之和形式的 AND-OR 阵列(积项)构成的小规模PLD。也有一些附加嵌入各种宏单元或寄存器的产品。 ■ SRAM(Static Random Access Memory,静态随机存储器) SRAM 是一种可以自由进行读写操作的半导体随机存储器(RAM),并且属于断电后数据会丢失的易失性存储器。由于不像 DRAM 那样需要周期性地刷新操作(保持数据),因此被称为静态存储器。 ■ 反熔丝(anti-fuse) 反熔丝在通常状态下绝缘,加以高电压时绝缘层会打开通孔熔通成为连接状态。由于它和合金熔丝的特性相反,因此被称为反熔丝。反熔丝形成的内部连接阻抗低,可用来实现高速电路。虽然反熔丝具有非易失性,但是编程写入的操作只能进行一次。 ■ 嵌入式阵列(embedded array) 嵌入式阵列的开发流程是在用户决定好所需的硬宏单元时就先行投放晶圆进行生产,硬宏单元之外的用户逻辑部分先部署门阵列。用户完成逻辑设计后,只要在金属层工序实施用户逻辑的布线即可完成生产。这样,就可以同时具有标准单元 ASIC 中硬宏单元的高性能,以及堪比门阵列的短开发周期这两方面的优势。 ■ 时钟树(clock tree) 大规模 LSI 中的布线延迟会导致各个信号到达时间不一致。特别是同步电路设计中电路的动作由时钟控制,这种信号传播上的时间差会带来不好的影响。因此需要时钟树这种时钟专属的布线和驱动电路来改善信号的偏差和传播速度。 ■ 门阵列(Gate Array,GA) 门阵列是一种除布线之外所有掩膜工序都提前完成,用户只需要进行片上门电路之间的金属布线工程就能完成生产的芯片开发方式。这种方式具有开发周期短的优势。门阵列分为门电路区域和布线区域固定的通道(channel)型,以及门电路遍布整个芯片的门海(sea-of-gate)型。 ■ 高层次综合(High Level Synthesis,HLS) 高层次综合指直接使用 C 语言或者基于 C 的语言描述算法功能,再由工具自动将其综合为含有寄存器、时钟同步等硬件概念的 RTL 描述的过程。 ■ 结构化ASIC(structured ASIC) 结构化 ASIC 是指为了缩短开发周期,在门阵列基础上加以 SRAM、时钟 PLL、输入 / 输出接口等通用功能模块,将需要定制开发的部分降低到最小限度的芯片开发方式。例如制造方预先在专用布线层设计好时钟电路等方法,可以有效减轻用户的设计成本。 ■ 标准单元ASIC(cell-based ASIC) 在基于标准单元库基础之上,提供更大规模电路模块(巨型单元、宏单元等)的 IC 开发方式。在使用标准单元实现的随机逻辑之上,提供 ROM、RAM、微处理器等巨型单元。系统 LSI 是在标准单元 ASIC的基础上多功能化和大规模化而来的产物。 ■ 软核处理器(soft-core processor) 软核处理器是可以通过逻辑综合来实现的微处理器核,在 FPGA 领域得到了广泛的应用。软核具有很多优势,例如可以在不同 FPGA 系列中使用,可以根据需要定制搭载必要数量的周边电路和 I/O,还可以根据需要自由装载多个处理器(多核化)等。 ■ 动态部分重配置(dynamic partial reconfiguration) 部分重配置是指在可重构设备上实现的电路中,只对其中一部分进行重新配置。动态部分重配置则是指在其他部分正常工作的情况下,动态地对某一部分进行重新配置。使用动态部分重配置功能可以卸载无须同时工作的电路,从而得到面积和功耗上的改进。 ■ 动态可重构处理器(Dynamically Reconfigurable Processor,DRP) 动态可重构处理器是可重构系统的一种,商品化的产品通常是将粗粒度的 PE(Processing Element,处理单元)和分散的内存模块按二次元阵列型放置,各个 PE 的指令和 PE 之间的连接可以动态地(在工作时)改变。 ■ 硬件描述语言(Hardware Description Language,HDL) 硬件描述语言是描述硬件行为和连接的编程语言。最早的数字电路设计通过组合 AND、OR、NOT、FF(Flip-Flop)等逻辑电路的符号来绘制电路图完成设计,这些年基于硬件描述语言的设计方法成为主流。硬件描述语言中,Verilog HDL 和 VHDL 作为行业标准应用得最为广泛。 ■ 硬宏单元(hard macro) 硬宏单元是指 FPGA 内部嵌入的固定的硬件电路模块。虽然可以使用 FPGA 的基本门来实现乘法器这类电路,但消耗的资源非常多,开销会增大。而如果使用硬宏单元,就不会对应用的性能有过多的影响。 ■ 闪存(flash memory) 一般的 EEPROM 可以对指定地址的内存进行擦除,而闪存是一种通过简化结构提高了速度和集成度,但只能批量擦除的 EEPROM。FPGA 中闪存的使用方式有两种,一种是将闪存单元用作逻辑和布线记忆单元的直接型,另一种是用闪存对 SRAM 型 FPGA 进行配置的间接型。 ■ 制程工艺(process technology) 虽然半导体制程的开发有两大分支——工艺和材料,但回顾基于硅材料的晶体管发展历史,微型工艺的进步是半导体产业成长的主要基础。LSI 主要构成器件是 MOS 型场效应管(MOSFET),只要可以制造更微小的 MOSFET,就能同时实现降低功耗、加快反应速度和增加单位面积晶体管数量等目标。 ■ 乘积项(product term) 所有逻辑表达式都可以变换为与项(AND)的逻辑或(OR),也就是积之和的形式。由 AND 阵列和 OR 阵列组成的 AND-OR 构造称为乘积项形式。乘积项是 SPLD 和 CPLD 中代表性的基本结构。 ■ 可重构系统(reconfigurable system) 可重构系统是灵活运用细粒度(FPGA)或粗粒度(PE 阵列)的可重构器件,根据应用特征改变包括数据通路(data path)在内的硬件结构的系统总称。这种方式比开发专用硬件更具弹性,又可以针对各种问题的算法优化结构实现高性能运算。 ■ 可重构逻辑(reconfigurable logic) 可重构逻辑是可以在 PLD 中通过重新写入配置来改变电路结构的LSI 的总称。FPGA 和 CPLD 都属于这一类,它们都使用 SRAM 单元、EEPROM 单元或闪存单元作为存储器件。在工作中可以改变电路结构的器件被称为动态可重构逻辑。 ■ 粒度(granularity) 这里的粒度指电路规模。通常“粒度”一词用来描述粉状物体颗粒的大小程度,比如颗粒的粗糙程度、细腻程度。目前主流 FPGA 中基本逻辑块的粒度位于门阵列(晶体管级别)和 CPLD(乘积项)之间,但通常也被称为细粒度(fine grain)。而粗粒度(coarse grain)通常指具有4~32 位 PE(Processing Element)阵列的动态可重构处理器。 ■ 逻辑综合(logic synthesis) 逻辑综合是指从 Verilog HDL 或 VHDL 等硬件描述语言编写的 RTL电路转换为 AND、OR、NOT 等门级网表(门间连线信息)的过程。 ■ 逻辑块(logic block) 逻辑块是指用来实现逻辑的电路块。CPLD 中的逻辑块是乘积项结构的宏单元。FPGA 中的逻辑块虽然叫法因厂商而异,但大致都是由LUT 和触发器组成的基本单元,再加上一些提高性能的附加电路构成的。
没有回复内容