FPGA基本设计流程
FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGAde开发流程一般如下图所示,包括电路设计、设局输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真与验证、板级仿真与验证,以及芯片编程与调试等主要步骤。
1.电路设计
在系统设计之前,首先要进行的是方案验证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层的基本单元,一直这样做下去,知道可以直接使用EDA元件库为止。
2.设计输入
设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方法是一种最直接的描述方式,运用广泛,易于仿真,但效率低,不易维护,可移植性差。HDL语言常用的是Verilog HDL和VHDL,便于模块划分和移植。
3.功能仿真
功能仿真也称为前仿真,是在编译之前对用户所涉及的电路进行逻辑功能验证。仿真前,需要利用波形编辑器和HDL等建立波形文件和测试向量,仿真结果将会生成报告文件和输出信号波形。
4.综合
所谓综合就是将较高级抽象层次的描述转换为较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,并非真实的电路。
5.综合后仿真
综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中,可估计门延时带来的影响。对于一般设计可省略这一步,但是布局布线后有问题需要回溯到综合后仿真确认问题所在。
6.实现与布局布线
实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间做出选择。布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理、正确地连接各个元件。由于只有FPGA芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。
7.时序仿真与验证
时序仿真也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规现象。在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争冒险是非常有必要的。
8.板级仿真与验证
板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。
9.芯片编程与调试
芯片编程是指产生使用的数据文件,然后将编程数据下载到FPGA芯片中。逻辑分析仪是FPGA设计的主要调试工具,但其价格昂贵,因此目前主流的是芯片提供商提供的内嵌的在线逻辑分析仪(如Xilinx ISE中的ChipScope、Altera Quartus II中的SignalTap II),具有很高的实用价值。
FPGA基本设计流程相关推荐
- FPGA的设计艺术(2)FPGA开发流程
前言 注:本文首发易百纳技术社区,文章链接:FPGA的设计艺术(2)FPGA开发流程 本文介绍整个FPGA设计流程以及设计FPGA所需的各个步骤-从一开始到可以将设计下载到FPGA的阶段.但是在此之前 ...
- 5个步骤带你入门FPGA设计流程
导读:最近几年,FPGA越来越火.微软甚至曾表示要数据中心里,使用FPGA"代替"CPU.FPGA英文全称是Field Programmable Gate Array,即现场可编程 ...
- 9 pcb螺丝焊盘打很多小孔_PCB板设计的10个基本设计流程
PCB板设计需要提供信息: (1)原理图:一种完整的电子文档格式,可以生成正确的网表(网表); (2)机械尺寸:提供定位装置的具体位置和方向识别,以及特定高度限位位置区域的识别; (3) BOM清单: ...
- (09)FPGA设计流程
(09)FPGA设计流程 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA设计流程 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1)FPGA入 ...
- (78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天)
(78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA内部资源与FPGA开发流程-面试必问 ...
- (2)FPGA开发流程介绍(第1天)
(2)FPGA开发流程介绍(第1天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA开发流程介绍(第1天) 5)技术交流 6)参考资料 2 FPGA初级课 ...
- (41)FPGA面试题FPGA详细设计流程
1.1 FPGA面试题FPGA详细设计流程 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题FPGA详细设计流程: 5)结束语. 1.1.2 本节引言 &q ...
- LED显示驱动(二):显示驱动FPGA验证流程与注意细节
显示驱动FPGA验证流程与注意细节 验证流程 : ...
- FPGA基础知识----第二章 FPGA 开发流程
第二章 FPGA 开发流程 FPGA 的设计流程就是利用 EDA 开发软件和编程工具对 FPGA 芯片进行开发的过程.原理图和HDL(Hardware description language,硬件描 ...
- 无招胜有招-Vivado非工程模式下的FPGA设计流程
参考:UG892 UG835 Vivado集成开发工具为设计者提供了非工程模式下的FPGA设计流程.在Vivado非工程模式下,FPGA开发人员可以更加灵活地对设计过程的每个阶段进行控制,从而进一步提 ...
最新文章
- hadoop生态搭建(3节点)-06.hbase配置
- 数据结构-单链表进阶之快慢指针原理(快速查找法)
- 算法不归路之最大子序列(C++版)
- 有函数就可以实现面向对象
- SAP License:SAP S/4HANA Cloud [ERP 云]
- 8位可控加减法电路设计_100以内加减法速算方法,口算速度快一倍
- 企业为什么要做高端网站优化呢?
- 介绍一些房屋抗震的科普知识
- 小米手机插上android找不到驱动,小米手机连接电脑不显示文件怎么办?
- js日期减去日期算出剩余的天数
- 浏览器 - 监听浏览器刷新及关闭
- 计算机视觉基础(五)——图像分割/二值化
- 操作系统---信号量
- 转1:Python字符编码详解
- el-input实现尾部加字
- 排球计分系统java_排球计分系统|网世技术排球计分系统下载v1.0官方版 - 欧普软件下载...
- 201671010403 陈倩倩 词频统计软件项目报告
- Futures timed out after [10 seconds]. This timeout is controlled by spark.executor.heartbeatInterva
- 外汇天眼:新手炒外汇止损止盈技巧有哪些?如何设置止损止盈?
- 校办研修之计算机培训简报,我校举办“智慧课堂教学模式与实践专题研修班”...
热门文章
- VLAN链路类型和接口类型
- 制作Nine-Patch图片
- ★★★5230打字慢的解决方法...绝对有用...只需要在手机上轻微的设置一下(转)...
- elixir 简单的server,client
- uniapp 运行到手机或模拟器
- matlab统计字符个数,Matlab函数统计字符串中莫个字母含量
- Python数据可视化大屏最全教程(全)
- 代码的马斯洛金字塔理论
- Oracle Coherence中文教程五:Coherence调试
- vue v-for实现多行等分布局-三等分