The international electronic manufacturing industry is an enormous industry worth over $200 billion. The industry has grown at a rate of 25% annually for the last decade and shows no signs of stopping. With such rapid growth in just a few years, it’s not hard to see how quickly the electronic manufacturing market evolves. It changes in response to innovations and technological advances in development. Such is especially true in the FPGA market.
Xilinx is one of the largest FPGA manufacturers in the world, with more than 400 employees worldwide. Xilinx has been an industry leader in FPGAs since their inception with their first FPGA, the XL-3. Since then, they have continued innovating and developing new technologies. They help companies design their next-generation products with high-speed processing power and low power consumption.
The last couple of years have seen Xilinx releasing new FPGA products and various new boards for different markets led by Chinese firm RayMing PCB and Assembly. These boards help improve the industry’s ability to operate efficiently and securely behind closed doors, leading to safer, faster, more reliable products. Being able to use these boards and the FPGA devices themselves will vastly increase the value of the product design. Unfortunately, most products still end up being custom-built because of product, process, or materials constraints.
Difference between Xilinx and Altera
Xilinx (NASDAQ: XLNX) is an American publicly held semiconductor company founded in 1984. Altera (NASDAQ: ALTR) is an owned Denver-based manufacturer of programmable logic devices for FPGAs. Altera is the only semiconductor company to be part of the NASDAQ since its inception.
Xilinx has been manufacturing FPGAs for 25 years. Altera has been manufacturing programmable logic devices for 22 years.
Xilinx has been designing and selling FPGAs for 25 years. In those 25 years, they have become the focal point for high-performance FPGA products used in all major industry sectors. It includes communications, aerospace/defense, medical devices, industrial control systems, and many more.
Altera has been designing and selling programmable logic devices for 22 years. They have done so through their partnership with Intel, which they entered in 1991. The first FPGA product that Altera manufactured for Intel was the “IUS.” Likewise, Altera’s first programmable logic device was the EPM3000, which came out in 1994.
Xilinx manufactures programmable logic devices (FPGA). These devices consist of programming blocks that we can configure to different configurations using a computerized design tool. Once the design is ready, we can end it with a manufacturing process such as an automated router or panel fabrication. We can make FPGAs with regular size integrated circuits (IC) and regular electrical components. The advantage of using regular ICs and electrical components is that they can build large and complex designs.
What is Xilinx Spartan 3 FPGA?
The Xilinx Spartan-3 FPGA is an integrated circuit that we can use for a variety of purposes. The Spartan-3 FPGA consists of an Accel-FPGA device. It contains programmable logic and embedded memory. The Virtex-E FPGA has hardwired logic cores and memory blocks. We bring these two devices together by a PLD (programmable logic device) controller unit.
Xilinx continues to expand its embedded FPGA portfolio with tools that allow software development in C/C++, including a free environment for development. The tools are available when used with Xilinx’s programmable logic development boards, called Embedded Development Boards.
The Spartan-3 FPGA hardware components
This device contains programmable specific logic, embedded memory, and an input/output port. So, the programmable-specific logic allows for the customization of the device we use in various applications. The embedded memory does not hold any information about its contents or location. Instead, we control the hardware attributes through commands sent to the device using the Accel-FPGA interface.
Xilinx Virtex-E FPGA
This device’s design is specifically for use with the Accel-FPGA. It contains hardwired logic, embedded memory blocks, and an input/output port. The logic implemented in the device provides maximum bandwidth and performance to external circuitry on the board. The hardwired logic on the Virtex-E FPGA limits flexibility of the board. However, it provides faster performance than that of programmable logic on the Accel-FPGA. We control some of the hardware attributes through programmable logic on the Accel-FPGA. Also, we control them through commands sent to the Virtex-E FPGA using the Virtex-E interface.
In addition to the above hardware components, we refer to the board design software for this board as Code Composer Studio. This software is a tool that allows a registered Xilinx developer to create FPGA designs and modify them through a graphical interface, much like that of a software development kit (SDK). The software also allows the user to build the design into a bit file and download it to the FPGA board. Code Composer Studio uses the ISE for programming and debugging purposes.
Xilinx also makes available a free development environment for this FPGA board. The software, which we call the Xilinx Device Development System, provides a C/C++ programming environment for writing FPGA designs. It also allows the user to compile the design into a bit file downloaded to the board. The XDS is available for download at Xilinx’s website.
The Spartan-3 FPGA Software components
Several software elements are essential for product designers who want to use this particular FPGA board. The software components are:
1. Xilinx Cell-based Platform Development Kit (CP2K). This software tool allows the user to create C/C++ programs compiled into bit files that we can then program into a Xilinx FPGA device.
2. Xilinx ISE (Integrated Software Environment). Code Composer Studio includes this software and allows users to control the hardware through a graphical interface. It also allows the user to develop software for use with this board.
3. XILINX Virtex-E Programmer – This software allows the user to compile C/C++ code into bit files transferred to the Virtex-E FPGA.
4. Xilinx ISE Programming Model (IPM). This software tool is essential in programming the Spartan-3 FPGA board through Code Composer Studio.
5. Xilinx Embedded Development Board Emulator. This software allows users to run their programs on the FPGA board using an integrated MIPS processor. Again, we do the bug fixes through an Eclipse-based C/C++ development environment.
In addition to the software components listed above, additional we use software tools for simulation purposes. These tools include:
6. ModelSim HDL Simulator – Mentor Graphics initially invented a simulation tool, but Xilinx acquired it in 2001. It performs detailed simulations of the design during its development and debugging.
7. VCS (Verification and Constraints Shaping) – This tool speeds up the constraints debugging process.
8. CLPR (Code-Level Place and Route). This tool performs full-chip routing after thoroughly testing and debugging the design. We may need to use it after making changes to the design due to testing and bug fixing errors.
Features of Spartan 3 family
The Spartan-3 family supports the following features:
1. I/O Capabilities
The Spartan-3 FPGA has an expansion port plugs in one or more boards to plug into the expansion bus. The board connected to the expansion bus can include a processor, memory, and other peripherals. Together, the FPGA and board connected to the expansion bus can create a sizeable embedded system.
2. Logic Capabilities
The programmable logic of the FPGA contains resources such as memory blocks, DSP slices, and mega-flops. A mega-flop is a unit of logic that executes one million floating-point operations per second. We can use logic resources in FPGAs with multiple different combinations to fulfill different design needs.
3. Reduced pin count
We integrate the Spartan-3 family with many minimally-sized resources that reduce the pin counts on the design. For example, Xilinx has combined the DSP slices, memory blocks, resources for mega-flops with the programmable logic resources. The Spartan-3 family provides a 28 nm DSP block to implement highly efficient DSP algorithms.
The Spartan-3 family supports a RAM module that we can use to store a random access memory (RAM) block from Xilinx’s Offcore Memory Library. We place the RAM block between the processor and SRAM blocks of the computation region of the FPGA device. As a result, we configure the RAM block as a memory block that provides an additional storage area and additional random access memory to the components of the embedded system.
5. Low power consumption
The Spartan-3 family consumes less power than other FPGA families. For example, the device consumes less than 1 W of power when executing a 1 MHz operating point (BOD level). With heavy use, such as during simulation, the device still requires less than 0.5 W of power.
6. High Throughput and Large Capacity Memory Blocks
The Spartan-3 family supports a large RAM block that can store data, such as 1 GB of data, for storing large amounts of data during FPGA simulation. We can detach the RAM block from the main computation region to access and debug the memory block easily. We can configure the relative size of the RAM block using a configuration block at index 8 in the configuration file.
7. Optimized Logic Design
The logic of the Spartan-3 family has an optimization using Xilinx’s tools. This reduces the amount of logic needed to perform a specific task.
8. Fast Boot-Time
The Spartan-3 family has a fast boot time because it has an internal configuration memory loaded by the circuit board at the start-up. This speeds up the configurations process to allow users to start using their designs quickly.
9. Reduction of Existing Design Iterations
The Spartan-3 family can reduce existing design iterations due to design predictability. This happens because the device uses FPGA functionality rather than general-purpose logic elements. Reducing the number of iterations required to implement new designs reduces the time needed to re-design a design.
10. Support for a Variety of Applications
The Spartan-3 family supports various applications from low-frequency communication blocks. For instance, those used in modems to high-performance communication blocks in radios and communication equipment. In addition, the devices support low-frequency control functions. For example, those used in central processing units (CPUs), digital signal processing (DSP), high-frequency fixed-point DSPs, and floating-point DSPs.
Advantages of the Xilinx Spartan-3 FPGA Boards
The following are some of the areas of application for the Spartan-3 FPGA boards:
1. Low cost
The Spartan-3 family is inexpensive because it uses standard FPGA resources to reduce costs. By incorporating the DSP slices, memory blocks, resources for mega-flops with the programmable logic resources, the Spartan-3 family provides a 28 nm DSP block to implement highly efficient DSP algorithms.
2. The design is highly predictable
The Spartan-3 family reduces the number of iterations required to re-design a design by having the FPGA functionality rather than general-purpose logic elements, such as gate arrays and flip-flops. This reduces the time needed for re-designing a design and allows designers to continue to use their existing designs.
3. Support for a variety of applications
The Spartan-3 family supports various applications. For example, low-frequency communication blocks used in modems to high-performance communication blocks in radios and communication equipment. In addition, the devices support low-frequency control functions. For example, those used in central processing units (CPUs), digital signal processing (DSP), high-frequency fixed-point DSPs, and floating-point DSPs.
4. The design is highly optimized
The logic design of the Spartan-3 family is highly optimized, and we can implement and test in a matter of minutes. This allows the Spartan-3 family to work as a quick “turnaround” for new designs or an efficient testbed for existing designs.
5. Simplicity of design
With the inclusion of memory interfaces and RAM blocks, the Spartan-3 family provides device-level device configuration flexibility to designers allowing them to save re-designs and reduce their timeframe to bring new designs to market.
6. The design is highly flexible
The Xilinx Foundation Packages on the Spartan-3 family are essential for various applications, such as communication and computing equipment. In addition, the Foundation Packages support a variety of protocols and provide a collection of building block components to simplify the implementation process for designers.
7. The devices are available in different package styles
There are a variety of package styles to support different types of customers or application requirements. These package styles include:
a) We can use the XC3S500E and XC3S1000E devices by designers who require a low-cost device with low power requirements.
b) The XC3S1500E and the XC3S2000E devices incorporate 1 MB of onboard memory. Therefore, we can use them for applications, such as communication equipment.
8. We can program the in different styles
This allows the designers to select the style that best suits their needs. These programming styles include:
a) The Classic Programmer is available for programmers who want to program the device using the classic EDA flow.
b) The Black Box Programmer is available for programmers who use an engineering tool with an integrated design environment (IDE). We can use this integrated design environment (IDE) for program development.
9. The devices have onboard memory
The devices have onboard memory to allow users faster design development. The onboard memory allows designers to use standard development tools for device configuration and verification, such as the Xilinx ISE tools. The XC3S1500E and XC3S2000E devices also include 1 MB of onboard memory, storing data used during the simulation process.
10. The devices provide the ability to reconfigure dynamically
The devices provide the ability to reconfigure during design development dynamically. This allows designers to create new algorithms and algorithms as they implement new designs.
11. The devices support a wide range of standards
This includes standards such as:
a) IEEE Standard 1149.1, which provides for interfacing with microprocessors and microcontrollers;
b) IEEE Standard 1149.4, which provides for interfacing with memory devices;
c) IEEE Standard 754, which provides for the representation of floating-point numbers; and
d) IEEE Standard 1532, which provides a platform for testing programmable logic devices.
Xilinx Spartan-3 FPGA Boards limitations
1. Xilinx Foundation Packages are missing
The Xilinx Foundation Packages are not part of the Spartan-3 family. Unfortunately, this means that designers will have to purchase or use an existing Foundation Package.
2. The devices are not pinned compatible with the previous generation
Although the devices are pin-compatible, they represent a significant change in functionality and performance compared to previous devices. Because of this, the Xilinx Foundation Packages developed in the prior generation devices will not work on the Spartan-3 family.
3. The devices have a limited number of user I/Os
These devices have a limited number of user I/Os because of the resources optimization for DSP and Mega-flops. This means that designers will have to use the resources carefully and develop a logical design that uses these resources effectively.
4. We can only use the devices with the Xilinx ISE tools
The Spartan-3 family of devices can only work with the Xilinx ISE tools. These tools allow designers to program and configure the device using an integrated development environment (IDE).
Xilinx Spartan-3 FPGA Boards Applications
1. Communication equipment
The devices provide one of the smallest fully configurable, configurable logic solutions for communication equipment. This typically includes high-speed data processing, low-power processing, and memory interface applications.
2. Fixed function digital signal processor (DSP)
The devices allow designers to implement custom algorithms for performing DSP processing. This can include systems management, equalization, signal processing, voice/data compression/decompression, DLL programming, and digital filters.
3. High-end application processing
The devices allow designers to implement custom algorithms for performing high-end application processing. This can include high-speed digital signal processing, advanced high-speed data acquisition, and advanced high-speed data acquisition systems.
4. Designs with onboard memory
The devices allow designers to create designs that use memory efficiently and cost-effectively. This includes designs requiring embedded systems and designs requiring low-power production processes.
5. Designers of programmable logic devices
The devices allow designers to use the Spartan-3 family as a development platform for creating new or next-generation tools like FPGA configuration and simulation. We can do this using the Xilinx free WebPACK Design Suite, an ISE tool available online at www.xilinx.com.
6. Designers of timesharing systems
The devices allow designers to create designs that use memory efficiently and cost-effectively. This includes design environments that include a processor, DSP, or any other type of core that we can configure for different tasks.
7. Designs that use the Xilinx library for analog signal processing
The devices allow designers to create more efficient designs using the Xilinx library for analog signal processing packages. This can make serial communications more efficient by enabling higher-speed sampling rates.
8. Designers of industrial control equipment
The devices allow designers to create designs that use memory efficiently and cost-effectively. This includes designs that require industrial control equipment that interfaces with the low-voltage power supplies used in industrial environments.
9. Designs that use the Xilinx RAMLink architecture
The devices allow designers to create designs with simpler access to memory I/O resources because of the onboard memory. We can do this by eliminating complex memory I/O network design and replacing it with SIMMs or latches.
Xilinx Spartan-3 FPGA Boards
Common specifications include:
- Made In Japan
- RoHS compliance
- Tested all I/O
- Compact size 2.087″ x 2.126″ (53 x 54 mm)
- High-quality four-layer PCB. (Immersion gold)
- 3.3 V single power supply operation with onboard 1.2 V/2.5 V regulators
- JTAG buffer for stable download or debug
- JTAG port (7 pin Header)
- Power-on Reset IC
- Two Status LEDs (Power, Done)
- One User Push-Button Switch or One User LED (Selectable)
- Three User LEDs.
- 48 MHz Oscillator (50 ppm) or External
- 56 I/O PAD 100 mil (2.54 mm) grid
- Configuration Device Platform Flash
[XCM-001] Xilinx Spartan-3 PQG208 FPGA board :XC3S400-4PQG208C
XC3S400: 4 DCMs, 16 Multipliers, 288 K Total Block RAM Bits, 100 Maximum user I/O pins (Board), 141 Maximum user I/O pins (Device), 56 K Maximum Distributed RAM Bits, 8,064 Logic Cells, and 400 K System Gates
Xilinx Spartan-3 VQG100 FPGA board :XC3S200-4VQG100C
XC3S200: 4 DCMs, 12 Multipliers, 216 K Total Block RAM Bits, 56 Maximum user I/O pins (Board), 63 Maximum user I/O pins (Device), 30 K Maximum Distributed RAM Bits, 4,320 Logic Cells, and 200 K System Gates
The growing popularity of FPGA devices, such as the Xilinx Spartan-3 family of devices, is due to their ability for a wide range of design applications. The devices provide the ability of designers to use a variety of design methodologies. They include advanced digital signal processing using Classic Programmer, embedded systems using the Black Box Programmer, and development platforms for new or next-generation FPGA design tools.