精华内容
参与话题
问答
  • Zynq7000系列之Zynq7000系列引脚功能综述.doc
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • 1,Zynq-7000白皮书, 2,ZedBoard板载资料 3,MicroZed板载资料 4,Zynq SoC ZC702 评估套件资料 5,Zynq SoC ZC706 评估套件资料 6,设计实例 7,学习笔记 8,X-fest 最新资料包 9,Xilinx AXI4总线资料 10,...
  • XILINX ZYNQ7000 开发板

    2018-12-07 11:09:20
    黑金基于 XILINX ZYNQ7000 开发平台的开发板 2016 款正式发布了,型号为:AX7020 。 此款开发平台是 XILINX 的 Zynq7000 SOC 芯片的解决方案。它采用 ARM+FPGA SOC 技术 将双核 ARM Cortex-A9 和 FPGA 可编程逻辑...
  • Zynq7000详解

    2013-03-19 14:26:02
    Zedboard开发板芯片Zynq7000参考资料
  • XLINX zynq7000 uboot

    2018-11-28 13:30:35
    SDSoC™ 开发环境可为异构 Zynq® 全可编程 SoC 及 MPSoC 部署提供类嵌入式 C/C++ 应用的开发体验,其中包括简单易用的 Eclipse IDE 和综合设计环境。SDSoC 提供业界首款 C/C++ 全系统优化编译器,可实现系统级的...
  • 黑金zynq7000教程

    2018-11-19 14:34:55
    黑金Zynq7000开发平台配套教程 适合学些Xilinx ZYNQ系列SOC的朋友们学习,本文档主要讲解vivado的调试技巧,sdk的调试技巧,还有一些模块
  • zynq 7000 自定义IP 实验

    千次阅读 2017-11-30 15:16:30
    本文通过一个简单例子介绍zynq 7000中自定义ip 的设计过程。 此例子就是控制4个led 。 在ps-pl 试验中,一般用的就是Vivado 自带的GPIO ip。 所以如果你熟悉了PS端和PL端协同设计流水灯试验,对于本例子就只需关注...

    本文通过一个简单例子介绍zynq 7000中自定义ip 的设计过程。 此例子就是控制4个led 。 在ps-pl 试验中,一般用的就是Vivado 自带的GPIO ip。 所以如果你熟悉了PS端和PL端协同设计流水灯试验,对于本例子就只需关注自定义ip 的设计了。如果你还不熟悉这种协同设计,那你就得先学习好了,再来看本文试验。

    本文就是用自定义的ip 替代自带的gpio ip来控制流水灯。其主要意义是掌握自定义ip 的设计过程。
    本文测试环境是Vivado 2015.4, 测试硬件是黑金的AC7010, AX7010。

    本文的源代码下载地址:

    链接:https://pan.baidu.com/s/1N6VyY7bZ0dX-KIkQfrmWrw 
    提取码:yri1

    1:新建一个试验工程

    打开Vivado, 点击新建工程,工程取名custom_ip。

     

    一路Next , 在这个界面设置好你所用的硬件,我的是这样的。

     

    工程建立好是这样的,点击Create Block Design。

     

    取名system。

     

    在原理图里右键添加ip , 添加ZYNQ Processing System. 添加完成后点击 Run Block Automation。

     

    然后 点击图标, recustom ip, 设置处理器。首先设置好DDR, 我的是这样选择的。

     

    设置信息监控端口, UART1, 其实也不是很重要。

     

    时钟设置比较重要,选择Clock Configuration,点开 IO Peripheral Clocks, PL Fabric Clocks, 检查FCLK_CLK0 是否已勾上,并且频率设置为100 MHZ。

     

    PS-PL Configuration 这里也要选择好。

     

    2: 建立自定义IP 。 菜单选择 Tools -> Create and Package IP... 。

     

    Next 到这个界面, 做如下选择: 选择 Create a new AXI peripheral

     

    在这个界面做好设置和选择;

     

    这个接口设置很重要,按如下设置好。

     

    到这个界面,选择 Edit IP, 然后点击Finish。

     

    Finish 后界面是这样的。

     

    3: 自定义ip 的设计


    我们先来看看主界面。在 Design Source 下面有2个.v 文件。上面的myip_led_v1_0.v 是顶层文件, top level,但他只是实现接口界面,并调用实例函数。所以真正实现是在 下面的文件, myip_led_v1_0_S00_AXI.v, 当然这个文件主要是实现AXI接口。重要的逻辑实现需要我们另外添加自己的函数。但在这个例子,我们把这部分最简单化,只是实现一个很简单的功能。

     

    这个实现文件很长,有400行多,但层次很清楚,每段实现一个逻辑点,并且有注释。这里不分析那么多了。

    上图里是添加参数的位置,简化一点,不改参数了,所以这段后来取消了,就是取消了参数添加段,但保持注释。


    寻找到下面注释段(line 16-20):

            // Users to add ports here
           
            // User ports ends
            // Do not modify the ports beyond this line

     

    这里是添加ports 的地方,我们添加ports, 结果如下

            // Users to add ports here
            output wire [3:0]LED,
            // User ports ends
            // Do not modify the ports beyond this line

     

    寻找到下面注释段(line 392-394):

        // Add user logic here
       
        // User logic ends

     

    这里是添加逻辑的地方,可能有很多逻辑设计,或者调用自己定义的很多函数实现

    但这里我们简单化, 只是添加一点点assign LED[3:0]=slv_reg0[3:0];

    结果如下:

        // Add user logic here
        assign LED[3:0]=slv_reg0[3:0];
        // User logic ends

    以上是我们对AXI接口实现函数的修改。很简单,找到地方添加2行。

    下面我们对顶层文件做一点修改,点击并打开 myip_led_v1_0.v,找到如下地方(line 16-20)

        (
            // Users to add ports here
           
            // User ports ends
            // Do not modify the ports beyond this line

     

    这是添加ports 的地方,添加后结果如下:

        (
            // Users to add ports here
            output wire [3:0]LED,
            // User ports ends
            // Do not modify the ports beyond this line

     

    找到如下位置(line 46-51), 就是AXI实例化开始的地方,上面部分是参数设置的地方。

    // Instantiation of Axi Bus Interface S00_AXI
        myip_led_v1_0_S00_AXI # (
            .C_S_AXI_DATA_WIDTH(C_S00_AXI_DATA_WIDTH),
            .C_S_AXI_ADDR_WIDTH(C_S00_AXI_ADDR_WIDTH)
        ) myip_led_v1_0_S00_AXI_inst (
            .S_AXI_ACLK(s00_axi_aclk),

    我们需要让2部分是端口对应起来,所以添加了 .LED(LED), 结果如下:

    // Instantiation of Axi Bus Interface S00_AXI
        myip_led_v1_0_S00_AXI # (
            .C_S_AXI_DATA_WIDTH(C_S00_AXI_DATA_WIDTH),
            .C_S_AXI_ADDR_WIDTH(C_S00_AXI_ADDR_WIDTH)
        ) myip_led_v1_0_S00_AXI_inst (
           .LED(LED),
            .S_AXI_ACLK(s00_axi_aclk),

     

    好的,代码修改的任务完成了。保存此2个文件,特别是检查是否有错误。 有错误会告诉你错误了,但具体是哪里,我不知道,我一般综合一下,容易定位错误的具体地方。

     

    双击IP-XACT下的component.xml ,返回到Package IP 窗口。下面是各种对应关系。

     

    在左边没有绿勾的地方点一下,应该最开始是 Ports and Interface, 但我没截图,这里是 File Groups, 看看蓝色的提示条: Merge changes from File Group Wizard ,点击它。

     

    点击后就全变绿勾了。右边的东西点开看看:

     

    选择 Reviews and Package。 可以看到一些信息, 红框里说 inarchive will not be generate. Use the setting link before to change。

    你想改变的话,可以点击试试看。 点击Re-Package IP。这样就完成了IP的设计了。

     

     

    4:添加自定义ip 到原理图中验证

    re-package ip 后,如下提示,我选择Add IP to Block Design,添加到原理图中。 如果不是这样, 你可能需要一个添加自定义ip 的程序。 自定义ip 路径设置,然后添加ip。

     

    ip 添加到原理图中如下,点击Run Connection Automation。

     

    所有线都连接好了, 但Led 还没有输出。 选择ip 的LED,

     

    选择ip 的 LED,并右键选择 Make External

     

    这样LED有了输出。

     

    添加约束文件

    此后就是常规操作了,在Source 中选中system.v,右键并先后选择 Generate Output Products 和 Create HDL Wrapper。 然后产生流文件。

     

    硬件输出,菜单File -> Export -> Export Hardware , 这里要选择包含流文件。

     

    菜单选择File -> Launch SDK 启动SDK开发环境。

     

    5: SDK软件编程


    新建工程:
    菜单 File -> New -> Application Project

     

    工程取名为test_led。

     

    选择hello world 工程样本。

    然后修改helloworld.cpp 如下:


    #include <stdio.h>
    #include "platform.h"
    #include "xparameters.h"
    #include "xil_io.h"

    #define MY_IP    0x43c00000

    int main()
    {
        init_platform();

        print("Hello World\n\r");
        u32 Delay;
        u32 Ledwidth;

          while (1)
          {
              for (Ledwidth = 0x0; Ledwidth < 4; Ledwidth++)
              {
                  Xil_Out32(MY_IP,1 << Ledwidth);
                  //printf("led=%x\n\r",1<<Ledwidth);
                  for (Delay = 0; Delay < 18000000; Delay++);
              }
          }
        cleanup_platform();
        return 0;
    }

     

    文件中有

    #define MY_IP    0x43c00000 ,其来由在Vivado 的地址中得到。

    保存文件并编译链接,Run AS-> 或者 Debug As ->  Launch on Hardware(System Debugger

    就看到流水灯的运行了。

     

    展开全文
  • ZYNQ7000原理图

    2018-03-19 13:40:06
    黑金公司AX7020平台原理图,包含了zynq-7000的JTAG、MIO、bank502、power、DDR3、GPHY、USB OTG、FLASH、RTC、EEPROM、LED、KEY等内容。
  • zynq 7000详细手册

    2018-04-07 13:10:33
    zynq 7000详细手册,UG585 1800多页 ,比较详细,可以先从摘要看起,入门设计必备!
  • ZYNQ 7000用户手册

    2018-04-27 10:45:47
    ZYNC开发技术手册文档,帮助你了解芯片特性,提高开发效率
  • zynq7000 原理图

    2017-12-28 13:43:19
    自己用cadence画的 XC7Z020CLG484 原理图,有需要的可以参考
  • Xilinx zynq7000

    2019-06-25 17:36:56
    PS: 处理系统(Processing System),与FPGA无关的ARM的SOC的部分。 PL: 可编程逻辑(Progarmmable Logic),FPGA部分。 PS和PL需分配到不同的电源平面上,PS和PL都有专用的电源引脚,要有独立电源供应路径。...

    PS: 处理系统(Processing System),与FPGA无关的ARM的SOC的部分。 PL: 可编程逻辑(Progarmmable Logic),FPGA部分。
    PS和PL需分配到不同的电源平面上,PS和PL都有专用的电源引脚,要有独立电源供应路径。
    PL和PS数据传输的高效接口有两个:AXI(PS主动)和ACP(PL主动)。PL访问DDR可通过AXI接口,可配置成32-bit或者64-bit。
    PS端
    作为处理器系统的基础,所有的芯片都包含了一颗双核 ARM Cortex-A9 处理器。 这是一颗 “ 硬 ” 处理器 —— 它是芯片上专用而且优化过的硅片元件。PS由APU(Application Processing Unit,APU )、扩展外设接口、存储器接口、互联接口、时钟发生电路、以及cache 存储器等电路组成。

    PL端
    Zynq 架构的第二个主要部分是可编程逻辑。这是基于 Artix®-7和Kintex®-7的 FPGA 组件的 。图7 描绘了 Zynq 芯片的 PL 部分,其中几个功能被高亮了出来。PL 主要是由通用FPGA 逻辑部分组成的,这个FPGA 是由逻辑片和可配置逻辑块 (ConfigurableLogic Block,CLB)组成的,另外还有用于接口的输入 / 输出块(Input/ OutputBlock,IOB)

    做好PL端的配置后,生成bit流,然后(include bitstream)导入到SDK。(具体包括,产生外部产品、生成顶层文件、Export 、lanuch to SDK)
    3.在SDK中,等待硬件信息导入完成后,新建工程led,打开空工程。然后添加原文件led.c(单击led > 右键单击src > new > Source File)

    展开全文
  • zynq7000双核AMP工程

    2017-12-09 18:49:42
    1、在CORE0中搭建TCP server 2、编写定时器中断库函数,增加定时间中断,定时间0.25S中断一次,用于TCP网络通信 3、介绍双核通信、数据交换、协同运行的基本原理 4、编写C驱动代码实现CORE0与CORE1间软件中断的触发...
  • Zynq7000简介

    2020-08-17 23:21:43
    Zynq7000简介 Zynq7000由来 Zynq是Xilinx公司推出的一个可扩展处理平台,其将通用基础双ARMCortex-A9MPCore处理器系统作为“主系统”,结合低功耗28nm工艺技术,以实现高度的灵活性、强大的配置功能和高性能。由于该...

    Zynq7000简介

    Zynq7000由来

    Zynq是Xilinx公司推出的一个可扩展处理平台,其将通用基础双ARMCortex-A9MPCore处理器系统作为“主系统”,结合低功耗28nm工艺技术,以实现高度的灵活性、强大的配置功能和高性能。由于该新型器件的可编程逻辑部分基于赛灵思28nm7系列FPGA,因此该系列产品的名称中添加了“7000”,以保持与7系列FPGA的一致性,同时也方便日后本系列新产品的命名。

    Zynq7000介绍

    由ARM cortex-A9 MPCore处理器+28nm7系列FPGA构成,内部集成PS(Processing System)和PL(programmable Logic)。另外其采用HPL28nm(High Performance Low Power,高性能低功耗28nm)和HKMG(High-K Metal Gate,高K金属栅极)工艺,保证了其高性能的同时具有更低的功耗。

    展开全文
  • zynq 7000 的流水灯实验

    千次阅读 2018-08-31 03:14:39
    最简单并且得到实在的体验,我们就从这里开始zynq 7000的体验吧。 本实验包括3部分:创建工程,添加和建立文件,比特流产生和编程。   1:创建工程:打开Vivado,在如下界面里选择建立工程,Create Project。 ...

    流水灯实验是FPGA 的入门实验。最简单并且得到实在的体验,我们就从这里开始zynq 7000的体验吧。

    本实验包括3部分:创建工程,添加和建立文件,比特流产生和编程。

     

    1:创建工程:打开Vivado,在如下界面里选择建立工程,Create Project。

    由于不同的vivado的版本,可能界面不一,但都是找到Create Project。

    出现create project 界面时,选择Next。在如下界面输入工程的名字,这里是run_led,同时也要选择工程的存放文件夹。

    到如下界面时,选择RTL Project, 勾取Do not specify soources at this time。

    到这个界面,选择Part,太多了,不好选择,可以指定一些条件,我们这里选择系列为Zynq-7000。

    再选择封装为clg400,就看到了我的Part, 我的是:xc7z010clg400-1。不同的板子这里可能不同,你要查询好你的Part 型号。

    到这里是个汇总,有不对的,可以返回选择。

    工程创建完了,就是这个样子。看看图中2个红箭,下面我们要添加2个文件在这里。

    2:添加或创建文件:

    在工程管理界面里,添加设计源码文件。先选择Design Source,然后右键或下图中+按钮,Add Source。

    这里选择添加文件类型,这里是 Add or create design sources。

    选择 Next 后到如下界面,可以添加或者创建文件,这里选择Create File

    出现对话框,这里输入文件名led_top,还有文件位置。

    OK 之后,回到如下界面。文件已在列表中。

    选择Finish 后,出现如下界面,OK就好了。

    还有这一个对话框,Yes。

    回到管理界面了。Design Sources 下有了文件,点一下,右边就会显示出来,可以编辑修改。

    在约束下还要添加文件。点一下 Constraints, 与上面添加文件一样操作。右键或+按钮, Add Source。

    这里文件类型选择是  Add or create constraints。

    约束文件取名run_led,点开可以右边显示。

    看看我们创建的2个文件都显示在右边。右上可以最大化。

    文件都建立好了,现在要修改文件的内容了。

    led_top.v文件内容如下:

    module led_top(
        input CLK_i,
    input RSTn_i,
    output reg [3:0]LED_o
    );
    reg [31:0]C0;
    always @(posedge CLK_i)
    if(!RSTn_i)
    begin
    LED_o <= 4'b1;
    C0 <= 32'h0;
    end
    else
    begin
    if(C0 == 32'd50_000_000)
    begin
    C0 <= 32'h0;
    if(LED_o == 4'b1000)
    LED_o <= 4'b1;
    else LED_o <= LED_o << 1;
    end
    else
    begin
    C0 <= C0 + 1'b1;
    LED_o <= LED_o;
    end
    end
    endmodule

    你可以这里复制,粘贴过去。显示如下,多了一些注释之类的。

    run_led.xdc 的内容与硬件相关。在这里要注意你的硬件管脚对应关系。我这里是米联 MZ7XA 的硬件定义。

    CLK_i    H16

    T19   RSTn_i

    J16   LED_o[0]

    K16   LED_o[1]

    H15   LED_o[2]

    G15   LED_o[3]

    run_led.xdc 的内容如下,复制粘贴过去。如果管脚对应不一样,修改这个内容。

    create_clock -period 10.000 -name CLK_i [get_ports CLK_i]
    set_property PACKAGE_PIN H16 [get_ports CLK_i]
    set_property IOSTANDARD LVCMOS33 [get_ports CLK_i]
    set_property PACKAGE_PIN T19 [get_ports RSTn_i]
    set_property IOSTANDARD LVCMOS33 [get_ports RSTn_i]
    set_property PACKAGE_PIN J16 [get_ports {LED_o[0]}]
    set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[0]}]
    set_property PACKAGE_PIN K16 [get_ports {LED_o[1]}]
    set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[1]}]
    set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[2]}]
    set_property PACKAGE_PIN H15 [get_ports {LED_o[3]}]
    set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[3]}]
    set_property PACKAGE_PIN G15 [get_ports {LED_o[2]}]

    文件内容修改后,记得保存。

    3:比特流产生和编程运行

    文件内容都做好了,保存文件,然后点击Generate BitStream。

    他会产生提示对话框,Yes就好。

    还出现这个,OK

    这个需要些时间,你可以看到右上在旋转,表示在计算,看看日志在更新。

    运行结束后会有如下完成对话框。这是告诉你结束了,下面怎么做,可以Cancel, 也可以选择一个下面的内容。这里选择红箭指示的 Open Hardware manager,完成了,我就打开硬件管理器。

    如果你选择了Cancel或者没有选择打开硬件管理,也可以如下图打开硬件管理界面。Flow Navigator->Program and debug->Open Hardware Manager。还可以菜单Flow -> Open Hardware Manager。

    硬件管理面板如下。这里说没有连接硬件,你要连接好你的硬件,然后Open target

    现在硬件连接上了,但还没有编程设备。按照红箭的位置,点击 Program Devices。

    选择比特率文件,如果没有自动输入,那你手动选择,记得下图文件位置和名字。

    点击Program , 程序就下载并运行了。实验也就结束了。

     

    展开全文
  • ZYNQ7K上GPIO分为2类MIO和EMIO,MIO和常见的CPU管脚功能是一样的和很多外设是复用的,在使用前需要进行PIN Assignment,幸运的是这个PIN assignment可以在VIVADO 工具里 自动完成,并且会在FSBL里生成对应的代码...
  • zynq 7000 FPGA的sdk

    2018-07-03 17:01:39
    zynq 7000 FPGA的sdk以太网开发。zynq 7000 FPGA的sdk以太网开发。
  • zynq7000 ucos v1.43

    2018-08-17 16:27:46
    用于zynq7000的ucos,版本号1.43。下载后解压缩,在SDK中Xilinx Tools的Repositories中设置对应的路径
  • zynq 7000系列芯片中所有芯片的封装,包含csv和txt格式
  • Altium Zynq7000.zip

    2019-06-03 09:58:05
    Xilinx官方的zynq7000系列socPCB封装管脚原理图 Altium Designer
  • Xilinx Zynq 7000 集成库

    2015-09-29 09:47:41
    Xilinx Zynq 7000系列的原理图库及封装库.
  • zynq7000芯片资料介绍

    2018-09-10 13:49:06
    zynq7000芯片资料介绍
  •  2时钟Clock PS和PL的时钟输入都来源于PS_CLK(一般为33.33Mhz或50MHz),PS_CLK经过三个锁相环PLL之后产生不同的输出频率,给不同的模块提供需要的时钟 三个锁相环分别是ARMPLL,DDRPLL和IOPLL....

空空如也

1 2 3 4 5 ... 20
收藏数 6,796
精华内容 2,718
关键字:

zynq