Nexys4-DDR迁移指南:Nexys2

介绍

本指南描述了如何将针对Nexys2板的ISE或EDK项目迁移到Nexys4-DDR。

步骤1:更新项目

遵循本指南的第一步是将项目升级到ISE或EDK 14.7(如果它是在早期版本中设计的)。这在ISE和EDK中处理是不同的。

伊势项目

这可以通过在project Navigator 14.7中打开新项目来实现,然后允许工具自动更新。这通常是成功的,但如果项目特别旧,尝试升级IP核时可能会导致问题。如果您在升级项目时遇到问题,请尝试将问题发布到Digilent论坛

EDK项目

由于Spartan3E设计只能创建为PLB项目,您的设计将需要重新设计等效的AXI版本的PLB核心。这是因为Xilinx不支持7系列设备中的PLB总线。这可能需要您在EDK中从头创建一个具有同等功能的新项目。

由于EDK工具集的成熟,Digilent不再提供对其使用的支持。如果您需要Digilent的帮助,建议您将设计迁移到Vivado工具集。Nexys 4 DDR资源中心提供了许多示例项目和教程,可以帮助您熟悉Vivado。

第二步:瞄准Nexys4-DDR FPGA

接下来,您需要编辑项目设置,以便将Nexys4-DDR上的Artix-7 FPGA作为目标。将设备改为XC7A100T,封装改为CSG324,速度等级改为1。如果使用ISE,您将需要重新生成设计中的任何IP核。

步骤3:修改约束

您将需要更新设计的大头针约束。打开您的UCF文件和Nexys4-DDR主UCF文件(可用在这里),并将文件中的约束替换为主UCF中的约束。例如,假设Nexys2上的LD0约束如下:

NET "myled" LOC=J14 | IOSTANDARD=LVCMOS33;

Nexys4-DDR UCF对LD0有如下约束:

#NET "led<0>";# IO_L18P_T2_A24_15

然后,应该将UCF中的约束替换为Nexys4-DDR Master UCF中的约束。然后将NET名称替换为你的顶级端口的名称并取消注释:

NET "myled" LOC=H17 | IOSTANDARD=LVCMOS33;# IO_L18P_T2_A24_15

对于设计中的每个顶级端口,您都需要这样做。如果不清楚Nexys2上特定组件的哪个引脚对应于Nexys4-DDR上的哪个引脚,请尝试在下一节中查找您的组件,看看这样是否会清除问题。

步骤4:需要额外更改的组件

对Nexys4-DDR设计进行了一些硬件更改,这将影响您与某些组件的交互方式。如果您的Nexys2设计使用了下面的任何组件,您将需要阅读为了使设计适用于Nexys4-DDR,您需要进行哪些更改。

实例化的FPGA资源

任何实例化的FPGA原语(DSP片,pll, DDR寄存器等)将需要更新到7系列等效。请注意,为了反映Artix部分中7系列织物的变化,这些原语的使用可能发生了变化。您将需要参考Xilinx文档,了解您正在使用的FPGA的特定特性,以了解这种情况是否属实。新原语声明都可在7系列图书馆指南。

FX / 2连接器

Nexys4-DDR不再具有高密度/高速连接器。您必须删除通过FX/2连接器与设备通信的设计的任何方面,除非您可以修改设备以连接到Pmods代替。

Pmods

它不再可能在Pmod电源轨道上输出5V。需要5V电压的Pmods无法与Nexys4-DDR兼容。

德普/ DSTM

Nexys4-DDR不再支持通过USB进行德普或DSTM数据传输。如果你的设计使用这些方法中的一种向主机发送数据,那么它将需要修改,以使用不同的方法进行通信。可能的选项包括板载USB-UART, JTAG与实例化的BSCAN原语配对,以及以太网。如果你的设计包含一个微火焰处理器,那么最好的选择可能是以太网。不需要高带宽的非微火焰设计可以使用UART,这是最容易使用的。JTAG是最难实现的,但提供更快的数据速率(1MHz-~30MHz)。

用于数据传输的JTAG

如果您的设计使用JTAG使用BSCAN原语传输数据,那么您的设计/软件可能需要考虑到PROM不再存在于扫描链中这一事实。

并行Flash用于数据存储

Nexys4-DDR不再具有并行闪存。您将需要修改您的设计,以使用板载四spi flash或附加的microSD卡进行数据存储。

CellRAM

Nexys4-DDR不再使用CellRAM,取而代之的是128MBDDR2。如果您有一个使用CellRAM的非微火焰设计,那么您可以使用“SRAM到DDR”组件作为您的设计和DDR2之间的适配器。本组件描述在这里.这个组件不像CellRAM那样支持同步突发访问,所以如果你需要高带宽访问,你需要在你的设计中直接实例化内存接口生成器(MIG)。可以在“设计资源”一节中找到正确配置MIG使其与Nexys4-DDR上的内存一起工作的文件在这里

如果你有一个使用外部内存控制器(EMC)核心或Digilent定制的内存控制器核心的微火焰设计,那么你应该把它拿掉,用MIG替换它。这将大大增加你的Microblaze系统的性能。使用上面提到的文件来正确配置MIG。

UART

Nexys4-DDR已经用USB-UART桥接器取代了RS232连接器。这将更方便与更新的计算机通信。如果您的设计需要RS232端口,您可以尝试使用PmodRS232

PS / 2

Nexys4-DDR已经用USB主机连接器取代了PS/2连接器。这允许使用更新的鼠标和键盘,因为PS/2连接器不再很常见。板载微控制器将USB流量转换为PS/2信号,就像Nexys2上的那样。您不需要更改任何设计就可以与附加的USB鼠标或键盘进行通信。

VGA

Nexys4-DDR有12位VGA,而Nexys2有8位VGA。您可以将设计中的RGB数据的最有效位连接到Nexys4-DDR上的最有效位,然后将剩余的较低位驱动为零。另一个选择是更新您的设计,以生成12位视频数据,并利用额外的颜色分辨率。

步骤5:编程选项

Nexys4-DDR拥有与Nexys2不同的编程选项。这里是一个关于配置FPGA的方法改变的概述:

JTAG编程

JTAG编程仍然可以在Adept或iMPACT中完成,就像Nexys2一样。连接器现在是微型USB而不是微型USB。

内置闪存

Nexys4-DDR只保留了4- spi闪存,取消了平台和并行闪存。您可以使用与编写Nexys2程序相同的程序来编写iMPACT中的quadl - spi flash。Nexys4-DDR的4- spi flash的部件号为S25FL128S。你不能再编程的四spi flash从内行GUI在Windows。

可连接的内存

Nexys4-DDR可以通过存储在拇指驱动器或microSD卡上的位文件进行编程。只需将设备格式化为FAT32,并将.bit文件放在根目录中(只在设备上放置一个bit文件)。然后将设备连接到microSD连接器(J1)或USB-HOST端口(J5)。最后,将模式跳线设置为USB/SD,并使用JP2选择所需的设备。下次您powercycle板,FPGA将与您的位文件编程。

步骤6:利用新功能

Nexys4-DDR有许多您可能想要利用并在设计中使用的功能。以下是一个简短的列表:

  • 用于高密度数据存储的microSD卡
  • 12位VGA(从8位颜色增加)
  • 脉宽调制音频输出
  • 在PDM麦克风
  • 使用硬件SPI加速度计
  • IIC温度传感器
  • 额外的按钮/ led /开关
  • 8位7段显示(从4位增加)
  • 2 RGB led
  • 10/100以太网
  • 模拟输入通过XADC Pmod
  • 更高的密度/更高的带宽内存(DDR2)
  • USB-UART桥接器(取代RS232端口)
  • 更快的30MHz JTAG总线,更快的编程速度(从1.6MHz提高)
  • FPGA结构中有大量的新特性

还困吗?

如果您在将您的项目移植到Nexys4-DDR上仍然有困难,请将您的问题张贴在Digilent论坛,我们会尽最大努力让你的设计上线并运行。