首页 > 技术 > 内容

基于Zynq SoC架构在器件的可编程逻辑内构建外设来加快处理速度

时间:2026-01-24  作者:Diven  阅读:0

Zynq SoC架构的主要优势就是能够通过在器件的可编程逻辑内构建外设来加快处理速度。

这是Adam Taylor 计划编写的Zynq-7000 All ProgRAMmable SoC实际操作教程系列的第三部分。前两部分教程分别刊登在《赛灵思中国通讯》第47期和48期。Adam 经常为《赛灵思中国通讯》撰稿,同时还为All ProgRAMmable 星球社区撰写博客 ( )。

赛灵思 Zynq™- 7000 All Programmable SoC真正的重要优势就是能够通过在可编程逻辑(PL)侧构建外设来提高器件处理系统(PS)侧的性能。最初您可能会认为这将是一项比较复杂的工作,但是,创建自己的外设其实很简单。

如果您试图提高PS的性能或者使用PS来控制PL侧的设计行为,那么在PL内添加外设会起到很大的帮助。例如,PS可能会使用一系列存储器映射寄存器来控制PL内的设计运行或选项。

我们选择简单模块作为设计实例,该模块用于打开和关闭ZedBoard上的存储器映射LED。我们将使用赛灵思PlanAhead™、XPS和软件开发套件(SDK)工具分三步来创建该模块。

1. 在嵌入式开发套件(EDK)环境中创建模块。

2. 为模块编写VHDL程序并构建系统。

3. 编写使用最新定制模块的软件。

在EDK中创建模块

要创建自己的外设,首先需要从包含Zynq SoC设计的PlanAhead项目中打开Xilinx Platform Studio (XPS) ,并选择菜单选项中的“hardware-》create or import peripheral” 。

对我们的实例模块而言,ZedBoard上的7个LED应展示出walking display的效果,除了最重要的那个LED必须在软件应用控制下点亮以外,其都可以依次相继点亮。尽管这并不是最棒的定制模块应用,但对于流程演示 而言是非常有用且简单的实例。一旦掌握了这个流程,您将掌握实现更复杂模块所需的全部知识。

创建外设时只需相继打开10个简单窗口并选择所需的选项。

前两个截屏(如图1所示)询问是否需要创建外设或导入现有的外设,如果是,需要将其关联到哪个项目。下一步,您可在第三个截屏中对模块进行命名并高效地定义版本和修订版本。(注意:可利用外设流程底部的选项通过回读*.cip文件来重新定制已创建的模块。)

选定模块名称后,接下来要选择所需AXI总线类型,如图2所示。我们的实例设计需要的是简单的存储器映射控制寄存器型接口,因此我们选择了最上面的AXI4-Lite选项。(如需了解有关不同AXI总线类型的更多信息,敬请访问: mentation/white_papers/wp379_AXI 4_Plug_and_Play_IP.pdf )。在这个步骤中将创建众多简单寄存器。我们可利用处理系统通过AXI总线对寄存器进行读/写操作。

这些寄存器位于Zynq SoC上的可编程逻辑架构中,因此也能通过用于创建外设功能的用户逻辑应用来访问。

接下来的六个截屏为您提供相应选项,以便对AXI的主配置或从配置以及您将用于控制用户逻辑和支持文件的寄存器的数量进行定制。本例中我们仅使用一 个寄存器,并将其用作AXI-Lite的从配置。简化系统开发的最重要方法是选择外设实现支持标签上的“generate template driver files”选项。这样就能提供一系列有助于所创外设内部通信的源文件和头文件。

最后一步,XPS会生成一系列有助于创建和使用新外设的文件:

• 以您的外设命名的顶层VHDL文件

• 可在其中创建用户逻辑的VHDL文件

微处理器外设描述文件:用于定义连接模块的接口,以便将模块与XPS配合使用

• CIP文件:必要时可对外设进行重新定制

• 针对SDK的驱动程序源文件

• 针对SDK的实例源文件

微处理器驱动程序定义文件:详细描述外设所需的驱动程序

这些文件将在PlanAhead源目录(即本例中的zed_blog.srcs\ sources_1\edk\proc_subsystem)下创建。

源目录的子目录是包含XPS和PlanAhead所需文件(在与外设同名的目录下)的Pcores目录以及包含SDK所需文件的驱动程序目录。

创建RTL

在Pcores目录中您可以看到两个文件,其中一个与您所创建的组件同名(本例中为led_if.vhd),另一个文件名为

user_logIC.vhd。您可在user_logIC.vhd这个文件中进行设计创建。同时您将会发现向导已经帮您生成了用于通过AXI总线在此文 件中进行通信所需的寄存器和接口。您可在led_if.vhd文件进行用户逻辑模块实例化。对user_logic.vhd实体所做的任何修 改都必须传送到端口映射中。如果要求使用外部端口(例如我们的设计实例就需要外部端口来点亮LED),还必须传送对led_if.vhd实体所做的修改。

逻辑设计创建完成后,您可能希望对逻辑进行仿真以确保达到预期效果。在Pcores/devl/bfmsim目录下为您提供了总线功能模型。

猜您喜欢


航空接头和防水接头在现代工业和日常生活中是重要配件。应用领域,涵盖了多个行业。在航空航天领域,航空接头被应用于飞机、卫星和航天器的电子设备连接,确保在极端环境下...
2023-09-23 00:00:00
随着电子技术的不断发展,霍尔电流传感器因其非接触测量和高精度的特点,应用于电流监测、电机控制、电力系统等领域。为了确保霍尔电流传感器的性能和测量准确性,科学有效...
2025-12-05 20:30:09
贴片电阻是现代电子产品中重要的元器件,而0603封装是当前应用最的封装形式。0603表示电阻的尺寸为0.06英寸 x 0.03英寸(约1.5mm x 0.75m...
2025-04-18 06:00:40
以太网连接器(RJ45、RJ11)在现代通信中是重要配件。RJ45连接器常用于网络设备,如路由器、交换机和计算机,负责将设备连接到局域网(LAN)中。通过RJ4...
2018-08-18 00:00:00
专用开关在现代电气设备中是重要配件,其主要优势不容忽视。专用开关设计独特,能够满足特定设备的需求,确保在使用过程中更加安全可靠。与通用开关相比,专用开关在电流、...
2022-08-16 00:00:00
可调谐滤波器是能够根据需求调整频率响应的电子元件,应用于通信、音频处理和信号处理等领域。其核心功能是选择性地允许特定频率的信号通过,同时抑制其频率,从而实现信号...
2014-09-29 00:00:00
电子水平仪、框式水平仪和条式水平仪是现代测量工具中不可少的设备,在多个领域中有着着重要作用。在建筑行业,这些水平仪用于确保建筑物的基础和结构的水平度,保证工程质...
2010-07-01 00:00:00
一、启动流程介绍普通的 FPGA 一般是可以从 flash 启动,或者被动加载,但是ZYNQ不行,ZYNQ必须PS端参与ZYNQ 的启动是由 ARM 主导的...
2022-07-22 10:06:00
自恢复保险丝独特的自我恢复特性,成为了电路保护中的重要配件。而Langlu(朗路国际),作为该领域的佼佼者,其自恢复保险丝产品更是受到瞩目。本文将带您深入了解L...
2022-10-14 17:38:30
贴片电阻上的数字代表其阻值,识别好坏主要看以下几点:外观检查: 观察电阻表面是否有裂纹、烧焦痕迹、污染或变形。如有,则可能已损坏。阻值测量: 使用万用表测量电阻...
2025-04-14 15:03:40