Artix-7 35T Arty FPGA 评估套件学习

1、简介

xlinx官网地址: https://china.xilinx.com/products/boards-and-kits/arty.html

1.1 产品描述

售价 99 美元的 Arty 评估套件可为各种嵌入式应用实现快捷跨越式启步,其中包括从基于 Linux 的计算密集型系统到轻量级微控制器等各种应用。 针对 Xilinx 业界最佳低端产品性能功耗比 Artix®-7 35T FPGA 精心设计Arty 套件具有 Xilinx 可针对几乎任何处理器使用案例进行定制的 MicroBlaze™ 处理器。

1.2 主要性能和优势

  • Artix-7 XC7A35T-L1CSG324I FPGA
  • 片上模数转换器 (XADC)。
  • JTAG 与 Quad-SPI Flash 可编程
  • 256 MB DDR3L 支持速率为 667 MHz 的 16 位总线
  • 16 MB Quad-SPI Flash
  • 10/100 Mb/s Ethernet
  • USB-UART Bridge
  • 开关、按钮、RGB LED
  • 4 个 Pmod 接口 (32 I/O)
  • Arduino/ChipKit“盾”接插件 (49 I/O)

1.3 特色 Xilinx 器件

项目 个数
逻辑单元 33,280
DSP Slice 90
存储器 1,800
GTP 6.6Gb/s 收发器 4
I/O 引脚 250

注:包含 Artix-7 XC7A35T-L1CSG324I FPGA

1.4 电路板特性

下图是整个开发板上资源的概览,更详细的可以参考:

  • ARTY 电路板用户指南
  • ARTY 原理图
  • ARTY 方框图

注:板子自带JTAG,用于烧写FPGA固件的,DEBUG得用外置工具

1.5 视频资源

  • 介绍用开发IDE如何连接到开发板、烧写程序、及一些简单的介绍

      打开vivado,将开发板用一根数据线连接到电脑上,点击设备管理找到对应的设备;在工程页面,双击XADC可以出来一个温度曲线(这个视频花很大篇幅讲了XADC);右键点击xc7a35t,选择program device可以烧写程序;
  • 使用 Arty Eval Kit 在 Artix-7 A35T 器件上评估 AMSXADC

      了解如何快速简单地在 Artix-7 A35T Arty 评估套件上不用任何 HDL而使用简单有效的 IPI 内置设计来评估 Xilinx 模拟混合信号 (AMS) 技术。 视频还展示了一些 TCL 脚本,通过 Vivado 轻松与 XADC 交互并后置处理数据。

  • MicroBlaze WebServer Demo for the ARTY Evaluation Kit

      展示了用freeRTOS工程的网络接口,做一个webserver

2、深入

START地址: https://reference.digilentinc.com/reference/programmable-logic/arty/start

2.1 两种开发方法HDL/SOC

FPGA让Arty变得非常灵活。在众多的特点中,FPGAs有能力转换成定制的软件定义的片上系统(SoC)。这些“软SOC”FPGA配置使用图形化的工具ViVADO IP积分器(Vivado IPI)来设计。在这个工具中,从广泛的库中拖动预构建的外围块,并根据需要放入处理系统。这些预构建的外围设备包括定时器、UART/SPI/IIC控制器以及通常在SoC或微控制器中找到的许多其他设备。厉害的用户还会发现,他们可以用硬件定义语言(HDL),特别是Verilog或VHDL,来创建自己的外围块。对于那些对学习HDL不感兴趣的人来说,Xilinx高级合成工具可以通过用C编写自定义外围块来定义它们。

ARTY的软SOC配置由MyBLAZE处理器核心提供。MixBRAZE是32位RISC软处理器内核,专门设计用于Xilinx FPGA。Arty SoC配置中的MicroBlaze处理器通常以100MHz运行,不过可以设计您的SoC,使其能够在200MHz上运行。Arty通过提供16MB的非易失性程序内存和256MB的DDR3L RAM,支持具有要求高的内存需求的大型MicroBlaze程序。

在设计好SOC配置之后,Xilinx也提供了工具用于在软核上应用程序开发。这是通过将您的SoC设计导出到Vivado IPI中并导入到Xilinx软件开发包(XSDK)中来完成的,它是一个用于设计/调试C中的MicroBlaze程序的集成开发环境(IDE)。在IPI到XSDK切换之后,XSDK被自动配置为包括用于SoC中包括的外围块的库和示例。此时,编程Arty非常类似于编程其他SoC或微控制器平台:程序用C编写,通过USB编程到板上,然后可选地在硬件中调试。软SoC配置和MicroBlaze程序也可以加载到16MB非易失性程序存储器中,以便在Arty上电后立即执行。

尽管Arty特别适合Microblaze软SoC设计,它也可以像其他FPGA开发一样在门电路级别编程。此设计流程要求您在Vivado中使用HDL描述RTL电路,并且它不使用Vivado IPI或XSDK工具。这种设计有许多优点,但与编程单板计算机非常不同,而是由熟悉FPGA设计或对设计和实现不包含处理器的数字电路感兴趣的人使用。

2.2 电路板电源供应系统

复杂电路一般都有多个芯片负构成整体电源系统,Arty板子也同样具备该系统:输入包括7~15V的DC接口和Micro-USB接口;其中DC接口后还接了一个ADP2384芯片,用于将输入电压降到5V;5V电压经过ADP5052芯片分压成多种电压,供后级系统使用;特别的ERF3012芯片用于将ADP5052电压稳定到1.25V,用于XADC的VREF:

下表是电源系统各路的去向:

Supply Circuits Device Current (max/typical)
5V Onboard Regulators, RGB LEDs IC12: Analog Devices ADP2384 3.5A/0.375A to 2A
3.3V FPGA I/O, Clocks, Flash, PMODs, LEDs, Buttons, Switches, USB port, Ethernet IC11: Analog Devices ADP5052 2.2A/NA
0.95V FPGA Core and Block RAM IC11: Analog Devices ADP5052 1.0A/0.2A to 0.8A
1.8V FPGA Auxiliary IC11: Analog Devices ADP5052 1.0A/NA
1.35V DDR3L and associated FPGA bank IC11: Analog Devices ADP5052 1.0A/NA
1.25V XADC Analog Reference IC13: Texas Instruments REF3012 25mA/NA

3、DEMO

3.1 闪灯DEMO

Getting Started with Vivado : https://reference.digilentinc.com/vivado/getting_started/start

0) sudo 打开工程:

source /opt/Xilinx/Vivado/2018.2/settings64.sh
sudo /opt/Xilinx/Vivado/2018.2/bin/vivado

1) 创建新工程,命令为blink:

注:视频中创建blink文件的时候,clk and led 输入输出属性弄错了,真正的是:clk是output, led是input

其中包含两个重要文件,第一个是板子文件,另一个是自己创建的verilog文件。对于板子文件要和自己的开发板相匹配,此外,对于本工程需要修改下板子文件(增加clk和led):

## Clock signal
#set_property -dict { PACKAGE_PIN E3    IOSTANDARD LVCMOS33 } [get_ports { CLK100MHZ }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100]
#create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { CLK100MHZ }];
set_property -dict { PACKAGE_PIN E3    IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100]
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { clk }];...## LEDs
set_property -dict { PACKAGE_PIN H5    IOSTANDARD LVCMOS33 } [get_ports { led }]; #IO_L24N_T3_35 Sch=led[4
#set_property -dict { PACKAGE_PIN H5    IOSTANDARD LVCMOS33 } [get_ports { led[0] }]; #IO_L24N_T3_35 Sch=led[4]
#set_property -dict { PACKAGE_PIN J5    IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; #IO_25_35 Sch=led[5]

自己创建的.v文件为:

module blink(input clk,output led);reg [24:0] count = 0;
assign led = count[24];
always @ (posedge(clk)) count <= count + 1;endmodule

这样blink工程实现的功能便是:周期性的控制开发板上的LED0闪烁

2) 编译烧写:

接下来便是编译+烧写,编译需要先点击三角形(RUN)进行编译,然后再点击三角形右边的(create bitstream)产生*.bit文件,如果没有错误在messages中不会有错误提醒。接着左下角的PROGRAM AND DEBUG栏目中选择Open Hardware Manager进行连接开发板(连接时选择auto连接,如果找不到开发板,则说明其他哪里有问题):

烧写的时候点击左下角PROGRAM AND DEBUG区域中的program device便可:

此时点击Flow Navigator中的RTL ANALYSIS的Schematic会产生我们编写代码对应的原理图:

注:更详细的烧写方法见LINK-6,bit烧写掉电会没有,bin烧写会掉电保持

LINKS

[1].Artix-7 35T Arty FPGA 评估套件官网
[2].vivado license在ubuntu上安装
[3].board fils下载地址
[4].Installing Vivado and Digilent Board Files
[5].Getting Started with Vivado
[6].Arty Programming Guide
[7].Programming Digilent FPGA Boards Through Multisim

@beautifulzzzz
智能硬件、物联网,热爱技术,关注产品
博客:http://blog.beautifulzzzz.com
园友交流群:414948975

[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习相关推荐

  1. [FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集芯片验证

    目录 1.简介 2.深入 3.DEMO 4.SiFive基于risc-v指令集的芯片验证 LINKS 时间 作者 版本 备注 2018-10-09 08:38 beautifulzzzz v1.0 到 ...

  2. FPGA之道(42)FPGA设计的分类

    文章目录 前言 设计的分类 按功能分 按面向分 按速度和规模分 按速度分 按规模分 按速度.规模分 前言 本文摘自<FPGA之道>,一看来学习下作者的看法. 设计的分类 抛开应用背景.科研 ...

  3. FPGA之道(18)FPGA设计的编译过程

    文章目录 前言 FPGA设计的实现过程 编译概述 编译流程之综合 综合的输入 HDL代码 综合设置 综合的输出 综合的工具 编译流程之翻译融合 翻译融合的输入 翻译融合的输出 翻译融合工具 编译流程之 ...

  4. FPGA之道(17)FPGA设计的时序分析

    文章目录 前言 FPGA设计的时序分析 一.时序分析的概念和必要性. 二.时序分析的分类 三.时序分析工具介绍. 四.时序约束与时序分析的关系. 五.时序分析的好处与隐患. 六.时序分析环节的输出. ...

  5. FPGA之道(12)FPGA芯片的配置方式

    文章目录 前言 FPGA芯片的配置方法 主动配置模式 被动配置模式 JTAG配置模式 前言 Xilinx公司FPGA芯片的配置方法在调试阶段可以通过JTAG的方式将bit流文件烧写(编程)进FPGA芯 ...

  6. 《FPGA全程进阶---实战演练》第一章之如何学习FPGA

    对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...

  7. (126)FPGA面试题-做了哪些FPGA时序约束?

    1.1 FPGA面试题-做了哪些FPGA时序约束? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-做了哪些FPGA时序约束: 5)结束语. 1.1.2 ...

  8. c语言转fpga原理,要想玩转FPGA,就必须理解FPGA内部的工作原理-可编程逻辑-与非网...

    FPGA(Field-Program mable Gate Array),即现场可编程门阵列,它是在 PAL.GAL.CPLD 等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领 ...

  9. FPGA 的基本结构(RAM/FPGA/SOC)

    FPGA 的基本结构 FPGA 可编程的特性决定了其实现数字逻辑的结构不能像专用 ASIC 那样通过固定的逻辑门电路来完成,而只能采用一种可以重复配置的结构来实现, 而查找表(LUT)可以很好地满足这 ...

最新文章

  1. matlab textsac函数,哈工大-Matlab--2013年春季学期《MATLAB语言及应用》试题
  2. shell脚本中常见的一些特殊符号和作用详解
  3. bootstrap轮播图怎么居中
  4. java finalize逃脱_关于Java中的finalize()方法
  5. Android版添加phonegap--websocket客户端插件教程
  6. B+树 范围查询_为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?
  7. First Kernel-pwn
  8. 数据库设计方法、规范和技巧
  9. (转)战斗bug技巧全攻略
  10. android sqlite配置,60. (android开发)SQLite作为APP应用的配置打包
  11. webview android 加载网页,关于webview:如何在android中离线加载网页
  12. 夜游神安卓模拟器安装
  13. python非技术面试题宝典
  14. IT研发人员的四种工作
  15. 怕研究生碌碌无为?那应该好好看看这篇文章
  16. 基于OpenCV的混凝土裂纹检测
  17. 科大讯飞SDK的使用
  18. C/C++: “error: stray ‘\357’ in program“问题及其解决方法
  19. C语言单链表冒泡排序
  20. MySQL总结-最全

热门文章

  1. 关于子网划分、子网聚合(超网)的研究
  2. 马云对话创业者:我不喜欢人工智能,机器应做人类做不到的事
  3. 简易的Java版 eval()函数
  4. 【产品经理学习笔记 | 巨详细】2.规划阶段——2.1需求收集:用户访谈和问卷调查方式
  5. java,判断一个整数是质数还是合数.
  6. datadog windows 环境安装
  7. 易基因技术推介|高通量单细胞甲基化测序技术介绍(sc-RBS)
  8. firebox插件制作
  9. 404 jpeg图片_nginx中获取图片抛404错误
  10. BBC:关于睡眠你应该知道的十件事