Spartan Edge Accelerator Board 入门教程

更多分享内容可访问我的个人博客

https://www.niuiic.top/

本文介绍一块 FPGA 开发板——Spartan Edge Accelerator Board。也称Spartan-7 FPGA开发板或SEA-S7。

在这里插入图片描述

选择与不选择理由

优点

  1. 便宜。整板价格在200-300元之间,且可以不需要下载器。
  2. 性能好。比起几百块级别的入门板性价比相当高。规格参数可以翻阅官方的文档。英文 中文
  3. 可以使用vivado。vivado不兼容Spartan6(常见的入门板)但兼容Spartan7。
  4. arduino和FPGA的结合体,看起来像低配版的FPGA ZYNQ(arm + FPGA)。
  5. 提供用封装好的arduino接口。方便arduino用户入门。

缺点

  1. 没有详细的文档,更没有视频教程。绝对不适合没有任何经验的FPGA小白以及自学能力不够强的新手。
  2. 比一般的以教学为目的的入门板少了很多外设。

Hello World

下面以一个blink项目为例,介绍该开发板的使用。

官方的文档上有入门教程,不过好久没维护了,一些链接也没了,有兴趣折腾的可以搞一下。

硬件准备

  1. 开发板。
  2. 一根Type-C数据线。
  3. [可选] Platform Cable USB II (JTAG接口的FPGA下载器)。
  4. 一张SD卡(外加读卡器)。

软件准备

  1. arduino IDE。
  2. vivado(免费的webpack版也支持Spartan-7)。
  3. CP2102 USB驱动,可以前往这里下载。

软硬件设置

首先明确是要将开发板当作独立的FPGA使用,所以arduino的部分只是辅助。

硬件

首先找到板子上唯一一个跳线帽。这里标有PWR_MODE,可以设置电源模式。如果将该开发板作为arduino的扩展板使用,可以通过设置PWR_MODE为off来隔离系统电源,同时给两块板供电。现在只是作为独立的FPGA使用,暂时不用管。

然后找到跳线帽旁边的一排拨码开关。新买的板子应该在上面有一层塑料膜封着,将其揭开。将Slave下的拨码开关向上推,也就是推向Slave。这里是设置向FPGA写入比特流的方式。当前设置为arduino部分将SD卡中的比特流文件写入FPGA。这样就不需要下载器。

将SD卡格式化为FAT16或FAT32文件系统。

软件

启动arduino IDE。在文件-首选项-附加开发板管理器网址处设置https://dl.espressif.com/dl/package_esp32_index.json

工具-开发板-开发板管理器中找到 esp32 并下载安装。

安装完成后,在工具-开发板中选择DOIT ESP32 DEVKIT V1

现在测试一下是否可以与开发板正常通信。

用Type-C线连接开发板与电脑。可以使用设备管理器(windows)或者(lsusb linux)查看是否连接上。也可以在arduino IDE中查看工具-端口,看是否连接上。

注意开发板应上电(检查电源开关),驱动程序应安装,Type-C线应可传数据。

接下来向arduino部分中烧录向FPGA写入比特流的程序。

下载已经写好的库。在arduino IDE中通过项目-加载库-添加.ZIP库将库导入。

使用文件-打开打开01LoadDefaultBitstream.ino文件。这就是需要的程序文件。

接下来,将工具-Upload Speed设置为115200。使用项目-上传下载程序到开发板。

至此,arduino辅助下载FPGA比特流文件的部分已经完成。

Blink

下载官方例程库。找到其中的Hello-World/FPGA/Verilog/HelloWorld-Verilog。使用vivado打开该项目。修改以下文件内容。

Hello-World.v

`timescale 1ns / 1ps

module Hello_World(
    input clk,
    output reg signal_2
    );
    
    reg [32:0] m;

    always @(posedge clk) begin
        m = m + 1;
        if (m == 100000000) begin
            signal_2 = signal_2 == 1 ? 0 : 1;
            m = 0;
        end
    end
endmodule

system.xdc

set_property -dict {PACKAGE_PIN H4 IOSTANDARD LVCMOS33} [get_ports clk]
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {clk}];

set_property IOSTANDARD LVCMOS33 [get_ports {signal_2}]
set_property PACKAGE_PIN J1 [get_ports {signal_2}]
set_property PULLDOWN true [get_ports {signal_2}]

直接使用generate bitstream生成比特流文件。将位于HelloWorld-Verilog.runs\impl_1下的比特流文件Hello_World.bit复制到SD卡根目录下的overlay目录下,并改名为default.bit

断开开发板与电脑的连接,将SD卡插入开发板,再连接开发板与电脑。

不出意外的话就可以看到位于右上角的LED灯闪烁。

此后如果要写入新的比特流文件,还是需要按照上述操作,将文件放到SD卡中然后改名。

这种写入方式非常麻烦。熟悉arduino的用户可能可以尝试通过串行通信直接把电脑上的文件传给FPGA。

鉴于Platform Cable USB II的价格并不高(便宜的大概100多)。建议嫌麻烦的还是通过Platform Cable USB II连接开发板右上角的JTAG接口直接用vivado下载比特流文件(注意要先把前面的Slave设置回来)。

总结

初步使用之后个人感觉这块板子还是挺不错的,用来玩一玩谐波分析和图像识别还是挺适合的。

PCB可以从官方文档处下载。有问题可以到他们的论坛提问。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spartan-6手册是Xilinx公司发布的一本关于Spartan-6系列FPGA芯片的详细指南。Spartan-6是Xilinx公司的第六代FPGA产品,具有良好的性能和低功耗特性,在各种应用中广泛使用。手册的目的是为开发人员提供关于Spartan-6芯片的全面信息,帮助他们正确地设计和开发电路。 这本手册包含了Spartan-6芯片的各种规格和功能,如芯片的架构、逻辑元件、存储器、时钟管理、高级时钟控制等。它还提供了与其他组件的接口信息,例如高速串行接口、通用I/O接口等。此外,手册还包含了Spartan-6芯片的编程和配置指南,介绍了使用Xilinx设计工具的方法和步骤。 Spartan-6手册提供了丰富的示例代码和应用实例,帮助开发人员理解和掌握Spartan-6芯片的各种应用场景。通过手册中的实例,开发人员可以学习如何使用Spartan-6实现不同的功能,如数字信号处理、图像处理、通信接口等。手册还提供了丰富的调试和故障排除信息,有助于开发人员解决遇到的问题。 总之,Spartan-6手册是一本非常重要的参考资料,对于工程师和学习者来说都是不可或缺的。它提供了全面的Spartan-6芯片的信息和指南,帮助开发人员正确地设计和开发基于Spartan-6的电路。无论是初学者还是有经验的开发人员,手册都能为他们提供必要的知识和技术支持,使他们能够充分利用Spartan-6芯片的优势,实现各种应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值