http://www.xess.com/prods/prod048.php XuLA

http://www.xess.com/prods/prod055.php XuLA2

http://www.xess.com/manuals/XuLA-manual.pdf

FPGA

The programmable logic device on the XuLA Board is either a XILINX 200,000-gate
XC3S200A Spartan 3A FPGA in a 100-pin VQFP, or a 50,000-gate XC3S50A.

Microcontroller

The XuLA Board uses a Microchip 18F14K50 PIC to perform the following functions:
Reset & initialization: Upon power-up or assertion of the reset, the microcontroller
initiates the configuration of the FPGA from the Flash and holds the FPGA in its
cleared state if the configuration fails. It instantiates its USB endpoints and
participates in the USB enumeration process.
Clock generation: The microcontroller uses its pulse-width modulation (PWM) circuitry
to generate a 12 MHz square-wave that enters one of the FPGA's global clock
inputs.
USB-to-JTAG communication: The microcontroller accepts configuration bitstreams and
data as packets over the USB link and transforms these into a sequence of
transitions upon the FPGA's JTAG pins. It also receives data from the FPGA
through the JTAG port which it bundles into packets for return through the USB
link.

SDRAM

The XuLA Board incorporates an 8M x 16 SDRAM (Winbond W9812G6JH) that connects to
the FPGA as shown below. To compensate for circuit delays, the clock signal to the
SDRAM is re-routed back to a global clock input so the FPGA can synchronize itself with
the SDRAM.

Because of the limited number of pins provided by the FPGA's package, the following
modifications were made to the SDRAM interface:
The chip-select (CS#) is tied low so the SDRAM is always enabled.
The clock-enable (CKE) is tied high so the SDRAM always requires a clock signal in
order to keep its data refreshed.
Both data qualifier mask enables (DQMH and DQML) are tied low to disable byte-wide
access to the SDRAM, so all operations involve the entire sixteen-bit data width.
A single FPGA pin drives both bank-select inputs (BS0 and BS1). This reduces the
accessible region of the SDRAM by half to 4M x 16.

Flash

The XuLA Board has a 2-Mbit SPI Flash (Winbond W25X20BV) that connects to the FPGA
as shown below.

Due to the limited I/O of the FPGA package, the Flash and SDRAM chips share some of
the FPGA pins. In combination with the SDRAM being permanently enabled (its chip-select
is always asserted), this means that the Flash and SDRAM cannot be used simultaneously.
Therefore, the following events occur when the XuLA Board comes on:
1. The microcontroller puts its FLASH-DISABLE output into a high impedance state and
pulses the FPGA's PROG# pin to initiate the configuration from the Flash.
2. The FPGA lowers its CSO_B pin to enable the Flash, and then uses its CCLK, MOSI and
MISO pins to read the stored bitstream. Because the SDRAM is not active during the
FPGA's configuration (SDRAM-CLK is inactive since the FPGA is not configured), it
doesn't matter if the SDRAM address and control pins are toggling.
3. Once the Flash delivers its bitstream, the FPGA's DONE pin is asserted. The
microcontroller senses this and drives its output pin high to de-assert the FLASHDISABLE signal,
thus turning the Flash off. The FPGA can't access the Flash any more,
but it can access the SDRAM without affecting the Flash.

It is possible to set a flag that prevents the microcontroller from disabling the Flash after
the FPGA is configured (as described here). Then the logic design loaded into the FPGA
can access the Flash, but it can no longer use the SDRAM (the toggling of the SDRAM
address and control pins might inadvertently corrupt the Flash contents).

5V Tolerance Issues

The CHAN* and CHAN-CLK pins connect directly to the pins of the FPGA which typically
use an I/O voltage of 3.3V. When driving the inputs of external 5V logic, you should check
that their VIH threshold is less than the VOH of the XuLA outputs. (This is true for most 5V
logic families.)
You must also take care not to exceed the input voltage rating of the FPGA pins when
they are driven by external 5V logic outputs. A common technique for protecting the
Xilinx FPGA pins is shown below. When presented with a voltage greater than 3.3V + 0.7V
= 4.0V, the protection diode built into the FPGA pin's circuitry conducts current and the
excess voltage is dropped across the 100Ω resistor. This keeps the voltage directly on the
FPGA pin from ever exceeding 4V, which is within tolerated limits. The resistor value
should be set so the current through the protection diode does not exceed 10 mA.

However, by default, the Xilinx Spartan-3A FPGA disables the protection diodes.
In order to enable these diodes, you can place the following text into your Xilinx ISE
project constraint file for every I/O pin that will be connected to 5V logic:

NET "input_name" IOSTANDARD = PCI66_3;

http://www.xess.com/manuals/XuLA2-manual.pdf

XuLA2 is an open-source FPGA development board, based on Xilinx Spartan-6 LX25 low cost FPGA.
The design provides 32MB SDRAM, micro-SD card slot, two voltage regulators, supervisory circuitry
based on PIC 18F14K50 microcontroller and USB port for programming the FPGA.

FPGA
The programmable logic device on the XuLA2 is a XILINX XC6SLX25 Spartan 6 FPGA in a
256-ball BGA package (FT256).
Microcontroller
The XuLA2 uses a Microchip 18F14K50 PIC to perform the following functions:
Reset & initialization: Upon power-up or assertion of the reset, the microcontroller
initiates the configuration of the FPGA from the SPI Flash and holds the FPGA in
its cleared state if the configuration fails. It instantiates its USB endpoints and
participates in the USB enumeration process.
Clock generation: The microcontroller uses its pulse-width modulation (PWM) circuitry
to generate a 12 MHz square-wave that enters one of the FPGA's global clock
inputs.
USB-to-JTAG communication: The microcontroller accepts configuration bitstreams and
data as packets over the USB link and transforms these into a sequence of
transitions upon the FPGA's JTAG pins. It also receives data from the FPGA
through the JTAG port which it bundles into packets for return through the USB
link.

SDRAM
The XuLA2 incorporates a 16M x 16 SDRAM (Winbond W9825G6JH) that connects to the
FPGA as shown below. To compensate for circuit delays, the clock signal to the SDRAM is
re-routed back to a global clock input so the FPGA can synchronize itself with the SDRAM.

SPI Flash and microSD Card
The XuLA2 has an 8-Mbit SPI Flash (Winbond W25Q80BV) and a microSD card socket that
connect to the FPGA as shown below. During FPGA configuration, the bitstream is read
from the SPI flash while the microSD card is disabled. After configuration, either the SPI
Flash or the microSD card can be accessed by lowering their respective chip-selects and
performing SPI read/write operations.

XuLA/XuLA2的更多相关文章

  1. Unity3D|-XLua热更新用法的大致流程

    xlua是由腾讯维护的一个开源项目,我们可以在github上下载这个开源项目并查看一些相关文档 官网:https://github.com/Tencent/xLua 配置文档:https://gith ...

  2. miniSpartan6, another Spartan 6 Kit

    http://thehardwarer.com/2013/05/minispartan-6-another-spartan-6-kit/ miniSpartan6 is an Opens Source ...

随机推荐

  1. VirtualBox与Genymotion命令行启动

    一.VirtualBox命令行启动 1.添加环境变量: %programfiles%\Oracle\VirtualBox 2.用VBoxManage查看已存在vmname|uuid命令: VBoxMa ...

  2. Java基础1,入门基础知识

    本文知识点(目录): 1.java简介    2.环境的搭建    3.关键字    4.标识符    5.注释    6.常量    7.进制的转换    8.变量    9.数据类型的转换    ...

  3. PlantUML——1.Hello

    官网: http://www.plantuml.com/ 第一步: 下载 plantuml.jar文件: 第二步:创建一个demo.txt文件(与plantuml.jar在同一目录),内容如下: @s ...

  4. alias命令别名

    笔者在看<鸟哥私房菜>时,突然看到这个命令,之前未接触过,故简单记录学习下,具体的大家可参见man手册.功能说明:设置指令的别名.语 法:alias[别名]=[指令名称]参 数 :若不加任 ...

  5. logstash参数配置

    input配置: file:读取文件 input { file{ path => ["/var/log/*.log","/var/log/message" ...

  6. django rest_framework比较完整的自定义实现样例

    里面有自定义的更新策略, 序列化时,考虑nest及显示. 很有参考意义. 然后,前端,可以考虑用angular.js或vue.js实现. 每次以token进行认证. url.py router = D ...

  7. IIS 部署nodejs

    1.Node.js 2.IIS的URL Rewrite模块 3.iisnode

  8. lr如何屏蔽全局变量的影响

    首先要熟悉C语言的全局变量和局部变量的含义: C语言中的变量详解 先说说变量的作用域,比如,在函数中,形参变量只是在被调用期间才分配内存单元,调用结束立即释放.这就说明形参变量只有在函授内才是有效的, ...

  9. thinkphp5.0 多层MVC

    ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计. 模型(Model)层 默认的模型层由Model类构成, ...

  10. XINCLUDE

    前言 导入外部xml文档,类似于php的include,将外部定义的dtd引入当前文件,因为引入外部实体具有局限性,所以使用xinclude来引入 语法 导入外部文档: <xi:include ...