【ALINX】FPGA ZYNQ视频教程AX7020教程—02_Vivoda初体验LED灯工程

【ALINX】FPGA ZYNQ视频教程——AX7010/AX7020教程——FPGA实验篇

02_Vivoda初体验LED灯工程

2.1 新建Vivado工程

  1. File=>New Project
  2. 工程文件命名:不能出现中文、空格等非法字符
  3. 选择芯片型号:

视频定位链接 03:45

  1. AX7020开发板速度选择“-2”;型号选择“xc7Z020clg400-2
    请添加图片描述

** Vivado窗口介绍

视频定位链接05:44

2.2 添加源文件

视频定位链接 08:43

1.选择点击:窗口Source,左上角“+”;选择“Add ~ design sources”
请添加图片描述

2.选择“create file” 或直接选择目录下的源文件
3.定义模块:将模块名称设计和文件名一样
请添加图片描述

2.3 编辑Design Sources源文件(.v)

视频定位链接 10:21

1.选择点击:窗口Source–》Design Sources–》XXX.v模板 源文件
2.编辑源文件时,编辑框的右上角方块如果为绿色,则表示程序无误,若为红色则表示异常,可通过中间红色小块进行查找。
请添加图片描述

//led.v文件代码
module led(
    input sys_clk,
    input rst_n,
    (* MARK_DEBUG="true" *)output reg [3:0] led
    );
(* MARK_DEBUG="true" *)reg[31:0] timer_cnt;
always@(posedge sys_clk or negedge rst_n)
begin
    if (!rst_n)
    begin
        led <= 4'd0 ;
        timer_cnt <= 32'd0 ;
    end
    else if(timer_cnt >= 32'd49_999_999)
    begin
        led <= ~led;
        timer_cnt <= 32'd0;
    end
    else
    begin
        led <= led;
        timer_cnt <= timer_cnt + 32'd1;
    end
    
end

Instantiate ila in source file
//ila ila_inst(
//  .clk(sys_clk),
//  .probe0(timer_cnt),
//  .probe1(led)
//  );

endmodule

2.4 RTL ANALYSIS (RTL分析)

视频定位链接 12:49

1.选择点击:左侧 RTL ANALYSIS => Open Elaborated Design
请添加图片描述

2.进行引脚绑定,将FPGA的输入和输出设备绑定到FPGA的引脚上
1)切换到右下角"I/O Ports"窗口,可从标题栏 Window 中调出。
2)根据原理图或者用户手册,将外设与FPGA进行引脚绑定和电平匹配,在"Package Pin" 输入引脚号,在"I/O Std"处选择FPGA的Bank(3.3V时选择LVCMOSE33)
请添加图片描述

请添加图片描述

3)保存后,约束文件类型为==.XDC==
4)在Sources窗口的Constraints目录下会出现.XDC约束文件

3.SYNTHESIS (综合)
1).选择点击:左侧 SYNTHESIS => Run Synthesis 选择核心数;开始综合,右上角有指示。
2)时序约束

视频定位链接 21:29

  • 选择点击:左侧 SYNTHESIS => Open Synthesized Design =>Constranints Wizard
  • 设置时钟频率(50MHZ),“Skip to Finish”
    请添加图片描述

3).在Sources窗口的Constraints的.xdc约束文件中点击“reload”,补充时序约束。
请添加图片描述

2.5 编译:生成Bit文件

视频定位链接 23:32

1.选择点击:左侧 PROGRAM AND DEBUG => GENERATE bITSTREAM
2.选择运行处理器核心数(越多电脑越卡);右上角会显示运行状态。
请添加图片描述

2.6 仿真

视频定位链接 25:27

1.右键选择点击:左侧 SIMULATION => Simulation Settings
2.设置:仿真器、仿真语言、初始仿真时间(50ms)等参数.
请添加图片描述

3.添加仿真源文件
1).选择点击:窗口Source,左上角“+”;选择“Add ~ simulation sources”;设置文件名:vtf_led_test
请添加图片描述

2).在该目录下编辑仿真源文件(编程)

`timescale 1ns / 1ps
//
// Module Name: vtf_led_test
//

module vtf_led_test;
// Inputs
reg sys_clk;
reg rst_n ;
// Outputs
wire [3:0] led;

// Instantiate the Unit Under Test (UUT)
led uut (
    .sys_clk(sys_clk),   
    .rst_n(rst_n),
    .led(led)
 );

initial 
begin
// Initialize Inputs
    sys_clk = 0;
    rst_n = 0 ;
    #1000 ;
    rst_n = 1; 
end
//Create clock
always #10 sys_clk = ~ sys_clk;  

endmodule

4.运行(行为级)仿真:选择点击 SIMULATION => Run Simulation => Run Behaviorral Simulation
请添加图片描述

5.仿真操作:

视频定位链接 29:59

1)选择 Scope(模块) => Objects(项目);左键按住则可以拖动到黑色仿真窗口。
请添加图片描述

2)Restart(重新运行)、Run All(一直运行)、Run for
xx(仿真运行xx长时间)请添加图片描述

3)仿真文件存储目录(.sim文件夹)

4)显示进制选择:黑框仿真栏项目,鼠标右键 => Radix => Unsigned Decimal(十进制)
请添加图片描述

2.7 程序下载

视频定位链接 34:40

1.硬件连接:电源线、JTAG下载口(跳线帽也换到JTAG)
请添加图片描述

2.选择点击:左侧 PROGRAM AND DEBUG => Open Hardware Manager;在左上角通知栏点击“++Open Target++” => Auto Connect
请添加图片描述

3.右键选择点击:Hardware中XC7z020_1 => Program Device;选择2.5中生成的.Bit文件
请添加图片描述

2.8 内嵌逻辑分析仪(可获取开发板的真实数据)的用法

2.8.1 利用IP进行例化

视频定位链接 36:32

1.选择点击:左侧 PROJECT MANAGER => IP Catalog
请添加图片描述

2.在搜索栏中搜索ILA(Integrated Logic Analyzer);双击进入
请添加图片描述

3.设置参数
1)修改顶端文件名,设置 Number of Probe(探针数目)、Sample DataDepth(采样深度)。
请添加图片描述

2)设置 Probe Width(探针宽度):计数器是32位,4个led灯是4位。
请添加图片描述

4.保持默认,点击生成ILA文件(.xci)。
1)在Sources处点击打开ila文件,展开层级关系;
请添加图片描述

2)展开后,会生成ILA的.v文件
请添加图片描述

5.例化:

视频定位链接 40:50

1)复制ILA文件中的模块名及代码,在led.v文件内做 例化:将时钟(.clk)和探针(.probe)与需要探测的接口进行对应。
请添加图片描述

请添加图片描述

// 模块名为(ila)ILA中例化前代码:
  ila (
clk,
probe0,
probe1
);

// led.v中例化后代码:
//Instantiate ila in source file
ila ila_inst(
  .clk(sys_clk),
  .probe0(timer_cnt),
  .probe1(led)
  );

2)重新下载程序,生成.bit文件,下载文件到开发板;注意此时下载时会多一个.ltx文件(用于描述逻辑分析仪连接)请添加图片描述

3)选择点击: Run trigger… 则可显示开发板内的实际数据。
请添加图片描述

4)制作触发器

视频定位链接 45:09

选择点击: Add Probe(增加探针)=> 选择探针;修改探针逻辑、进制、数值;
请添加图片描述
5)修改 Trigger Position in window 可以调整窗口的前后显示比例;每次修改需要点击 Run trigger…
请添加图片描述

2.8.2 利用调试信息进行ILA

视频定位链接 49:07

1.在.v文件中添加调试信息
1)选择点击:PROJECT MANAGER => Language Templates;搜索 mark,选择“mark debug”
请添加图片描述

2)在led.v文件中的led和cnt值定义的前面加上Mark语句,保存。
请添加图片描述

2.进行综合(SYNTHESIS)
1)选择点击:左侧 SYNTHESIS => Run Synthesis 选择核心数;开始综合,右上角有指示。
2)综合后,选择点击:SYNTHESIS => Open Synthesis => Set Up Debug;按照指示保持默认,生成后保存。
请添加图片描述
3)在约束文件处 reload ,约束文件中会将信号和探针连接到一起。
请添加图片描述
3.生成bit文件
4.下载调试(同上)

《完》

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: cource_s1_alinx_zynq(ax7xxx)开发平台基础教程vx.xx是一门关于使用AX7xxx系列Zynq芯片的开发平台的基础教程。这门课程主要面向初学者,提供了使用该开发平台的基本知识和技能。 在这门课程中,学习者将学习如何设置开发环境和安装必要的软件。他们将了解如何使用AX7xxx开发板,并学习如何连接外部设备,如显示器和键盘。学习者还将学习如何使用软件工具,如Vivado和SDK,来开发和调试他们的应用程序。 课程还将介绍Zynq芯片的架构和功能。学习者将学习如何配置和编程处理系统(PS)和可编程逻辑(PL)部分。他们将了解如何使用PS和PL之间的接口进行通信,并学习如何配置和使用Zynq芯片的外围设备,如GPIO,UART和SPI。 在课程的实践部分,学习者将完成一些小型项目来应用他们所学的知识。他们将开发一些简单的应用程序,如LED闪烁和按键检测,并学会如何使用中断来处理外部事件。学习者还将学习如何使用AX7xxx开发平台的嵌入式软件库,如FreeRTOS和lwIP,来开发更复杂的应用程序。 总体而言,cource_s1_alinx_zynq(ax7xxx)开发平台基础教程vx.xx是一门全面且实用的课程,旨在帮助初学者快速上手使用AX7xxx系列Zynq芯片的开发平台。通过学习这门课程,学员将掌握开发环境设置、软件工具使用、Zynq芯片架构和功能、外围设备配置和使用等基本技能,能够开发出简单到复杂的应用程序。 ### 回答2: cource_s1_alinx_zynq(ax7xxx)开发平台基础教程vx.xx是一本关于使用AlinxZynq(ax7xxx)开发平台进行开发的基础教程。该教程的版本号为vx.xx。 这本教程旨在帮助开发人员了解如何使用AlinxZynq开发平台进行项目开发Zynq是赛灵思公司推出的一款SoC(系统级芯片),它集成了ARM处理器和可编程逻辑(FPGA),可以同时运行软件和硬件设计。Alinx是一家专注于嵌入式系统开发的公司,他们提供了一系列的开发板和解决方案。 教程从基础概念开始介绍,例如Zynq的架构和功能。然后,教程详细解释了如何设置开发环境,包括安装必要的开发工具和驱动程序。接下来,教程向读者展示了如何开始一个项目,包括创建工程、导入IP核和配置FPGA教程中还包含了一些实际的示例项目,以帮助读者更好地理解并实践所学知识。这些项目涵盖了不同的应用领域,如图像处理、通信和控制等。读者可以根据自己的兴趣和需求选择适合的项目进行学习和仿真。 此外,教程还提供了一些调试技巧和常见问题的解答,以帮助读者克服在开发过程中可能遇到的困难和挑战。最后,教程还提供了进一步学习资料的推荐,如文档、视频教程和论坛等。 总之,cource_s1_alinx_zynq(ax7xxx)开发平台基础教程vx.xx是一本介绍如何使用AlinxZynq开发平台进行项目开发教程。它适合那些希望了解Zynq平台基础知识和进行项目开发的读者。无论是初学者还是有经验的开发人员,都可以从中获得有益的指导和实践经验。 ### 回答3: cource_s1_alinx_zynq(ax7xxx)开发平台基础教程vx.xx是一套关于alinx Zynq系列(ax7xxx)开发平台的基础教程Zynq系列开发平台是Xilinx推出的一种基于ARM架构的SoC(System-on-Chip)解决方案,它集成了ARM处理器和XilinxFPGA器件,可以在单一芯片上同时实现高性能的软件处理和灵活的硬件设计。这大大简化了嵌入式系统的设计流程,并提高了系统的灵活性和性能。 该教程主要介绍如何使用cource_s1_alinx_zynq(ax7xxx)开发平台进行软硬件协同设计。首先,它会介绍Zynq系列芯片的基本架构和硬件资源,使学习者能够了解芯片的基本功能和特性。然后,教程会详细介绍如何进行软件设计和硬件设计。对于软件设计部分,教程会涵盖Linux操作系统的移植、设备驱动程序的开发和应用软件的开发等内容。对于硬件设计部分,教程会介绍如何使用Xilinx的Vivado软件进行FPGA的逻辑设计和约束编写。此外,教程还会介绍如何进行软硬件协同设计,包括FPGA与ARM之间的数据传输和通信。 通过学习cource_s1_alinx_zynq(ax7xxx)开发平台基础教程,学习者可以掌握Zynq系列芯片的基本知识,了解软硬件协同设计的流程和方法,掌握基本的软硬件设计技巧,能够进行Zynq系列开发平台的应用开发。这对于从事嵌入式系统设计和开发工程师来说是非常重要的,可以提高工作效率和开发质量,推动嵌入式系统的发展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值