电子发烧友网 > 可编程逻辑 > 正文

详细介绍基于HDL的FPGA开发流程

2020年01月20日 09:35 次阅读

(文章来源:电子工程网)

原理图和HDL(Hardware description language,硬件描述语言)是两种最常用的数字硬件电路描述方法,其中HDL设计法具有更好的可移植性、通用性和模块划分与重用性的特点,在目前的工程设计中被广泛使用,下面对FPGA设计熟悉电路时的开发流程是基于HDL的。

FPGA的开发流程:1) 系统功能设计,在系统设计之前,首先要进行的是方案论证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。

2) RTL级HDL设计,RTL级(Register Transfer Level,寄存器传输级)指不关注寄存器和组合逻辑的细节(如使用了多少个逻辑门、逻辑门的连接拓扑结构等),通过描述数据在寄存器之间的流动和如何处理、控制这些数据流动的模型的HDL设计方法。RTL级比门级更抽象,同时也更简单和高效。RTL级的最大特点是可以直接用综合工具将其综合成为门级网表,其中RTL级设计直接决定着系统的功能和效率。

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

为了提高功能仿真的效率,需要建立测试平台testbench,其测试激励一般使用行为级HDL语言描述,其中RTL级模块是可综合的,它是行为级模块的一个子集合。

所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化(Synthesis)是指将设计输入编译成由与门、或门、非门、RAM触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。

详细介绍基于HDL的FPGA开发流程

真实具体的门级电路需要利用FPGA制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。为了能转换成标准的门级结构网表,HDL程序的编写必须符合特定综合器所要求的风格。由于门级结构、RTL级的HDL程序的综合是很成熟的技术,所有的综合器都可以支持到这一级别的综合。常用的综合工具有Synplicity公司的Synplify/Synplify Pro软件以及各个FPGA厂家自己推出的综合开发工具。

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

6) 布局布线,实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,将工程的逻辑和时序与器件的可用资源匹配。布局布线是其中最重要的过程,布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理正确地连接各个元件。也可以简单地将布局布线理解为对FPGA内部查找表和寄存器资源的合理配置,布局可以被理解挑选可实现设计网表的最优的资源组合,而布线就是将这些查找表和寄存器资源以最优方式连接起来。

目前,FPGA的结构非常复杂,特别是在有时序约束条件时,需要利用时序驱动的引擎进行布局布线。布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。由于只有FPGA芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。

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

8) FPGA板级调试,通过编程器将布局布线后的配置文件下载至FPGA中,对其硬件进行编程。配置文件一般为.pof或.sof文件格式,下载的方式包括AS(主动)、PS(被动)、JTAG(边界扫描)等方式。

逻辑分析仪(Logic Analyzer,LA)是FPGA设计的主要调试工具,但需要引出大量的测试管脚,且LA价格昂贵。目前,主流的FPGA芯片生产商都提供了内嵌的在线逻辑分析仪(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)来解决上述矛盾,它们只需要占用芯片少量的逻辑资源,具有很高的实用价值。
        (责任编辑:fqj)

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发烧友学院发表于 2016-03-24 00:00 37952次阅读
小梅哥FPGA设计思想与验证方法视频教程

FPGA的用途以及它与CPLD的不同之处

FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/....
发表于 2020-01-20 09:29 0次阅读
FPGA的用途以及它与CPLD的不同之处

从多角度来分析FPGA与CPLD的区别

CPLD主要是由可编程逻辑宏单元(LMC,LogicMacroCell)围绕中心的可编程互连矩阵单元....
发表于 2020-01-20 08:40 5次阅读
从多角度来分析FPGA与CPLD的区别

【雨的FPGA笔记】基础实践-------串口程序

内容        实现的是简单的PC机和FPGA的通信,实现一个简单的数据传回实验, 串口是按b...
发表于 2020-01-19 12:54 139次阅读
【雨的FPGA笔记】基础实践-------串口程序

FPGA的简介发展历和使用等基础知识讲解

随着云计算,大数据和人工智能技术应用,单靠CPU已经无法满足各行各业的算力需求。海量数据分析、机器学....
发表于 2020-01-19 10:15 121次阅读
FPGA的简介发展历和使用等基础知识讲解

matlab与FPGA无线通信、FPGA数字信号处理系列(4)—— Vivado DDS 与 FIR IP核设计 FIR 滤波器系统

本讲使用两个DDS产生待滤波的信号和matlab产生带滤波信号,结合FIR滤波器搭建一个信号产生及滤波的系统,并编写...
发表于 2020-01-18 22:05 211次阅读
matlab与FPGA无线通信、FPGA数字信号处理系列(4)—— Vivado DDS 与 FIR IP核设计 FIR 滤波器系统

Altera新发布一款多功能低成本的单芯片FPG...

一直以来,FPGA可编程器件都主要应用在通讯设备或工业控制等较为专业的应用领域,但随着不同行业使用需....
发表于 2020-01-17 16:33 287次阅读
Altera新发布一款多功能低成本的单芯片FPG...

详解FPGA的发展史和开发流程

随着云计算,大数据和人工智能技术应用,单靠CPU已经无法满足各行各业的算力需求。海量数据分析、机器学....
发表于 2020-01-16 17:26 93次阅读
详解FPGA的发展史和开发流程

固态电容的三大优势分析 如何区分固态电容和电解电...

区分固态电容和电解电容有一个很简单的方法,就是看电容顶部是否有”K“或”+“字形的开槽。固态电容是没....
发表于 2020-01-16 16:00 152次阅读
固态电容的三大优势分析 如何区分固态电容和电解电...

英特尔 Agilex和Xilinx ACAP的比...

I 与 M 系列确定可搭配 CXL 技术,显然英特尔的确有意推动 CXL 技术发展。而从产品规格观之....
发表于 2020-01-16 15:55 54次阅读
英特尔 Agilex和Xilinx ACAP的比...

Altera非易失MAX 10 FPGA如何为空...

非易失性FPGA以其低功耗、高性价比的特点在低成本FPGA市场中展露潜力。据Altera公司产品营销....
发表于 2020-01-16 10:12 160次阅读
Altera非易失MAX 10 FPGA如何为空...

基于FPGA的USB 3.0视频桥接解决方案及M...

Lattice USB 3.0视频桥接解决方案是基于Lattice ECP3 FPGA系列的高清视频....
发表于 2020-01-16 10:08 418次阅读
基于FPGA的USB 3.0视频桥接解决方案及M...

基于FPGA技术实现SD模式设备接口的设计方案

SD卡的所有命令都是6字节长度。一个命令总是以起始位(0)开始,后跟传输方向位(1),接下是6位命令....
发表于 2020-01-16 10:00 479次阅读
基于FPGA技术实现SD模式设备接口的设计方案

基于FPGA技术的LVDS传输模式如何实现PCI...

随着电子技术的飞速发展,微处理器、存储器技术的不断革新,传统的并行总线PCI逐渐成为系统整体性能的瓶....
发表于 2020-01-16 09:53 196次阅读
基于FPGA技术的LVDS传输模式如何实现PCI...

FPGA系统设计的静态功耗和动态功耗分析与进行仿...

功耗一般由两部分组成:静态功耗和动态功耗。静态功耗也称为待机功耗,是指逻辑门没有开关活动时的功率消耗....
发表于 2020-01-16 09:46 166次阅读
FPGA系统设计的静态功耗和动态功耗分析与进行仿...

基于OFDM系统的帧结构实现精同步的FPGA设计...

目前,正交频分复用(OFDM)技术成为多媒体传感器网络信息传输的主流研究方向,并越来越受到人们的关注....
发表于 2020-01-16 09:40 187次阅读
基于OFDM系统的帧结构实现精同步的FPGA设计...

基于DSP+FPGA技术的TD-SCDMA基带发...

和传统的CDMA系统相比,第三代移动通信的最大特点在于能支持多种速率的业务,从话音到分组数据,再到多....
发表于 2020-01-16 09:16 215次阅读
基于DSP+FPGA技术的TD-SCDMA基带发...

FPGA对比 ASIC你看好谁?

FPGA vs. ASIC 你看好谁?
发表于 2020-01-15 16:10 295次阅读
FPGA对比 ASIC你看好谁?

采用双闭环PI和重复控制方案实现三相逆变器设计并...

本文利采用双闭环PI和重复控制相结合的控制方案,首先用双闭环PI控制算法,得到高动态特性的三相交流电....
发表于 2020-01-14 16:36 217次阅读
采用双闭环PI和重复控制方案实现三相逆变器设计并...

在FPGA硬件平台通过采用DDS技术实现跳频系统...

DDS的原理如图1所示,包含相位累加器、波形存储器(ROM)、数模转换器(DAC)和低通滤波器4个部....
发表于 2020-01-14 16:27 410次阅读
在FPGA硬件平台通过采用DDS技术实现跳频系统...

Altera FPGA硬核浮点DSP模块解决方案...

以往FPGA在进行浮点运算时,为符合IEEE 754标准,每次运算都需要去归一化和归一化步骤,导致了....
发表于 2020-01-14 16:19 162次阅读
Altera FPGA硬核浮点DSP模块解决方案...

全球最大FPGA的问世将给IC设计带来便利

英特尔公司在京发布了Stratix 10 GX 10M FPGA,这款拥有1020万个逻辑单元的产品....
发表于 2020-01-14 16:11 152次阅读
全球最大FPGA的问世将给IC设计带来便利

英特尔与赛灵思的竞争使得FPGA进入黄金时代

目前,赛灵思和英特尔的FPGA市场竞逐角力,一来一往、有输有赢。鉴于双方都有不俗的实力,可以预计,未....
发表于 2020-01-14 16:07 135次阅读
英特尔与赛灵思的竞争使得FPGA进入黄金时代

英特尔与赛灵思的竞争将会研制更强大的FPGA器件

FPGA芯片比CPU更快,比GPU功耗更低、延时更短,且比ASIC更加便宜、周期更短,因此在目前人工....
发表于 2020-01-14 16:03 144次阅读
英特尔与赛灵思的竞争将会研制更强大的FPGA器件

如何利用FPAG开发板搭建LEON2 SOC开发...

随着IC制造工艺水平的快速发展,片上系统(SOC)在ASIC设计中得到广泛应用。微处理器IP核是SO....
发表于 2020-01-14 16:00 125次阅读
如何利用FPAG开发板搭建LEON2 SOC开发...

北京微电子技术研究所成功研制出了高可靠多通道混合...

据悉,该产品已形成针对多通道智能传感器信号处理的集成解决方案,实现了单一封装内智能传感器模拟数字信号....
发表于 2020-01-14 11:36 152次阅读
北京微电子技术研究所成功研制出了高可靠多通道混合...

基于fpga的电源设计

我现在没有一个具体的方案 谁能给我个提示一下 比如 fpga从哪入手(fpga一点不会) 具体的电路应该分为哪几个模块 单...
发表于 2020-01-13 23:30 289次阅读
基于fpga的电源设计

【雨的FPGA笔记】基础实践-------IP核中PLL的使用

PLL锁相环,可以对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频和分频,相位偏移和可编程占空比的功能。...
发表于 2020-01-13 19:13 188次阅读
【雨的FPGA笔记】基础实践-------IP核中PLL的使用

采用FPGA器件实现GPS数据加密系统中机载模块...

针对GPS测量系统数据传输过程中的安全问题,采用FPGA技术设计了GPS数据加密系统。系统移植MD5....
发表于 2020-01-13 17:00 188次阅读
采用FPGA器件实现GPS数据加密系统中机载模块...

【雨的FPGA笔记】基础实践-------ModelSim手动仿真

基于流水灯的ModelSIm软件仿真为例子                 ...
发表于 2020-01-13 16:34 527次阅读
【雨的FPGA笔记】基础实践-------ModelSim手动仿真

关于异构计算FPGA基础知识的详细介绍

随着云计算,大数据和人工智能技术应用,单靠 CPU 已经无法满足各行各业的算力需求。
发表于 2020-01-13 15:15 115次阅读
关于异构计算FPGA基础知识的详细介绍

【高手问答】资深工程师为你解答工程与产品设计上的...

本期我们邀请到了资深工程师白纪龙@白老大大,也是许多坛友熟知的白老师,他将为我们解答大家在PCB设计....
发表于 2020-01-13 09:39 0次阅读
【高手问答】资深工程师为你解答工程与产品设计上的...

【雨的FPGA笔记】基础实践-------呼吸灯设计和实现

呼吸灯设计和实现 内容 一个周期为1s的呼吸灯,从熄灭到完全点亮一共需要1s。 将1s分为1000个1ms作为呼吸...
发表于 2020-01-12 19:50 287次阅读
【雨的FPGA笔记】基础实践-------呼吸灯设计和实现

如何简单快速的实现嵌入式FPGA

Achronix Semiconductor 营销副总裁 Steve Mensor 表示,这款被称为....
发表于 2020-01-12 10:56 484次阅读
如何简单快速的实现嵌入式FPGA

如何用FPGA测量数字正弦波的频率?

如何用FPGA测量数字正弦波的频率
发表于 2020-01-11 22:27 265次阅读
如何用FPGA测量数字正弦波的频率?

【雨的FPGA笔记】基础实践-------按键控制LED和BEEP设计和实现

设计内容        按KEY0时点亮最右边的灯,按动按键KEY1时依次往左移动,按下KEY2时关...
发表于 2020-01-11 12:47 177次阅读
【雨的FPGA笔记】基础实践-------按键控制LED和BEEP设计和实现

【雨的FPGA笔记】基础实践-------流水灯设计和实现

设计内容        将4个LED每隔1s从左往右分别依次点亮熄灭,形成流水状。按复位键时进行复...
发表于 2020-01-11 11:07 428次阅读
【雨的FPGA笔记】基础实践-------流水灯设计和实现

FPGA的行业优势以及它与DSP的区别分析

FPGA的优势有三个方面:1)通信高速接口设计。FPGA可以用来做高速信号处理,一般如果AD采样率高....
发表于 2020-01-10 15:46 219次阅读
FPGA的行业优势以及它与DSP的区别分析

hdmi矩阵切换器采用FPGA纯硬件架构方案

hdmi矩阵切换器在众多的领域中有着广泛的运用,对于不同的运用场合和需求,有着许多不同的方案,而dm....
发表于 2020-01-10 15:43 165次阅读
hdmi矩阵切换器采用FPGA纯硬件架构方案

关于Xilinx FPGA内部体系结构的分析

Xilinx的FPGA的基本结构是一样的,主要由6部分组成,分别为可编程输入/输出单元、基本可编程逻....
发表于 2020-01-10 15:39 267次阅读
关于Xilinx FPGA内部体系结构的分析

如何用乘加器(mac)实现150个数平方和?

这个模块是music算法中的协方差矩阵中的一部分。输入的150个数是16位的,得到的结果是32位。 自己也写了代码可是结果...
发表于 2020-01-10 10:57 424次阅读
如何用乘加器(mac)实现150个数平方和?

深维科技荣获北航全球创新创业大赛二等奖

经过初赛、复赛的激烈对决和层层选拔,深维科技参赛项目“超高性能数据中心FPGA异构计算加速解决方案”....
发表于 2020-01-10 09:28 113次阅读
深维科技荣获北航全球创新创业大赛二等奖

LVDS技术的应用优势及基于FPGA实现远端显示...

LVDS接口又称RS-644总线接口,是20世纪90年代出现的一种数据传输和接口技术。LVDS是一种....
发表于 2020-01-08 16:40 682次阅读
LVDS技术的应用优势及基于FPGA实现远端显示...

帧同步系统的工作原理及如何基于FPGA实现其设计

实现帧同步的关键是把同步码从一帧帧数据流中提取出来。本设计的一帧信码由39位码元组成。其中的巴克码为....
发表于 2020-01-08 16:30 2074次阅读
帧同步系统的工作原理及如何基于FPGA实现其设计

英特尔新发布Stratix 10,为可编程四核A...

FPGA在高度并行、大吞吐量数字信号处理(DSP)应用方面享有很好的声誉。过去几代FPGA器件一直稳....
发表于 2020-01-08 15:32 331次阅读
英特尔新发布Stratix 10,为可编程四核A...

FPGA的发展瓶颈有哪些,该如何解决

据Semico统计,FPGA市场正在逐年增长,而复合年均增长率高达38.4%,至2023年将具有55....
发表于 2020-01-07 15:23 241次阅读
FPGA的发展瓶颈有哪些,该如何解决

FPGA和GPU在深度神经网络方面谁更胜一筹

在今天的大数据时代,企业和消费者被各种来源的海量数据淹没,包括商业交易、社交媒体以及传感器或机器对机....
发表于 2020-01-07 15:08 302次阅读
FPGA和GPU在深度神经网络方面谁更胜一筹

FPGA中面积换速度该如何去实现

在FPGA中,如果要将一个采样率为480MHz,中频频率为302.5MHz的信号变频到零中频的基带信....
发表于 2020-01-07 14:45 104次阅读
FPGA中面积换速度该如何去实现

安路科技文余波:站在历史的关口,国产FPGA当自...

安路科技总经理文余波在接受采访时表示,安路科技能在FPGA市场上实现过亿的销售,证明了公司一直以来强....
发表于 2020-01-07 13:59 182次阅读
安路科技文余波:站在历史的关口,国产FPGA当自...

英特尔Stratix 10 GX 10M FPG...

现场可编程门阵列(FPGA)的优势就是能够制造功能强大的芯片,可重复单元设计的性质,能够吸收工艺技术....
发表于 2020-01-06 15:31 107次阅读
英特尔Stratix 10 GX 10M FPG...

FPGA和GPU的市场竞争,谁才是未来的大局所向

一直以来,FPGA 的主要应用领域是电子工程。但当英特尔完成对 Altera(Altera 是最大的....
发表于 2020-01-06 15:26 144次阅读
FPGA和GPU的市场竞争,谁才是未来的大局所向

介绍FPGA中testbench的编写技巧

原来模块中的输入信号,定义成reg 类型,原来模块中的输出信号,定义为wire类型,但这里有个问题,....
发表于 2020-01-06 14:52 113次阅读
介绍FPGA中testbench的编写技巧

高云半导体成功量产Always-On超低功耗GW...

高云半导体基于超低功耗的非易失FPGA GW1NZ-ZV器件现已全面量产,此产品是迄今为止功耗最低的....
发表于 2020-01-06 10:29 201次阅读
高云半导体成功量产Always-On超低功耗GW...