EDA技术概述

1.1EDA技术及发展

数字器件经历了:

SSI、MSI、LSI、VLSI、SoC、PLD  
  Soc能够把一个完整的电子系统集成在一个芯片上
   注:SoC(芯片系统)、PLD(可编程逻辑器件)

PLD改变了数字系统设计方式、经历以下阶段:

-PLA(可编程逻辑阵列)
-GAL(通用阵列逻辑)
-FPGA(现场可变编程门阵列)
-CPLD(复杂可编程逻辑器件)

数字设计的方法:

CAD阶段—CAE阶段—EDA阶段  注:EDA(电子设计自动化)

EDA工具包括了:

 PCB设计、PLD开发  系统级设计,数字电路设计、版图设计
 高速电路设计、模拟电路设计、混合电路设计、综合与仿真

EDA时期:

1、软硬件协同设计技术
2、IP核发展,算短设计周期,提高设计效率 (基于IP核的SoC),可重用性提高
3、嵌入式微处理器软核出现,更大规模的FPGA(现场可编程门阵列)/CPLD器件
不断推出,SoPC(可编程片上系统)步入实用化。
4、用FPGA实现完全硬件的DSP(数字信号处理) 【DSP告诉数字信号处理算法】
5、设计和仿真两方面支持标准硬件描述语言的EDA软件不断推出

现代EDA技术和EDA工具呈现出以下一些共同特点

1、硬件描述语言(HDL)标准化程度提高
2、EDA工具的开放性和标准化程度不断提高
3、EDA的库不断完备

1.2 Top-down设计与IP核复用

EDA技术设计中有两种设计思路

  自顶向下(Top-down),自底向上(Bottom-up)

1.2.1 Top-down 设计

描述: 
 从系统设计入手,在顶层进行功能的划分。
 在功能级别进行仿真、纠错、并用硬件描述语言进行行为描述。 
 然后用综合工具将设计转化为门级电路网表
 对应物理实现可以是PLD器件,或专用继承电路ASIC,设计的仿真和调试可以在高层级完成。

利:有利于早期发现设计上的缺陷,避免设计时间的浪费,另一方面也助于提前规划模拟仿真工作,在设计阶段就考虑仿真,提高了设计的一次成功率。
设计可以分成几个不同层次

 系统级、功能级、门级、开关级,按照自上而下的顺序,在不同的层次上对系统进行描述和仿真
 在top-down的设计过程中,需要EDA工具支持。
 其设计必须经过“设计-验证-修改设计-在验证”,不断反复

行为级与RTL级的设计——功能仿真——综合——门级网表——时序仿真

1.2.2 Bottom-up设计

 自底向上的设计,为传统设计思路,一般选择标准集成电路或者将门电路,加法器,计数器等模块做成基本单元库
 调用这些单元,逐级向上组合,设计者需要更多的关注细节,当设计出现问题需修改,会陷入麻烦,甚至前功尽弃
在数字系统设计中,应以Top-down设计思路为主,而以Bottom-up设计为辅。

1.2.3 IP复用技术与SoC

IP核是指完成某种功能的设计模块
IP核分为软核、固核和硬核三种类型
1、软核:是指寄存器传输级(RTL)模型,表现为RTL代码。软核只经过功能仿真,优点:灵活性高,可移植性强。
2、固核:经过综合(布局布线)的带有平面规划信息的网表,通常以RTL代码和对应	具体工艺网表的混合形式提供。与软核比,灵活性较差,但可靠性提高
3、硬核:经过验证的设计版图,经过前端和后端验证,并针对特定的设计工艺,用户	不能对其修改。
基于IP核的设计能节省开发时间,缩短开发周期,避免重复劳动,所以广泛应用,但存在版权等问题
SoC称为芯片系统、系统芯片,基于模块的设计方法的演变:
基于晶体管的设计——基于门级模块的设计——基于模块的设计——基于平台的设计

1.3 数字设计的流程

数字系统的实现主要是依赖两类器件:可编程逻辑器件(PLD)和专用集成电路(ASIC)

PLD(FPGA/CPLD)是一种版定制的器件,期间内已做好各类逻辑资源,用户只需对	器件内的资源编程连接就可实现,可反复修改。
ASIC用全定制方式(版图级)实现设计。实现方法能得到功耗更低,面积更省的设计。成本高、设计周期长,适用性能要求高,批量大。
基于FPGA/CPLD器件的数字设计流程如下,包括设计输入、综合、布局布线、仿真和编程配置等步骤。

设计输入(原理图、HDL文本)->综合(功能仿真)->FPGA/CPLD(时序仿真)->FPGA/CPLD(编程下载)->在线测试

1.3.1 设计输入
设计输入是将设计者设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件的过程中。设计输入最常用的方式是原理图方式和HDL文本方式。

1、原理图输入:适合描述连接关系和接口关系,表达直观,但可重用性、可移植性弱
2、HDL文本输入:用文本描述。通用硬件描述语言为Verilog HDL和VHDL,各有有点难,可用来进行算法级、寄存器传输(RTL)、门级各种层次的逻辑设计。也可进行仿真验证,时序分析等。由于HDL语言的标准化,易于将设计移植到不同平台。

1.3.2 综合
综合:指的是将较高级抽象层次的设计描述自动转化为较低层次描述的过程,综合有以下几种形式

  • 将算法表示,行为描述转换到寄存器传输级(RTL),从行为描述到结构描述

  • 将RTL级描述转换到逻辑门级(包括触发器),称为逻辑综合

  • 将逻辑门转换到版图表示,或转换到PLD器件的配置网表表示,根据版图信息能够进行ASIC生产,有了配置网表可完成基于PLD器件的系统实现

    综合器是将原理图或HDL语言表达、描述的电路编译成由与或阵列、RAM、触发器、寄存器等逻辑单元组成的电路结构网表的工具。

硬件综合器和软件程序编译器由本质区别

c、asm(程序)->软件程序编译器(Compiler)->CPU指令/数据代码流:010010 100010 1100
VHDL/Verilog程序)->硬件描述语言综合其(Synthesizer)->电路结构网表文件(门电路)

1.3.3 布局布线

	布局布线也称为适配,将综合生成的逻辑网表银蛇到具体的目标器件中实现,并产生最终的可下载文件的过程,
布局布线完成后产生如下一些重要文件
1、芯片资源耗用情况报告 
2、面对其他EDA工具的输出文件,如EDIF文件等
3、产生延时网表结构,以便进行精确的时序仿真,因为已经提取出延时网表,所以仿真结果能比较精确地预测未来芯片的实际性能。
4、器件编程文件:如用于CPLD编程的JEDEC、POF等格式文件;用于FPGA配置的SOF、JAM、BIT等格式的文件。
	布局布线与芯片的物理结构直接相关

1.3.4仿真

	仿真包括功能仿真和时序仿真。
不考虑信号延时等因素的仿真,称为功能仿真,又叫前仿真;时序仿真又称为后仿真。是在选择具体器件并完成布局布线后进行的包含延时的仿真。

1.3.5 编程配置

把适配后生成的编程文件装入PLD器件中的过程称为下载。
通常对基于EEPROM工艺的非易失结构CPLD器件的下载称为编程
将基于SRAM工艺结构的FPGA器件的下载称为配置。

你可能感兴趣的:(fpga开发,硬件架构)