[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习
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 评估套件学习相关推荐
- [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 到 ...
- FPGA之道(42)FPGA设计的分类
文章目录 前言 设计的分类 按功能分 按面向分 按速度和规模分 按速度分 按规模分 按速度.规模分 前言 本文摘自<FPGA之道>,一看来学习下作者的看法. 设计的分类 抛开应用背景.科研 ...
- FPGA之道(18)FPGA设计的编译过程
文章目录 前言 FPGA设计的实现过程 编译概述 编译流程之综合 综合的输入 HDL代码 综合设置 综合的输出 综合的工具 编译流程之翻译融合 翻译融合的输入 翻译融合的输出 翻译融合工具 编译流程之 ...
- FPGA之道(17)FPGA设计的时序分析
文章目录 前言 FPGA设计的时序分析 一.时序分析的概念和必要性. 二.时序分析的分类 三.时序分析工具介绍. 四.时序约束与时序分析的关系. 五.时序分析的好处与隐患. 六.时序分析环节的输出. ...
- FPGA之道(12)FPGA芯片的配置方式
文章目录 前言 FPGA芯片的配置方法 主动配置模式 被动配置模式 JTAG配置模式 前言 Xilinx公司FPGA芯片的配置方法在调试阶段可以通过JTAG的方式将bit流文件烧写(编程)进FPGA芯 ...
- 《FPGA全程进阶---实战演练》第一章之如何学习FPGA
对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...
- (126)FPGA面试题-做了哪些FPGA时序约束?
1.1 FPGA面试题-做了哪些FPGA时序约束? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-做了哪些FPGA时序约束: 5)结束语. 1.1.2 ...
- c语言转fpga原理,要想玩转FPGA,就必须理解FPGA内部的工作原理-可编程逻辑-与非网...
FPGA(Field-Program mable Gate Array),即现场可编程门阵列,它是在 PAL.GAL.CPLD 等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领 ...
- FPGA 的基本结构(RAM/FPGA/SOC)
FPGA 的基本结构 FPGA 可编程的特性决定了其实现数字逻辑的结构不能像专用 ASIC 那样通过固定的逻辑门电路来完成,而只能采用一种可以重复配置的结构来实现, 而查找表(LUT)可以很好地满足这 ...
最新文章
- matlab textsac函数,哈工大-Matlab--2013年春季学期《MATLAB语言及应用》试题
- shell脚本中常见的一些特殊符号和作用详解
- bootstrap轮播图怎么居中
- java finalize逃脱_关于Java中的finalize()方法
- Android版添加phonegap--websocket客户端插件教程
- B+树 范围查询_为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?
- First Kernel-pwn
- 数据库设计方法、规范和技巧
- (转)战斗bug技巧全攻略
- android sqlite配置,60. (android开发)SQLite作为APP应用的配置打包
- webview android 加载网页,关于webview:如何在android中离线加载网页
- 夜游神安卓模拟器安装
- python非技术面试题宝典
- IT研发人员的四种工作
- 怕研究生碌碌无为?那应该好好看看这篇文章
- 基于OpenCV的混凝土裂纹检测
- 科大讯飞SDK的使用
- C/C++: “error: stray ‘\357’ in program“问题及其解决方法
- C语言单链表冒泡排序
- MySQL总结-最全