集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: 小舍YZ

FPGA开发 实用内容

[复制链接]
 楼主| 小舍YZ 发表于 2017-3-31 12:05:51 | 显示全部楼层
1. 电路设计
在系统设计之前,首先要进行的是方案论证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。

2. 设计输入
设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。这种方法虽然直观并易于仿真,但效率很低,且不易维护,不利于模块构造和重用。更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。目前,在实际开发中应用最广的就是HDL语言输入法,利用文本描述设计,可以分为普通HDL和行为HDL。普通HDL有ABEL、CUR等,支持逻辑方程、真值表和状态机等表达方式,主要用于简单的小型设计。而在中大型工程中,主要使用行为HDL,其主流语言是Verilog HDL和VHDL。这两种语言都是美国电气与电子工程师协会(IEEE)的标准,其共同的突出特点有:语言与芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效率很高。

3. 功能仿真
功能仿真,也称为前仿真,是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器和HDL等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。如果发现错误,则返回设计修改逻辑设计。常用的工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等软件。

4. 综合优化
所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化(Synthesis)是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。真实具体的门级电路需要利用FPGA制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。为了能转换成标准的门级结构网表,HDL程序的编写必须符合特定综合器所要求的风格。由于门级结构、RTL级的HDL程序的综合是很成熟的技术,所有的综合器都可以支持到这一级别的综合。常用的综合工具有Synplicity公司的Synplify/Synplify Pro软件以及各个FPGA厂家自己推出的综合开发工具。

5. 综合后仿真
综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。目前的综合工具较为成熟,对于一般的设计可以省略这一步,但如果在布局布线后发现电路结构和设计意图不符,则需要回溯到综合后仿真来确认问题之所在。在功能仿真中介绍的软件工具一般都支持综合后仿真。

6. 实现与布局布线
实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理正确地连接各个元件。目前,FPGA的结构非常复杂,特别是在有时序约束条件时,需要利用时序驱动的引擎进行布局布线。布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。由于只有FPGA芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。

7. 实现与布局布线
时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。由于不同芯片的内部延时不一样,不同的布局布线方案也给延时带来不同的影响。因此在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争冒险是非常有必要的。在功能仿真中介绍的软件工具一般都支持综合后仿真。

8. 板级仿真与验证
板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。

9. 芯片编程与调试
设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件,Bitstream Generation),然后将编程数据下载到FPGA芯片中。其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。逻辑分析仪(Logic Analyzer,LA)是FPGA设计的主要调试工具,但需要引出大量的测试管脚,且LA价格昂贵。目前,主流的FPGA芯片生产商都提供了内嵌的在线逻辑分析仪(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)来解决上述矛盾,它们只需要占用芯片少量的逻辑资源,具有很高的实用价值。
 楼主| 小舍YZ 发表于 2017-3-31 12:06:16 | 显示全部楼层
1.3.3 基于FPGA的SOC设计方法

基于FPGA的SOC设计理念将FPGA可编程的优点带到了SOC领域,其系统由嵌入式处理器内核、DSP单元、大容量处理器、吉比特收发器、混合逻辑、IP以及原有的设计部分组成。相应的FPGA规模大都在百万门以上,适合于许多领域,如电信、计算机等行业。

系统设计方法是SOC常用的方法学,其优势在于,可进行反复修改并对系统架构实现进行验证,包括SOC集成硬件和软件组件之间的接口。不过,目前仍存在很多问题,最大的问题就是没有通用的系统描述语言和系统级综合工具。随着FPGA平台的融入,将SOC逐步地推向了实用。SOC平台的核心部分是内嵌的处理内核,其硬件是固定的,软件则是可编程的;外围电路则由FPGA的逻辑资源组成,大都以IP 的形式提供,例如存储器接口、USB接口以及以太网MAC层接口等,用户根据自己需要在内核总线上添加,并能自己订制相应的接口IP和外围设备。
 楼主| 小舍YZ 发表于 2017-3-31 12:06:47 | 显示全部楼层
基于FPGA的典型SOC开发流程为:

1.芯片内的考虑
从设计生成开始,设计人员需要从硬件/软件协同验证的思路入手,以找出只能在系统集成阶段才会被发现的软、硬件缺陷。然后选择合适的芯片以及开发工具,在综合过程得到优化,随后进行精确的实现,以满足实际需求。由于设计规模越来越大,工作频率也到了数百兆赫兹,布局布线的延迟将变得非常重要。为了确保满足时序,需要在布局布线后进行静态时序分析,对设计进行验证。

2.板级验证
在芯片设计完毕后,需要再进行板级验证,以便在印刷电路板(PCB)上保证与最初设计功能一致。因此,PCB布局以及信号完整性测试应被纳入设计流程。由于芯片内设计所做的任何改变都将反映在下游的设计流程中,各个过程之间的数据接口和管理也必须是无误的。预计SOC系统以及所必须的额外过程将使数据的大小成指数增长,因此,管理各种数据集本身是急剧挑战性的任务

 楼主| 小舍YZ 发表于 2017-3-31 12:07:41 | 显示全部楼层
本帖最后由 小舍YZ 于 2017-4-1 10:49 编辑

第4节 Xilinx公司器件简介

1.4.1 Xilinx FPGA芯片介绍

Xilinx公司目前有两大类FPGA产品:Spartan类和Virtex类,前者主要面向低成本的中低端应用,是目前业界成本最低的一类FPGA;后者主要面向高端应用,属于业界的顶级产品。这两个系列的差异仅限于芯片的规模和专用模块上,都采用了先进的0.13 、90 甚至65 制造工艺,具有相同的卓越品质。

1.Spartan类
Spartan系列适用于普通的工业、商业等领域,目前主流的芯片包括:Spartan-2、Spartan-2E、Spartan-3、Spartan-3A以及Spartan-3E等种类。其中Spartan-2最高可达20万系统门,Spartan-2E最高可达60万系统门,Spartan-3最高可达500万门,Spartan-3A和Spartan-3E不仅系统门数更大,还增强了大量的内嵌专用乘法器和专用块RAM资源,具备实现复杂数字信号处理和片上可编程系统的能力。

(1)Spartan-2系列
Spartan-2在Spartan系列的基础上继承了更多的逻辑资源,达到更高的性能,芯片密度高达20万系统门。由于采用了成熟的FPGA结构,支持流行的接口标准,具有适量的逻辑资源和片内RAM,并提供灵活的时钟处理,可以运行8位的PicoBlaze软核,主要应用于各类低端产品中。其主要特点如下所示:
•        采用0.18 工艺,密度达到5292逻辑单元;
•        系统时钟可以达到200MHz;
•        采用最大门数为20万门,具有延迟数字锁相环;
•        具有可编程用户I/O;
•        具有片上块RAM存储资源;
Spartan-2系列产品的主要技术特征如表1-2所示。

表1-2 Spartan-2系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:50:45 | 显示全部楼层
(2)Spartan-2E 系列
Spartan-2E基于Virex-E架构,具有比Spartan-2更多的逻辑门、用户I/O和更高的性能。Xilinx还为其提供了包括存储器控制器、系统接口、DSP、通信以及网络等IP核,并可以运行CPU软核,对DSP有一定的支持。其主要特点如下所示:
•        采用0.15 工艺,密度达到15552逻辑单元;
•        最高系统时钟可达200MHz;
•        最大门数为60万门,最多具有4个延时锁相环;
•        核电压为1.2V,I/Q电压可为1.2V、3.3V、2.5V,支持19个可选的I/O标准;
•        最大可达288k的块RAM和221K的分布式RAM;
Spartan-2E系列产品的主要技术特征如表1-3所示。

表1-3 Spartan-2E系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:51:34 | 显示全部楼层
(3)Spartan-3系列
Spartan-3基于Virtex-II FPGA架构,采用90 技术,8层金属工艺,系统门数超过5百万,内嵌了硬核乘法器和数字时钟管理模块。从结构上看,Spartan-3将逻辑、存储器、数学运算、数字处理器处理器、I/O以及系统管理资源完美地结合在一起,使之有更高层次、更广泛的应用,获得了商业上的成功,占据了较大份额的中低端市场。其主要特性如下:
•        采用90 工艺,密度高达74880逻辑单元;
•        最高系统时钟为340MHz;
•        具有 的专用乘法器;
•        核电压为1.2V,端口电压为3.3V、2.5V、1.2V,支持24种I/O标准;
•        高达520k分布式RAM和1872k的块RAM;
•        具有片上时钟管理模块(DCM);
•        具有嵌入式Xtrema DSP功能,每秒可执行3300亿次乘加。
Spartan-3系列产品的主要技术特征如表1-4所示。
表1-4 Spartan-3系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:52:37 | 显示全部楼层
(4)Spartan-3A/3ADSP/3AN系列
Spartan-3A 在Spartan-3和Spartan-3E平台的基础上,整合了各种创新特性帮助客户极大地削减了系统总成本。利用独特的器件DNA ID技术,实现业内首款 FPGA 电子序列号;提供了经济、功能强大的机制来防止发生窜改、克隆和过度设计的现象。并且具有集成式看门狗监控功能的增强型多重启动特性。支持商用 flash 存储器,有助于削减系统总成本。其主要特性为:
•        采用90 工艺,密度高达74880逻辑单元;
•        工作时钟范围为5MHz~320MHz;
•        领先的连接功能平台,具有最广泛的 IO 标准(26 种,包括新的 TMDS 和 PPDS)支持;
•        利用独特的 Device DNA 序列号实现的业内首个功能强大的防克隆安全特性;
•        五个器件,具有高达 1.4M 的系统门和 502 个 I/O;
•        灵活的功耗管理。
Spartan-3A系列产品的主要技术特征如表1-5所示。
表1-5 Spartan-3A系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:53:30 | 显示全部楼层
Spartan-3ADSP平台提供了最具成本效益的 DSP 器件,其架构的核心就是 XtremeDSP DSP48A slice,还提供了性能超过30GMAC/s、存储器带宽高达2196 Mbps的新型 XC3SD3400A和XC3SD1800A器件。新型Spartan-3A DSP 平台是成本敏感型 DSP 算法和需要极高DSP性能的协处理应用的理想之选。其主要特征如下所示。
•        采用90 工艺,密度高达74880逻辑单元;  
•         内嵌的DSP48A可以工作到250MHz;
•        采用结构化的SelectRAM架构,提供了大量的片上存储单元;  
•         VCCAUX的电压支持2.5V和3.3V,对于3.3V的应用简化了设计;
•        低功耗效率,Spartan-3A DSP器件具有很高的信号处理能力4.06 GMACs/mW。
Spartan-3ADSP系列产品的主要技术特征如表1-6所示。
表1-6 Spartan-3ADSP系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:54:08 | 显示全部楼层
Spartan-3AN芯片为最高级别系统集成的非易失性安全FPGA,提供下列2个独特的性能:先进SRAM FPGA的大量特性和高性能以及非易失性FPGA的安全、节省板空间和易于配置的特性。Spartan-3AN平台是对空间要求严苛和/或安全应用及低成本嵌入式控制器的理想选择。Spartan-3AN平台的关键特性包括:
•        业界首款90nm非易失性FPGA,具有可以实现灵活的、低成本安全性能的Device DNA电子序列号;
•        业内最大的片上用户Flash,容量高达11Mb;
•        提供最广泛的I/O标准支持,包括26种单端与差分信号标准
•        灵活的电源管理模式,休眠模式下可节省超过40%的功耗
•         五个器件,具有高达1.4M的系统门和502个I/O
Spartan-3AN系列产品的主要技术特征如表1-7所示
表1-7 Spartan-3ADSP系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-4-1 10:54:48 | 显示全部楼层
(5)Spartan-3E系列
Spartan-3E是目前Spartan系列最新的产品,具有系统门数从10万到160万的多款芯片,是在Spartan-3成功的基础上进一步改进的产品,提供了比Spartan-3更多的I/O端口和更低的单位成本,是Xilinx公司性价比最高的FPGA芯片。由于更好地利用了90 技术,在单位成本上实现了更多的功能和处理带宽,是Xilinx公司新的低成本产品代表,是ASIC的有效替代品,主要面向消费电子应用,如宽带无线接入、家庭网络接入以及数字电视设备等。其主要特点如下:
•        采用90 工艺;
•        大量用户I/O端口,最多可支持376个I/O端口或者156对差分端口;
•        端口电压为3.3V、2.5V、1.8V、1.5V、1.2V ;
•        单端端口的传输速率可以达到622 ,支持DDR接口;
•        最多可达36个 的专用乘法器、648 块RAM、231 分布式RAM;
•        宽的时钟频率 以及多个专用片上数字时钟管理(DCM)模块
Spartan-3E系列产品的主要技术特征如表1-8所示。
表1-8 Spartan-3E系列 FPGA主要技术特征

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-10 09:06 , Processed in 0.160631 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表