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

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

3天内不再提示

一文知道UltraFast嵌入式设计方法指南

Hx 作者:工程师陈翠 2018-06-28 09:24 次阅读

本次接着看下《UltraFast 嵌入式设计方法指南》中关于硬件设计方面的内容,主要分3部分:硬件设计需要考虑的事项、设计流程及个人总结。

1. 硬件设计考虑事项

硬件设计需要考虑的部分主要有:首先当然是PL部分的配置启动,接着是存储接口及外设,IP模块,PL时钟及数据流接口,各种高速接口管理及AXI4总线接口等,如下图所示,下面只摘取PL部分的配置启动、存储接口、外设、IP模块和PL时钟简略介绍,其它详细内容请查看对应文档。

一文知道UltraFast嵌入式设计方法指南

配置及启动:

我们知道,SRAM架构的FPGA启动时都是通过外部加载配置数据来完成,Flash架构的Actel FPGA除外,同样PL的启动也是通过加载外部数据来完成,而Zynq不仅包括PL,还包含PS,所以启动时先启动PS,再通过PS来配置PL启动整个流程,也就是说Zynq的启动既包含常用的FPGA启动,还包含ARM的启动流程。典型的启动流程如下:

一文知道UltraFast嵌入式设计方法指南

首先启动当然是BootROM,BootROM包含一个上电复位后执行的代码,并且代码通过外部静态存储读取 FSBL。FSBL负责:利用XPS提供的PS配置数据进行初始化。将比特流(bitstream)下载到PL。将第二阶段引导程序(SSBL)或者是“裸奔”应用代码加载到内存。开始执行SSBL或是“裸奔”应用程序,也就是后面的OS及APPLICATION阶段。

另外需要关注的就是启动器件选择,启动器件和ARM的启动差不多,主要包括:可就地执行的四通道 SPI 模式、NAND 闪存、可就地执行的 NOR 闪存模式、SD 存储卡、JTAG等,至于具体配置可查阅对应UG585中的“启动和配置”章节内容。

存储接口:

存储接口有DDR、QSPI和静态存储控制器接口。

其中,DDR 储存器控制器包含三个主要模块:一个 AXI 储存器接口 (DDRI),一个核心控制器与事务调度器 (DDRC),以及数字 PHY (DDRP) 控制器。有关每个模块和其他控制器的详情,请参阅:《Zynq-7000 All Programmable SoC 技术参考手册》 (UG585)。对于某些 Zynq-7000 AP SoC 器件的最高速度等级,支持的最大总线时钟为 DDR3 模式 666 2/3MHz。对于其它所有速度等级,支持的最大总线时钟为 DDR3模式 533 MHz。理论上的最大总线比特率是:Data transfer rate = 666 2/3 MHz * 2 bits (for double data rate) = 1333 Mb/s per data IO,使用 32 位的最大总线宽度时,所述最大总线带宽为 42.6 Gb/s,或 5.3 GB /s。

一文知道UltraFast嵌入式设计方法指南

PS QSPI 闪存控制器使用 QSPI 接口与外部串行闪存进行通信。储存器闪存单元平行排列,有时被称为 NOR 闪存。而这种配置的密度较小,并且具有比 NAND 闪存更小储存器容量,允许在单字节阵列中的任何地方进行读取。对于读取操作,它与标准地址映射储存器行为类似,非常适合代码存储。此外,它支持就地执行 (XIP) 功能,CPU 可以直接执行QSPI 代码,而无需先读取代码到 DDR 或 OCM。QSPI 可以通过 U-Boot、Linux、iMPACT 以及 SDK 进行编程

静态储存器控制器有两个接口模式:NAND 闪速接口模式和并行端口储存器接口模式。NAND 闪存接口模式支持 NAND 闪存,而并口接口模式支持 NOR 闪存和同步 SRAM。因为 QSPI 和 NOR 闪存都使用基于 NOR 的存储单元,又因为在线性模式下 QSPI 被限制于 16Mb,容量成为了选择 NOR 闪存而非 QSPI 的差异化因素。然而,因为静态储存器控制器限制的地址行的数量为 26 位,它支持的最大 NOR 闪存仅为 64MB。16MB QSPI 限制(BootROM 读取数据不得超过 16MB)仅适用启动。在 BootROM 加载 FSBL 到 OCM 或 DDR 储存器之后,在闪存器件页面寄存器的支持下,QSPI 控制器切换到 I/O 模式并可访问高达 128MB 的储存器。因此,与 NOR 闪存控制器支持 64MB 器件(40 引脚情况下)的能力的相比,QSPI 支持 128MB 器件(仅使用 8 引脚)使得 QSPI 超过 NOR 闪存,成为优先解决方案。

一文知道UltraFast嵌入式设计方法指南

这里介绍了ZYNQ中常用存储器接口,不仅对使用ZYNQ非常有用,还对以后其它项目中选择存储接口有很大的参考价值。

外设:

ZYNQ的外设主要有2部分:PS外设和PL外设。PS外设主要是一些低速通用固定的外设:USBI2CUART、SPI、SD等,通用型强;而PL外设则是一些已有IP或者自定义IP外设:DMA、自定义串口等,灵活性强。

一个PS+PL外设的例子:

一文知道UltraFast嵌入式设计方法指南

上图中的例子:您必须使能 GEM0 的 MIO 连接和 GEM1 的 EMIO 连接。使能 GEM1 的 EMIO 将发送和接收的 GMII 信号送达 PS 的 IP 顶层实例。用户必须在 IP 集成器中例化赛灵思 1000BASE-X IP 核,并将其连接到 GEM1 EMIO 端口。您可以使用 Vivado Design Suite 设计实现流程来生成码流。如需了解更多信息,请参阅:《Zynq-7000 AP SoC 中通过 PL 以太网实现 PS 与 PL 以太网性能和巨型帧支持》 (XAPP1082) 。

IP模块:

IP 模块主要分两大类:

• 软 IP 模块:您可以在 FPGA 结构中实现这些模块,使用 RT L或更高级别的说明。它们更适用于数字核,因为硬件描述语言 (HDL) 与进程无关,可以综合到门级。 HDL 具有灵活性、可移植性和可复用性优势,但是具有不能保证时序或功耗特性的缺点。

• PS IP 模块:这些模块具有固定的布局并且针对特定应用和进程进行了优化。它们的主要优点是具有可预测的性能,但是需要着额外的工作和成本投入,而且缺乏便携性,这可能大大地限制了其应用范围。 PS IP 模块通常通过了预审,这意味着供应商已经对芯片进行了测试。这大大增加了其正确性的保障。

当你用ZYNQ开发时,你会发现硬件设计时的IP开发贯穿始终(包括调用IP核自定义IP),一个IP模块的举例如下:

PL时钟:

PL时钟有四种可用时钟源:

• 来自 PS 的时钟 (FCLK):PS输入到PL的时钟FCLK;

• 从 GT 恢复时钟:GT 收发器接收器时钟数据恢复 (CDR) 电路从输入数据流中提取时钟和数据;

• 外部时钟源:外部IO输入单端或差分时钟;

• 由 MMCM 生成的时钟:时钟管理模块分倍频得到的时钟。

一文知道UltraFast嵌入式设计方法指南

一文知道UltraFast嵌入式设计方法指南

2. 硬件设计流程

硬件设计流程的部分主要是IP的创建、维护集成模块化等,简单说就是如何将硬件设计模块化来提高系统的设计效率和性能,这些IP模块既包括用开发工具生成的IP,也包括自定义封装的IP,最终都是通过总线互联。这些具体设计流程的东西就不一一讲解,详细内容请查看对应文档。

一文知道UltraFast嵌入式设计方法指南

3. 总结

《UltraFast 嵌入式设计方法指南》中硬件设计部分内容涉及PS+PL系统的考虑各个部分和细节,同时我们不难发现:ZYNQ设计中特别注重模块化复用的IP设计思想,整个硬件设计流程都是围绕这个展开,我们常听说软件设计中的模块化编程,其实硬件设计中也可以模块化互联,硬软件思维不同但思想可以借用,至少ZYNQ中的IP模块就是基于AXI4总线的模块化互联,这大大方便了硬件设计开发和维护。

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

    关注

    0

    文章

    389

    浏览量

    21144
  • Ultrafast
    +关注

    关注

    0

    文章

    13

    浏览量

    15547
收藏 人收藏

    评论

    相关推荐

    UltraFast设计方法时序收敛快捷参考指南

    UltraFast 设计方法时序收敛快捷参考指南》提供了以下分步骤流程, 用于根据《UltraFast设计方法
    的头像 发表于 11-05 15:10 4657次阅读
    <b class='flag-5'>UltraFast</b>设计<b class='flag-5'>方法</b>时序收敛快捷参考<b class='flag-5'>指南</b>

    ARM嵌入式系统基础与开发教程-丁龙-PPT

    ARM嵌入式系统基础与开发教程-丁龙-PPT
    发表于 08-18 10:17

    嵌入式处理 技术指南(官方)

    嵌入式处理 技术指南(官方)
    发表于 03-21 14:39

    嵌入式学习指南

    的教学却较为滞后,很多高年级的本科生和刚入学的研究生都苦于不知从何学起。在本文中,笔者将根据自己的嵌入式系统开发和教学经验,简要介绍嵌入式系统的学习方法,力求能帮助初学者找到条入门之
    发表于 07-18 09:51

    知道嵌入式是什么吗?

    相信很多刚接触嵌入式的同学,肯定会对嵌入式陌生,而且都不怎么知道嵌入式是干什么的。在这里我想告诉大家什么是嵌入式?
    发表于 09-16 15:19

    用于Vivado设计套件的 UltraFast设计方法指南

    用于Vivado设计套件的 UltraFast设计方法指南介绍推荐的设计方法,以实现Xilinx®FPGA器件资源的高效利用,以及Vivado®Design Suite中更快速的设计实
    发表于 11-15 10:32

    如何学习嵌入式

    导言很荣幸你能阅读本博,我猜测阅读本博的对象主要有两类,种是在校大学生,另外种是其他行业的从业人员,想转行嵌入式开发(不懂猜测的对不
    发表于 11-05 07:41

    读懂嵌入式是什么

    什么是嵌入式嵌入式的优点有哪些?嵌入式系统可分为哪几类呢?
    发表于 11-12 06:52

    全新嵌入式教程、更新的 UltraFast 方法指南,现已上线!

    全新嵌入式教程 更新的 UltraFast 方法指南和信息中心 帮助加速 Zynq-7000 全可编程 SoC 开发 为帮助加速您的 Zynq-7000 全可编程 SoC
    发表于 02-09 04:37 244次阅读

    UltraFast嵌入式方法检查表介绍及使用方法

    UltraFast嵌入式方法检查表介绍,解释清单的功能以及如何使用它。
    的头像 发表于 11-30 06:45 2495次阅读

    UltraFast Vivado HLS方法指南

    电子发烧友网站提供《UltraFast Vivado HLS方法指南.pdf》资料免费下载
    发表于 09-13 11:23 1次下载
    <b class='flag-5'>UltraFast</b> Vivado HLS<b class='flag-5'>方法</b><b class='flag-5'>指南</b>

    UltraFAST设计方法指南(适用于Vivado Design Suite)

    电子发烧友网站提供《UltraFAST设计方法指南(适用于Vivado Design Suite).pdf》资料免费下载
    发表于 09-13 10:18 0次下载
    <b class='flag-5'>UltraFAST</b>设计<b class='flag-5'>方法</b><b class='flag-5'>指南</b>(适用于Vivado Design Suite)

    UltraFast设计方法时序收敛快捷参考指南(UG1292)

    电子发烧友网站提供《UltraFast设计方法时序收敛快捷参考指南(UG1292).pdf》资料免费下载
    发表于 09-15 10:38 0次下载
    <b class='flag-5'>UltraFast</b>设计<b class='flag-5'>方法</b>时序收敛快捷参考<b class='flag-5'>指南</b>(UG1292)

    UltraFast高层次生产力设计方法指南

    电子发烧友网站提供《UltraFast高层次生产力设计方法指南.pdf》资料免费下载
    发表于 09-15 10:41 0次下载
    <b class='flag-5'>UltraFast</b>高层次生产力设计<b class='flag-5'>方法</b><b class='flag-5'>指南</b>

    UltraFAST设计方法指南(适用于Vivado Design Suite)

    电子发烧友网站提供《UltraFAST设计方法指南(适用于Vivado Design Suite).pdf》资料免费下载
    发表于 09-15 09:56 1次下载
    <b class='flag-5'>UltraFAST</b>设计<b class='flag-5'>方法</b><b class='flag-5'>指南</b>(适用于Vivado Design Suite)