EDA基础概念
主题引言:
在现代电子设计和制造领域,EDA(电子设计自动化)和CAD(计算机辅助设计)技术是两大核心支柱。它们不仅极大地提高了电子产品的开发效率和质量,还在很大程度上推动了整个电子行业的创新与发展。EDA和CAD技术的核心在于通过计算机软件和硬件的结合,实现电子系统设计的自动化和智能化,从而缩短设计时间,降低成本,并提高产品的可靠性和性能。
相关问题与解答:
问题1:EDA和CAD的主要区别是什么?
答案: EDA和CAD的主要区别在于它们各自的应用范围和功能深度。CAD主要用于传统的绘图和设计,如机械工程中的零件和装配图,而EDA则专注于电子系统的设计,包括电路原理图、布线图、芯片级设计等。尽管两者都使用计算机辅助设计,但CAD更侧重于物理世界的设计,而EDA则专注于电子系统的虚拟设计。
问题2:FPGA和CPLD有何不同,它们各自的优势是什么?
答案: FPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们的最大区别在于内部结构和编程方式。FPGA由大量的可配置逻辑块组成,允许用户根据需要灵活地配置逻辑资源,适用于需要高灵活性、高并行度和大量逻辑单元的复杂设计。CPLD则具有固定的内部结构,编程后难以更改内部逻辑结构,但它提供了时间预测性好的优点,适用于逻辑固定或时序要求严格的场合。
问题3:在电子设计自动化中,硬件描述语言(HDL)扮演什么角色,常用的HDL有哪些?
答案: 在EDA中,硬件描述语言(HDL)是设计和描述数字电路的核心工具。通过HDL,设计者可以精确地表达电路的行为和结构。常用的硬件描述语言包括VHDL和Verilog,它们都支持抽象级别的描述,从简单的逻辑门到复杂的数字系统。
深入主题的思维拓展:
从EDA技术的角度来看,随着集成电路规模的不断增大和设计的日益复杂,对EDA工具的依赖也越来越强。现代EDA技术不仅仅是简单的绘图工具,它集成了电路设计、仿真、验证、布局布线等多项高级功能,极大地提高了设计的效率和成功率。
同时,随着人工智能和机器学习技术的发展,自动化的EDA工具也在逐渐增多,这些工具能够辅助设计者进行逻辑优化、时序分析甚至故障预测,进一步提升了设计的智能化水平。未来,EDA技术有望在物联网、人工智能芯片设计等地方发挥更大的作用,成为推动新兴技术发展的关键力量。
EDA基础概念
- EDA和CAD
-
- CAD工具
- EDA工具
- EDA技术实现目标
- 可编程逻辑器件简称PLD发展历程
- FPGA简介
- CPLD简介
- FPGA和CPLD区别
- 是否需要同时学习FPGA和CPLD
- Xilinx(赛灵思)公司介绍(AMD收购)
-
- 开发工具
- Xilinx产品
- Altera(阿尔特拉)公司介绍(Intel收购)
-
- 开发工具
- Altera产品
- Xilinx和Altera产品对比
- Lattice公司(中文:莱迪思)
- Microsemi(中文:美高森美)
- Xilinx ZYNQ简介
- FPGA/CPLD设计流程
- 硬件描述语言(HDL)
- HDL综合
EDA和CAD
CAD工具
计算机辅助设计工具,主要作用:绘图工具,使用者:遍布各个行业。电气CAD系统的目标与范围有:机械产品电气设计包括电路图、接线图、安装图、接线盒和电柜以及按钮站的设计。这五个部分之间不是孤立存在的,而是互相联系,这五个部分既能单独运行又能实现信息共享。为此电气CAD系统的目标与范围是:建立适应完成以上功能要求、保证设计质量又能提高效率、缩短设计周期、减少人工劳动的电气CAD系统,包括电路图、接线图、安装图、接线盒和电柜、按钮站的设计。
EDA工具
EDA:Electronic Design Automation,即电子设计自动化,是指是以计算机为平台,使用通用软件包,开展电子电路设计、电子电路仿真、PCB设计,CPLD/FPGA设计,IC设计等工作。也即在CAD绘图技术基础上融合了应用电子技术、计算机技术、信息处理技术等实现电子产品的自动设计。使用者:特指有关电子系统的相关的行业。
1.电子电路设计
例如:multisim和matlab都能进行电路仿真,例如可以画出电路图,仿真观察电压电流的波形
2.PCB设计(电路板设计)
例如:Protel、altium desinger可以进行PCB图的绘制
3.IC设计(芯片设计)
很复杂,包括模拟IC和数字IC。例如:芯片设计工具Cadence
4.PLD设计工具(可编程逻辑器件)
FPGA(现场可编程门阵列)的工具有Quartus是Altera公司出的软件,可以对其公司的FPGA芯片进行编程,下载。
注:
1.很多软件的功能非常复杂,在电子系统的各个级别(物理级、电路级、系统级)都有很强的功能。如:quartus既能做数字IC设计,也能做FPGA设计。
2.流程图绘制工具:Visio是半个EDA软件
EDA技术实现目标
利用EDA技术进行电子系统设计的最后的目标,是完成专用集成电路ASIC或印制电路板(PCB)的设计和实现。
作为EDA技术最终实现目标的ASIC,可以通过三种途径来完成:
1、可编辑逻辑器件
FPGA/CPLD是实现这一途径的主流器件
2、半定制或全定制ASIC
统称为掩膜ASIC,或直接称ASIC,分为以下三种
3、混合ASIC
可编程逻辑器件简称PLD发展历程
可编程逻辑器件简称PLD(Programable Logic Device),它是EDA技术发展的一个重要支持点,也是实现电子系统非常重要的一种方法,PLD的发展推动了EDA工具的发展,也改变了电子系统的设计方法。PLD的集成度分类:
复杂PLD(CPLD与FPGA):
- 1985年,美国Xilinx公司推出了现场可编程门阵列(FPGA,Field Programmable Gate Array)
- CPLD(Complex Programmable Logic Device),即复杂可编程逻辑器件,是从Altera 的 EPLD 改进而来的。
FPGA简介
- FPGA(Field- Programmable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展出来的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
- FPGA 普遍用于实现数字电路模块,用户可对 FPGA 内部的逻辑模块和 I/O模块重新配置,以实现用户的需求。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。
- FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块 RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。
- FPGA 的设计流程包括算法设计、代码仿真以及设计、板级调试,设计者以及实际需求建立算法架构,利用 EDA 建立设计方案或 HD 编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至 FPGA 芯片中,验证实际运行效果。
FPGA 架构主要包括可配置逻辑块 CLB(Configurable Logic Block)、输入输出块 IOB(Input Output Block)、内部连线(Interconnect)和其它内嵌单元四个部分。
CLB是FPGA的基本组件,它提供逻辑和存储功能。基本逻辑块可以是晶体管、与非门、多路复用器、查找表 (LUT)、类似PAL的结构甚至处理器之类的任何东西。Xilinx和Altera都使用基于查找表 (LUT) 的逻辑块来实现逻辑和存储功能。CLB实际数量和特性会依器件的不同而改变,但是每个 CLB 都包含一个由 4 或 6个输入、若干选择电路(多路复用器等)和触发器组成的可配置开关矩阵。基于Xilinx的FPGA中的逻辑块称为可配置逻辑块或CLB,而基于Altera的FPGA中的类似结构称为逻辑阵列块或LAB。
FPGA 可支持许多种 I/O 标准,因而可以为系统设计提供理想的接口桥接。FPGA 内的 I/O 按 bank 分组,每个 bank 能独立支持不同的 I/O 标准。目前最先进的 FPGA 提供了十多个 I/O bank,能够提供灵活的 I/O 支持。
CLB 提供了逻辑性能,灵活的互连布线则负责在 CLB 和 I/O 之间传递信号。布线有几种类型,从设计用于专门实现 CLB 互连(短线资源)、到器件内的高速水平和垂直长线(长线资源)、再到时钟与其它全局信号的全局低 skew 布线(全局性专用布线资源)。
CPLD简介
CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。较常用的有Xilinx公司的EPLD和Altera公司的CPLD。
FPGA和CPLD区别
各个厂家叫法不尽相同:
PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项(Product Term)结构。FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。
Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD;
Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA
<