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

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

3天内不再提示

XILINXISE传统FPGA设计流程

FPGA之家 来源:FPGA之家 作者:FPGA之家 2020-10-21 09:44 次阅读

1.XILINXISE传统FPGA设计流程

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

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的基本流程如下图

在设计输入阶段,除传统的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、连接端口

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

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

责任编辑:lq

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

    关注

    1625

    文章

    21620

    浏览量

    601185
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    131123
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109918

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

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

收藏 人收藏

    评论

    相关推荐

    EDA与传统设计方法的区别

    在电子设计领域,随着技术的发展,EDA(电子设计自动化)工具已经成为工程师们不可或缺的助手。与传统的设计方法相比,EDA工具提供了更为高效、精确的设计流程。 1. 设计流程的自动化程度 EDA
    的头像 发表于 11-08 13:47 64次阅读

    FPGA传统DAC的比较

    FPGA(Field-Programmable Gate Array)即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域
    的头像 发表于 10-25 09:21 108次阅读

    莱迪思Propel工具套件加速FPGA应用开发

    许多嵌入式系统的开发者都对使用基于FPGA的SoC系统感兴趣,但是基于传统HDL硬件描述语言的FPGA开发工具和复杂流程往往会令他们望而却步。为了解决这一问题,莱迪思的Propel工具
    的头像 发表于 08-30 17:23 965次阅读

    FPGA的学习笔记---FPGA的开发流程

    与通常的单片机应用开发不同,FPGA有自己的开发流程。但具体上怎样操作,作为初学者,没有一点经验。网站奖励的清华FPGA需要的开发软件,到目前还没有安装成功。暂且先看看相关学习,慢慢积累这方面的知识
    发表于 06-23 14:47

    AMD FPGA中MicroBlaze的固化流程详解

    AMD FPGA在配置了适当的启动模式后,上电即会按该模式去加载配置文件。以7系列FPGA为例,假设设置模式引脚M[2:0]=3’b001,上电后FPGA会以Master SPI方式尝试从FLASH加载配置文件,其与工程是否含有
    发表于 04-25 12:49 431次阅读
    AMD <b class='flag-5'>FPGA</b>中MicroBlaze的固化<b class='flag-5'>流程</b>详解

    现场可编程门阵列设计流程

    现场可编程门阵列(FPGA)设计流程是一个综合性的过程,它涵盖了从需求分析到最终实现的各个环节。下面将详细介绍FPGA设计流程的主要步骤。
    的头像 发表于 03-16 16:38 1902次阅读

    fpga原型验证流程

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

    fpga设计流程

    首先,根据功能需求选择合适的FPGA型号和开发板,并进行硬件资源评估、时序分析等,以确定芯片的工作频率和性能参数。同时,深入研究所选芯片的特点、布局、电气参数等,为后续设计做好知识储备。
    的头像 发表于 03-14 15:45 362次阅读

    FPGA的PL端固化流程

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

    FPGA系统规划的简化流程

    数据接口的同步在 FPGA/CPLD 设计中一个常见问题。很多设计工作不稳定都是源于数据接口的同步问题。
    发表于 02-21 15:14 481次阅读
    <b class='flag-5'>FPGA</b>系统规划的简化<b class='flag-5'>流程</b>

    fpga是什么 fpga用什么编程语言

    FPGA(Field-Programmable Gate Array)是一种可编程逻辑技术,它使用可重构的硬件单元(如门阵列和查找表)来实现电路功能。相比传统的专用集成电路(ASIC),FPGA具有
    的头像 发表于 02-04 15:26 1512次阅读

    传统封装工艺流程简介

    在晶圆制作完成后,会出货给封装厂,封装厂再将一粒粒的芯片封装起来。我这里所说的传统封装是指以打线为主的封装方式,比如DIP,QFP,SOP,QFN等,不包括倒装。这里就简单介绍一下传统封装的工艺流程及工艺特点。
    的头像 发表于 01-05 09:56 1669次阅读
    <b class='flag-5'>传统</b>封装工艺<b class='flag-5'>流程</b>简介

    FPGA基本开发设计流程

    FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGA的开发流程一般包括功能定义、设计输入、功能仿真、综合
    发表于 12-31 21:15

    FPGA为嵌入式设计带来了强大的功能与灵活性

    尽管 FPGA 为嵌入式设计带来了强大的功能与灵活性,但额外的开发流程也给设计工作增加了新的复杂性和限制问题。整合传统的硬件-FPGA-软件设计流程
    的头像 发表于 12-07 09:35 467次阅读

    FPGA图像处理_ISP算法DPC流程

    DPC通常作为ISP算法流程里面的第一个模块,原理也很简单。
    的头像 发表于 11-25 10:04 1632次阅读
    <b class='flag-5'>FPGA</b>图像处理_ISP算法DPC<b class='flag-5'>流程</b>