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
    +关注

    关注

    1625

    文章

    21620

    浏览量

    601185
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    131123
  • 仿真
    +关注

    关注

    50

    文章

    4021

    浏览量

    133330

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

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

收藏 人收藏

    评论

    相关推荐

    莱迪MachXO5D-NX FPGA的性能

    行业第一颗安全控制FPGA芯片MachXO3D和具备“高端加密功能”的安全控制FPGA Mach-NX,到“增强型安全控制FPGA”MachXO5-NX,再到最新推出的MachXO5
    的头像 发表于 09-02 09:29 299次阅读

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

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

    科普 | 一文了解FPGA

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

    FPGA下载问题

    在ARM开发中,通常可供选择的下载器有多种。清华的FPGA,除了官方的专用下载器,有其他的下载器可以使用吗?使用下载器可以吗?
    发表于 06-23 12:28

    Zynq-7000为何不是FPGA

    Zynq-7000可扩展处理平台是采用新一代FPGA(Artix-7与Kintex-7FPGA)所采用的同一28nm可编程技术的最新产
    发表于 04-26 11:30 1036次阅读
    Zynq-7000为何不是<b class='flag-5'>FPGA</b>?

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

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

    FPGA芯片你了解多少?

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

    FPGA flash操作原理

    FPGA flash操作原理分享
    的头像 发表于 04-09 15:03 924次阅读

    fpga原型验证流程

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

    AMD进军低成本FPGA市场,满足边缘应用需求

    虽然主攻高端FPGA市场,但其对低成本FPGA市场的投入也不容小觑。此次发布的Spartan UltraScale+正是AMD进军低成
    的头像 发表于 03-10 10:06 1018次阅读

    FPGA的PL端固化流程

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

    AMD发布全新FPGA:升级16nm、功耗骤降60%

    收购已经整整两年,AMD FPGA产品和业务也一直在不断取得新的进步,今天又正式发布了全新的FPGA产品“Spartan UltraS
    的头像 发表于 03-07 11:46 1105次阅读
    AMD发布全新<b class='flag-5'>FPGA</b>:升级16nm、功耗骤降60%

    解析FPGA竞争格局背后的驱动因素

    FPGA是一个高度集中的市场,龙头占据过半份额,前4名玩家合计份额90%+。根据Marketsandmarkets数据及我们估算,2022年,
    发表于 01-26 11:43 787次阅读
    解析<b class='flag-5'>FPGA</b>竞争格局背后的驱动因素

    AMD停产CPLD和FPGA芯片,未来或弃用旧款FPGA

    值得注意的是,FPGA(现场可编程门阵列)是一种专为某些特殊场景而设计的集成电路,能有效解决全定制电路的不足之处;CPLD(复杂可编程逻辑器件)则适合完成各类数学计算与组合逻辑任务。二者皆为
    的头像 发表于 01-18 10:11 994次阅读

    值得多看的FPGA 学习路线

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