0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从赛灵思FPGA设计流程看懂FPGA设计

FPGA之家 来源:FPGA之家 2023-01-04 13:55 次阅读

赛灵思FPGA设计流程看懂FPGA设计

1.XILINXISE传统FPGA设计流程

利用Xilinx ISE软件开发FPGA的基本流程包括代码输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证和下班调试等步骤。如下图所示。

7eaa7ea8-8bf3-11ed-bfe3-dac502259ad0.jpg

1)电路设计或代码输入

FPGA的设计可以直接画原理图,但是这种方法在比较复杂的系统的情况下,原理图相当复杂,所以慢慢被淘汰,ISE保留这一功能。

现在FPGA的设计输入主要是Verilog和VHDL硬件语言。Verilog语言语法简单,在亚洲区域使用比较广泛;

VHDL被IEEE和美国国防部确认为标准硬件描述语言,在欧洲区域比较常见。

2)功能仿真

在基本的FPGA模块编写完成后,要使用仿真工具对设计的模块进行仿真,验证模块的基本功能是否符合设计。功能仿真也被称为前仿真。常用的仿真工具有

Model Tech公司的Modelsim, Synopsys公司的VCS,Cadence公司的NC-Verilog和NC-VHDL。功能仿真可以加快FPGA的设计,减少设计过程中的错误。

3)综合

综合优化(Synthesize)是将硬件语言或原理图等设计输入翻译成由与,或,非门、RAM、触发器等基本逻辑单元组成的逻辑连接(网表),并根据约束条件优化生成的逻辑连接,输出edf和edn等文件。

4)实现

实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。通常可分为如下五个步骤。(1)转换:将多个设计文件进行转换并合并到一个设计库文件中。(2)映射:将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编程逻辑阵列内的可配置逻辑块与输入输出块及其它资源中的过程。(3)布局与布线:布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,通常基于某种先进的算法,如最小分割、模拟退火和一般的受力方向张弛等来完成;布线是指利用自动布线软件使用布线资源选择路径试着完成所有的逻辑连接。因最新的设计实现工具是时序驱动的,即在器件的布局布线期间对整个信号通道执行时序分析,因此可以使用约束条件操作布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报靠。(4)时序提取:产生一反标文件,供给后续的时序仿真使用。(5)配置:产生FPGA配置时的需要的位流文件。在实现过程中可以进行选项设置。因其支持增量设计,可以使其重复多次布线,且每次布线利用上一次布线信息以使布线更优或达到设计目标。在实现过程中应设置默认配置的下载形式,以使后续位流下载正常。

5)时序分析在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延时进行时序分析;而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时进行静态时序分析。从某种程序来讲,静态时序分析可以说是整个FPGA设计中最重要的步骤,它允许设计者详尽地分析所有关键路径并得出一个有次序的报告,而且报告中含有其它调试信息,比如每个网络节点的扇出或容性负载等。静态时序分析器可以用来检查设计的逻辑和时序,以便计算各通中性能,识别可靠的踪迹,检测建立和保持时间的配合,时序分析器不要求用户产生输入激励或测试矢量。虽然Xilinx与Altera在FPGA开发套件上拥有时序分析工具,但在拥有第三方专门时序分析工具的情况下,仅利用FPGA厂家设计工具进行布局布线,而使用第三方的专门时序分析工具进行时序分析,一般FPGA厂商在其设计环境下皆有与第三方时序分析工具的接口。Synopsys公司的PrimeTime是一个很好的时序分析工具,利用它可以达到更好的效果。将综合后的网表文件保存为db格式,可在PrimeTime环境下打开。利用此软件查看关键路径或设计者感兴趣的通路的时序,并对其进行分析,再次对原来的设计进行时序结束,可以提高工作主频或减少关键路径的跹时。与综合过程相似,静态时序分析也是一个重复的过程,它与布局布线步骤紧密相连,这个操作通常要进行多次直到时序约束得到很好的满足。
在综合与时序仿真过程中交互使用PrimeTime进行时序分析,满足设计要求后即可进行FPGA芯片投片前的最终物理验证。

6)调试与加载配置

设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。在ISE中使用iMPACT。

2.XILINXVIVADO传统FPGA设计流程

Xilinx针对7系列FPGA、Zynq-7000 SOC FPGA和UltraScale芯片,为提升设计、集成和实现的效率,推出了全新的开发工具Vivado。

使用Vivado设计FPGA的基本流程如下图

7ec87f5c-8bf3-11ed-bfe3-dac502259ad0.jpg

在设计输入阶段,除传统的HDL代码,Vivado还可以接受Vivado HLS生成的HDL代码、System Generator模型输出文件、IP Integrator模型以及IP。

在Vivado下,约束(时序约束和物理约束)采用XDC(xilinx Design Constraints)。

3.SOCFPGA设计流程

针对SOC FPGA的开发,xilinx在Vivado中专门设置了一个工具IP Integrator。

IP Integrator作为IP集成工具,以图形化、模块化的方式在设计中添加IP、连接端口

7ed27048-8bf3-11ed-bfe3-dac502259ad0.jpg

Zynq芯片由两部分组成,分别是PS和PL两部分,相应地需要硬件编程和软件编程。硬件编程使用Vivado,软件编程使用SDK,具体流程见下图。

7ef2758c-8bf3-11ed-bfe3-dac502259ad0.jpg

借助Matlab完成Zynq开发,如下图。在Matlab下即可完成算法建模到C代码和RTL代码的生成。

7eff158a-8bf3-11ed-bfe3-dac502259ad0.jpg

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593199
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    130526
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132161

原文标题:从赛灵思FPGA设计流程看懂FPGA设计

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    给我一个FPGA,可以撬起所有显示的接口和面板

    作为FPGA的发明者——,手握极具灵活性、高性能的FPGA技术,似乎看别的芯片都有一种嫌弃不够畅快的感觉。当瞄上显示领域时,就会发出来
    发表于 04-25 18:10

    FPGA芯片你了解多少?

    汽车相机以及传感器中FPGA的应用已经相对成熟,在自动/智能驾驶汽车的人工智能系统中,FPGA的适用度将是最为契合的用于处理越来越复杂的 ADAS和自动驾驶。2014年,FPGA芯片的国际龙头
    发表于 04-17 11:13

    为何高端FPGA都非常重视软件

    )业界最常用的HLS工具,支持C / C ++为硬件设计人员提供门控流程寻找超出寄存器传输级别(RTL)所提供的生产力。HLS工具的高采用率还有助于解决时序收敛问题,因为
    发表于 03-23 16:48

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是FPGA开发流程
    的头像 发表于 03-15 15:05 375次阅读

    科普 | 一文了解FPGA技术知识

    FPGA 方案和 ASIC 方案成本比较 4)技术趋势:制程迭代驱动 33 年发展,平台型产品是未来。 1985 年发明
    发表于 03-08 14:57

    FPGA的PL端固化流程

    电子发烧友网站提供《FPGA的PL端固化流程.pdf》资料免费下载
    发表于 03-07 14:48 8次下载

    CYUSB3014如何实现OTG的功能?

    我们用的主平台是,想要通过CYUSB3014+FPGA实现OTG的功能,有几个问题,想请教一下。 1.是否有可以验证功能的EVK呢,我找了下FX3 DVK似乎买不到
    发表于 02-29 07:20

    值得多看的FPGA 学习路线

    ,最主流的FPGA开发软件有两个,就是/AMD的Vivado,还有英特尔的Quartus。这里又来一个二选一,大家要根据自身情况去选择,比如你们学校教的是谁家的
    发表于 01-02 23:03

    AD9625的开发板AD-FMCADC3-EBZ能否与Virtex7直接连接?

    模数转换器AD9625的评估板AD-FMCADC3-EBZ能不能和的Virtex7系列FPGA开发板连接,我看到他们都具备JESD204B接口,物理接口上能直接连吗?还是说需要在
    发表于 12-08 08:25

    全球FPGA市场现状和发展前景展望

    概念和特点比较简单,没有完全形成气候。   :重点布局深耕中国市场 公司目前在中国内
    发表于 11-08 17:19

    Intel FPGA开发流程指南

    开发FPGA设计,最终的产品是要落在使用FPGA芯片完成某种功能。所以我们首先需要一个带有Intel FPGA芯片的开发板。
    的头像 发表于 07-14 09:42 2309次阅读
    Intel <b class='flag-5'>FPGA</b>开发<b class='flag-5'>流程</b>指南

    FPGA的详细开发流程

      FPGA 的详细开发流程就是利用 EDA 开发工具对 FPGA 芯片进行开发的过程,所以 FPGA 芯片开发流程讲的并不是芯片的制造
    的头像 发表于 07-04 14:37 2757次阅读
    <b class='flag-5'>FPGA</b>的详细开发<b class='flag-5'>流程</b>

    FPGA设计流程

    FPGA的设计流程主要包括HDL代码编写、RTL综合、布局布线、静态时序分析、生成下载文件。下面将逐一介绍各部分。下面是FPGA设计的流程图。
    的头像 发表于 07-04 12:06 895次阅读
    <b class='flag-5'>FPGA</b>设计<b class='flag-5'>流程</b>

    FPGA设计的基本流程

    FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性。
    发表于 05-22 14:32 5096次阅读
    <b class='flag-5'>FPGA</b>设计的基本<b class='flag-5'>流程</b>