This project is concerned with the
design of SoC for detecting and correcting the error which may occur in the memory unit due to
radiation in LEO (Lower Earth Orbit) and due to stuck-at faults in memory unit in space station.
The error free data is feed to the predestined processor using the serial communication protocol
(UART) and perform its function specified in the data input which is sent from the ground station.
2. Abstract
The emerging developments in semiconductor technology have made possible to design entire sys-
tem onto a single chip, commonly known as System-on-Chip (SoC).This drives the semiconductor
manufacturing industry to the integration of multiple complex components in a single chip. This
is achieved by integrating all the components into a single chip. This project is concerned with the
design of SoC for detecting and correcting the error which may occur in the memory unit due to
radiation in LEO (Lower Earth Orbit) and due to stuck-at faults in memory unit in space station.
The error free data is feed to the predestined processor using the serial communication protocol
(UART) and perform its function speciļ¬ed in the data input which is sent from the ground station.
The increases in Space Systems capabilities kindled by the On-board data processing capabilities
can be overcome by optimizing the SoCs to provide cost effective, high performance, and reli-
able data. The design of Telecommand system for transfer of signals from ground station to space
station by the integration of SRAM (Static Random Access Memory), Telecommand processor.
i
7. LIST OF ABBREVIATIONS
ECC Error Control Coding
EDAC Error Detection And Correction
EDO Extended Data Output
FEC Forward Error Correction
FPGA Field Frogrammable Gate Array
IP Intellectual Protocol
LEO Low Earth Orbit
OBS On Board System
SEU Single Event Upset
SoC System On Chip
SRAM Static Random Access Memory
UART Universal Asynchronous Receiver Transmitter
VLSI Very Large Scale Integration
i
8. Chapter 1
INTRODUCTION
A system on a chip or System-on-Chip (SoC or SOC) is an Integrated Circuit (IC) that integrates
all components of a computer or other electronic system into a single chip. It is a collection of all
components and subcomponents of a system on to a single chip[1]. SoC design allows high perfor-
mance, good process technology, miniaturization, efļ¬cient battery life time and cost sensitivities.
This revolution in design had been used by many designers of complex chips, as the performance,
power consumption, cost, and size advantages of using the highest level of integration made avail-
able have proven to be extremely important for many designs. The emerging technologies in the
ļ¬eld of semiconductors, along with the use of the SoC design, have made this possible. System
development based on the use of a core-based architecture, where the reusable cores are inter-
connected by means of a standard on-chip bus, which is the most common way to integrate the
cores into the SoC[2] .This design methodology has been proven to be very effective in terms of
development time and productivity since it reuses existing Intellectual Property (IP) cores[3]. In
a SoC design which uses multi-million gates the design and test engineers face various problems
such as signal integrity problems, heavy power consumption concerns and increase in testability
challenges. The semiconductor industry has continued to make impressive improvements in the
achievable density of very large-scale integrated circuits. In order to keep pace with the levels of
integration available,design engineers have developed new methodologies and techniques to man-
age the increased complexity inherent in these large chips .One such emerging methodology is SoC
design, wherein predesigned blocks called IP blocks, IP cores or virtual components are obtained
from internal sources or third parties and combined into a single chip. These reusable IP cores may
include embedded processors, memory blocks, interface blocks, analog blocks and components
that handle application speciļ¬c processing functions[1]. The corresponding software components
are also provided in reusable forms which include real time operating systems, kernels, library
functions and device drivers.
1
9. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
1.1 What is SoC ?
1. The VLSI manufacturing technology advances has made possible to put millions of transis-
tors on a single die. It enables designers to put systems-on-chip that move everything from
the board onto the chip eventually.
2. SoC is a high performance microprocessor, since we can program and give instruction to the
uP to do whatever you want to do.
3. SoC is the efforts to integrate heterogeneous or different types of silicon IPs on to the same
chip, like memory, uP, random logics, and analog circuitry.
DEPT OF ECE, JCE, BELAGAVI 2
10. Chapter 2
SoC DESIGN METHODOLOGY
Every technological improvement in the integrated circuit industry is followed by the development
of new design technology. The design methodologies can be grouped into the following Categories:
ā¢ Area-Driven Design
ā¢ Timing Driven Design
ā¢ Block-Based Design
ā¢ IP- Core Based Design
ā¢ Platform Based Design
In this Project Report, the IP core Based Design Methodology is used. Since each and every
component is being checked by itself it is easy to integrate them. It facilitates timing closure and
functional correctness and also it meets the need of many different designs thereby enhancing the
conļ¬gurability.
3
11. Chapter 3
Design Architcture
In this Project Report an On-Board System (OBS) of a small Satellite is implemented in the form
of a telecommand SoC. Soft IP cores written in the hardware description language VHDL (Verilog
Code) are used to build the SoC. The resulting subsystem is the integration of SRAM, and Teleme-
try and Telecommand Processor (EDAC Unit) was designed. The Block Diagram of the design is
shown in Fig. 3.1 The telecommand input data is send from ground station to the space station it is
given as input to the SRAM . In space applications it is well known that in Low Earth Orbit (LEO)
stored digital data suffers from SEUs. These upsets are induced naturally by radiation. Bit-ļ¬ips
caused by SEUs are a well-known problem in memory chips and error detection and correction
techniques have been an effective solution to this problem. For the secure transaction of data be-
tween the CPU of the on board computer and its local RAM, the program memory has generally
been designed by applying the Hamming code in the error detection and correction unit so that
the errors can be detected and corrected and the resultant output will be a error free data[4]. The
resultant error free data is fed to the processor ,so that it will process the error free data and also it
will collect all the on -board data signals and produce the resultant data output.
Figure 3.1: Block diagram of soc design
3.1 Design of SRAM
Static random-access memory (SRAM) is a type of semiconductor memory that uses bistable latch-
ing circuitry to store each bit. The Dynamic RAM memory can be deleted and refreshed while
running the program, where as Static RAM is not possible to refresh the programs. But it is still
volatile in the conventional sense that data is eventually lost when the memory is not powered.
4
12. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
Fig3.2 Block diagram of 2K x32 bit SRAM The basic architecture of a static RAM includes one
or more rectangular arrays of memory cells with support circuitry to decode addresses, and im-
plement the required read and write operations[5]. The block diagram of 2k x 32 bit SRAM is
shown in Fig.3.2. SRAM memory arrays are arranged in rows and columns of memory cells called
wordlines and bitlines, respectively. Each memory cell has a unique location or address deļ¬ned
by the intersection of a row and column, which is linked to a particular data input/output pin. The
total size of the memory, the speed at which the memory must operate, layout and testing require-
ments, and the number of data inputs and outputs on the chip determines the number of arrays on
a memory chip. Memory arrays are an essential building block in any digital system. The aspects
of designing an SRAM are very vital to designing other digital circuits. The majority of space
taken in an integrated circuit is the memory. Consider an Nxn SRAM array where āNā indicates the
number of bytes and ānā indicates the byte size. The size of an SRAM with m address lines and n
data lines is 2/m words, or 2/ m x n bits.
Figure 3.2: Block diagram of 2k x32 bit sram
3.2 Why use an SRAM?
There are many reasons to use an SRAM or a DRAM in a system design. Design tradeoffs include
density, speed, volatility, cost, and features. All of these factors should be considered before you
select a RAM for your system design.
ā¢ Speed: The primary advantage of an SRAM over a DRAM is its speed. The fastest DRAMs
on the market still require ļ¬ve to ten processor clock cycles to access the ļ¬rst bit of data.
Although features such as EDO and Fast Page Mode have improved the speed with which
subsequent bits of data can be accessed, bus performance and other limitations mean the
processor must wait for data coming from DRAM. Fast, synchronous SRAMs can operate
DEPT OF ECE, JCE, BELAGAVI 5
13. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
at processor speeds of 250 MHz and beyond, with access and cycle times equal to the clock
cycle used by the microprocessor. With a well designed cache using ultra-fast SRAMs,
conditions in which the processor has to wait for a DRAM access become rare.
ā¢ Density: Because of the way DRAM and SRAM memory cells are designed, readily avail-
able DRAMs have signiļ¬cantly higher densities than the largest SRAMs.
ā¢ Volatility: While SRAM memory cells require more space on the silicon chip, they have
other advantages that translate directly into improved performance. Unlike DRAMs, SRAM
cells do not need to be refreshed. This means they are available for reading and writing data
100% of the Time.
ā¢ Cost: If cost is the primary factor in a memory design, then DRAMs win hands down. If,
on the Other hand, performance is a critical factor, and then a well-designed SRAM is an
effective cost performance solution.
ā¢ Custom features: Most DRAMs come in only one or two ļ¬avors. This keeps the cost down,
but doesnāt help when you need a particular kind of addressing sequence, or some other cus-
tom feature. SRAMs are tailored, via metal and substrate, for the processor or application that
will be using them. Features are connected or disconnected according to the requirements of
the user. Likewise, interface levels are selected to match the processor levels. Provides Pro-
cessor speciļ¬c solutions by producing a chip with a standard core design, plus metal mask
options to deļ¬ne feature sets.
DEPT OF ECE, JCE, BELAGAVI 6
16. Chapter 4
TELECOMMAND and TELEMETRY
processor
Figure 4.1: Telecommand and Telemetry Processor
4.1 Design of TELECOMMAND and TELEMETRY Processor
Unit
Error Correction Codes (ECC) and error detection and correction (EDAC) schemes have been
implemented in memory designs to tolerate faults and enhance reliability[9]. Extra check bits
(parity bits) have to be stored along with the information bits, so the hardware overhead includes
the encoding decoding circuit and the memory space for check bits. ECC can protect the memory
from attacks of hard and soft errors. The modiļ¬ed Hamming Code are the most widely used Single-
9
17. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
Error Correctable codes. Here we are using extended Hamming code where we use a overall parity
bit in addition to remaining bits. The code word format is shown in Fig 4.2.
Figure 4.2: : ECC Code word format
4.2 Hamming Code
Hamming code error detection and correction methodology is used for error free communication.
In communication system[3] .The transmitted and received data between source and destination
may be corrupted due to any type of noise. In order to ļ¬nd the original transmitted data we use
Hamming code error detection and correction technique[6]. In hamming code error detection and
correction technique to get error free data at destination, we encrypt information data according
to even and odd parity method before transmission of information at source end. Hamming codes
are still widely used in computing telecommunication and other applications[8] .lt is also applied
in data compression and block turbo codes. Because of the simplicity of Hamming codes they are
widely used in computer memory. The hamming code representation of various data bits are shown
in TABLE 4.1. belongs to the family of (n, k) linear block codes where
Block length (n) =2^m 1....... (1)
Number of message bits (k) =2^m-m-1......... (2)
Number of parity bits (m) = n-k ...........(3)
Table 4.1: Hamming code bits representation
DATA BITS CHECK BITS TOTAL BITS
1 2 3
4 3 7
7 4 11
8 4 12
32 6 38
64 7 71
DEPT OF ECE, JCE, BELAGAVI 10
18. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
4.2.1 Error Correction
Use of simple parity allows detection of single-bit errors in a received message. Correction of these
errors requires more information, since the position of the corrupted bit must be identiļ¬ed if it is to
be corrected. (If a corrupted bit can be detected, it can be corrected by simply complementing its
value.) Correction is not possible with one parity bit since any bit error in any position produces
exactly the same information, i.e., error. If more bits are included in a message, and if those bits
can be arranged such that different corrupted bits produce different error results, then corrupted
bits could be identiļ¬ed.
Forward error correction (FEC).Digital communication systems, par particularly those used in
military, need to perform accurately and reliably even in the presence of noise and interference.
Among many possible ways to achieve this goal, forward error-correction coding is the most
effective and economical. Forward error-correction coding (also called channel coding) is a type
of digital signal processing that improves reliability of the data by introducing a known structure
into the data sequence prior to transmission. This structure enables the receiving system to detect
and possibly correct errors caused by corruption from the channel and the receiver. As the name
implies, this coding technique enables the decoder to correct errors without requesting retransmis-
sion of the original information. Hamming code is a typical example of forward error correction.
In a communication system that employs forward error-correction coding, the digital information
source sends a data sequence to an encoder. The encoder inserts redundant (or parity)bits, thereby
outputting a longer sequence of code bits, called a code word. These code words can then be trans-
mitted to a receiver, which uses a suitable decoder to extract the original data sequence.
4.3 Designing (n, k, t) Hamming Code
The (n, k, t) code refers to an n-bit code word having k data bits (where n > k) and r (=nk) error-
control bits called redundant or redundancy bits with the code having the capability of correcting t
bits in the error (i.e., t corrupted bits). If the total number of bits in a transmittable unit (i.e., code
word) is n (=k+r), r must be able to indicate at least n+1 (=k+r+1) different states. Of these, one
state means no error, and n states indicate the location of an error in each of the n positions. So
n+1 states must be discoverable by r bits; and r bits can indicate 2r different states. Therefore, 2r
must be equal to or greater than n+1: 2r e n +1 or 2r e k + r +1
The value of r can be determined by substituting the value of k (the original length of the data
to be transmitted).
For example, if the value of k is 7, the smallest r value that can satisfy this constraint is 4: 24 e
7+4+1.
DEPT OF ECE, JCE, BELAGAVI 11
19. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
4.3.1 The (11, 7, 1) Hamming Code
The Hamming code can be applied to data units of any length. It uses the relationship between data
and redundancy bits discussed above, and has the capability of correcting single-bit errors.
For example, a 7-bit ASCII code requires four redundancy bits that can be added at the end of
the data unit or interspersed with the original data bits to form the (11, 7, 1) Hamming code. In
Table 4.2, these redundancy bits are placed in positions 1, 2, 4 and 8 (the positions in an 11-bit
sequence that are powers of 2). For clarity in the examples below, these bits are referred to as r1,
r2, r4 and r8.
In the Hamming code, each r bit is the parity bit for one combination of data bits as shown
below:
r1: bits 1, 3, 5, 7, 9, 11
r2: bits 2, 3, 6, 7, 10, 11
r4: bits 4, 5, 6, 7
r8: bits 8, 9, 10, 11
Each data bit may be included in more than one calculation. In the sequences above, for ex-
ample, each of the original data bits is included in at least two sets, while the r bits are included in
only one set.
Table 4.2: (11, 7, 1) Hamming code bit representation
4.4 Calculation of Redundancy Values
The redundancy bits generation is shown below
r1: bits 1, 3, 5, 7, 9, 11
r2: bits 2, 3, 6, 7, 10, 11
r4: bits 4, 5, 6, 7
r8: bits 8, 9, 10, 11
The Hamming code implementation for an ASCII character, in the ļ¬rst step, each bit of the
original character is placed in its appropriate position in the 11-bit unit. In the subsequent steps, the
even parities for the various bit combinations are calculated. The parity value for each combination
is the value of the corresponding r bit.
DEPT OF ECE, JCE, BELAGAVI 12
20. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
4.5 Syndrome Generation
The syndrome is the possibility of error which can be generate in the encoder. The syndrome
generation is performed by comparing the received parity bits and generated parity bits in the
decoder. The received parity bits are from P0 to P4 and the generated parity bits from P0 to P4 are
compared. If the bits in both paritys are mismatch (produce non zero output), then we can say that
there is an error. If it gives zero output, then there is no error in parity bits from P0 to P4 and data
bits from D1 to D7. The generated syndrome is sent to both the error logic and the decode logic to
detect and correct the error.
DEPT OF ECE, JCE, BELAGAVI 13
21. Chapter 5
Integration of SRAM with Telecommand
and Telemetry Processor Unit
In space applications it is well known that in LEO stored digital data suffers from SEUs caused by
radiations. These radiations may be ultraviolet radiation, infrared radiation and gamma radiation.
This change in data caused by SEUs is a well-known problem in memory chips and error detection
and correction techniques have been an effective solution to this problem. For the secure transaction
of data between the CPU of the on board computer and its local RAM, the program memory has
generally been designed by applying the Hamming code.
In order to have the secure transmission of data between a central processing unit and its local
random access memory (RAM) the traditional means of EDAC is a Hamming code. In the theory of
error control the designation (n, k) denotes a block code that takes a k-bit data word and maps it to
an n-bit code word. For computers on board a satellite, and using the latest high density byte-wide
RAMs, there is however a deļ¬nite risk of two error bits occurring within one byte of stored data;
either from the impact of a particularly energetic SEU, or from a second SEU creating a second
error, and before the computer has had time to wash the ļ¬rst error.
Figure 5.1: Integration of sram with Telecommand and Telemetry Processor unit
14
23. Chapter 6
SIMULATION RESULTS AND
DISCUSSION
The architecture was written in Verilog HDL and synthesized by XILINX ISE 13.2. after syn-
thesizing this Verilog HDL code tests were done with XILINX. The following ļ¬gure gives the
simulated results.
6.1 Parity Generator
Figure 6.1: Parity Generator
6.2 Error Detector / Syndrome Generator
Figure 6.2: Error Detector / Syndrome Generator
16
24. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
6.3 Error Corrector
Figure 6.3: Error Corrector
6.4 Top Processor Output
Figure 6.4: Top Processor Output
6.5 Top Processor Output (with test bench)
Figure 6.5: Top Processor Output (with test bench)
DEPT OF ECE, JCE, BELAGAVI 17
25. Chapter 7
Advantages,Disadvantages and Applications
7.1 Advantages
ā¢ Simple encoding
ā¢ Linear operations
ā¢ Fast encoding
ā¢ Less amount of redundancy than Repetition Code.
ā¢ In case of any change the conļ¬guration then no need to change the hardware components
only needs to change the code as per speciļ¬c function.
7.2 Disadvantages
ā¢ High amount of parity.
ā¢ It corrects only one bit correction.
7.3 Applications
ā¢ We can use it in satellite communication, which are in lower orbit for error detection and
correction.
ā¢ In wireless communication for error detection and correction.
ā¢ In wire line communication for error detection and correction.
18
26. Chapter 8
Results and Discussions
Table shows synthesis report which gives information of the cell usage, device utilization con-
straint, timing summary. The device utilization gives information of the total hardware utilized. In
this the integration of SRAM and Telecommand and Telemetry Processor done so the data input
is fed to the SRAM ,due to some radiations in the space the data stored in the SRAM gets ļ¬ipped
.It is passed to the Telecommand and Telemetry Processor unit in order to detect and correct the
errors.
8.1 Xilinx Device Utilization Summaries
Table 8.1: Xilinx device utilization summaries
19
28. Chapter 9
Conclusions and Future Scope
The primary focus in SoC veriļ¬cation is on checking the integration between the various compo-
nents. Rather than implementing each of these components separately, the role of the SoC designer
is to integrate them onto a chip to implement complex functions in a relatively short time. Since
IP cores are pre-designed and preveriļ¬ed, the designer can concentrate on the complete system
without having to worry about the correctness or performance of the individual components. The
conventional telecommand system is designed with SRAM, Telecommand and Telemetry Proces-
sor and they are integrated to form a SoC design. The simulation of each system is done separately
and then integrated to produce ļ¬nal output. Future work includes the ASIC implementation of the
entire design.
21
29. Chapter 10
Datasheet
10.1 Introduction
The SpartanĖo-3E family of Field-Programmable Gate Arrays (FPGAs) is speciļ¬cally designed to
meet the needs of high volume, cost-sensitive consumer electronic applications. The ļ¬ve-member
family offers densities ranging from 100,000 to 1.6 million system gates, as shown in Table 10.1.
The Spartan-3E family builds on the success of the earlier Spartan-3 family by increasing the
amount of logic per I/O, signiļ¬cantly reducing the cost per logic cell. New features improve sys-
tem performance and reduce the cost of conļ¬guration. These Spartan-3E FPGA enhancements,
combined with advanced 90 nm process technology, deliver more functionality and bandwidth per
dollar than was previously possible, setting new standards in the programmable logic industry. Be-
cause of their exceptionally low cost, Spartan-3E FPGAs are ideally suited to a wide range of con-
sumer electronics applications, including broadband access, home networking, display/projection,
and digital television equipment. The Spartan-3E family is a superior alternative to mask pro-
grammed ASICs. FPGAs avoid the high initial cost, the lengthy development cycles, and the in-
herent inļ¬exibility of conventional ASICs. Also, FPGA programmability permits design upgrades
in the ļ¬eld with no hardware replacement necessary, an impossibility with ASICs.
10.2 Features
ā¢ Very low cost, high-performance logic solution for high-volume, consumer-oriented appli-
cations
ā¢ Proven advanced 90-nanometer process technology
ā¢ Multi-voltage, multi-standard SelectIO interface pins
ā¢ Up to 376 I/O pins or 156 differential signal pairs
ā¢ LVCMOS, LVTTL, HSTL, and SSTL single-ended signal standards
22
30. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
ā¢ 3.3V, 2.5V, 1.8V, 1.5V, and 1.2V signaling
ā¢ 622+ Mb/s data transfer rate per I/O
ā¢ True LVDS, RSDS, mini-LVDS, differential HSTL/SSTL differential I/O
ā¢ Enhanced Double Data Rate (DDR) support
ā¢ DDR SDRAM support up to 333 Mb/s
ā¢ Abundant, ļ¬exible logic resources
ā¢ Densities up to 33,192 logic cells, including optional shift register or distributed RAM sup-
port
ā¢ Efļ¬cient wide multiplexers, wide logic
ā¢ Fast look-ahead carry logic
ā¢ Enhanced 18 x 18 multipliers with optional pipeline
ā¢ IEEE 1149.1/1532 JTAG programming/debug port
ā¢ Hierarchical SelectRAM memory architecture
ā¢ Up to 648 Kbits of fast block RAM
ā¢ Up to 231 Kbits of efļ¬cient distributed RAM
ā¢ Up to eight Digital Clock Managers (DCMs)
ā¢ Clock skew elimination (delay locked loop)
ā¢ Frequency synthesis, multiplication, division
ā¢ High-resolution phase shifting
ā¢ Wide frequency range (5 MHz to over 300 MHz)
ā¢ Eight global clocks plus eight additional clocks per each half of device, plus abundant low-
skew routing
ā¢ Conļ¬guration interface to industry-standard PROMs
ā¢ Low-cost, space-saving SPI serial Flash PROM
ā¢ Low-cost XilinxĖo Platform Flash with JTAG
ā¢ Fully compliant 32-/64-bit 33 MHz PCI support (66 MHz in some devices)
DEPT OF ECE, JCE, BELAGAVI 23
31. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
ā¢ Low-cost QFP and BGA packaging options
ā¢ Common footprints support easy density migration
ā¢ XA Automotive version available
10.3 Summary of Spartan-3E FPGA Attributes
Table 10.1: Summary of Spartan-3E FPGA attributes
10.4 Architectural Overview
The Spartan-3E family architecture consists of ļ¬ve fundamental programmable functional ele-
ments:
ā¢ Conļ¬gurable Logic Blocks (CLBs) contain ļ¬exible Look-Up Tables (LUTs) that implement
logic plus storage elements used as ļ¬ip-ļ¬ops or latches. CLBs perform a wide variety of
logical functions as well as store data.
DEPT OF ECE, JCE, BELAGAVI 24
32. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
ā¢ Input/Output Blocks (IOBs) control the ļ¬ow of data between the I/O pins and the internal
logic of the device. Each IOB supports bidirectional data ļ¬ow plus 3-state operation. It
supports a variety of signal standards, including four high-performance differential standards.
Double Data-Rate (DDR) registers are included.
ā¢ Block RAM provides data storage in the form of 18-Kbit dual-port blocks.
ā¢ Multiplier Blocks accept two 18-bit binary numbers as inputs and calculate the product.
ā¢ Digital Clock Manager (DCM) Blocks provide self-calibrating, fully digital solutions for
distributing, delaying, multiplying, dividing, and phase-shifting clock signals.
These elements are organized as shown in Figure 10. 1. A ring of IOBs surrounds a regular array
of CLBs. Each device has two columns of block RAM except for the XC3S100E, which has
one column. Each RAM column consists of several 18-Kbit RAM blocks. Each block RAM is
associated with a dedicated multiplier. The DCMs are positioned in the center with two at the top
and two at the bottom of the device. The XC3S100E has only one DCM at the top and bottom,
while the XC3S1200E and XC3S1600E add two DCMs in the middle of the left and right sides. The
Spartan-3E family features a rich network of traces that interconnect all ļ¬ve functional elements,
transmitting signals among them. Each functional element has an associated switch matrix that
permits multiple connections to the routing.
Figure 10.1: Spartan-3E family architecture
DEPT OF ECE, JCE, BELAGAVI 25
33. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
10.5 Conļ¬guration
Spartan-3E FPGAs are programmed by loading conļ¬guration data into robust, reprogrammable,
static CMOS conļ¬guration latches (CCLs) that collectively control all functional elements and
routing resources. The FPGAs conļ¬guration data is stored externally in a PROM or some other
non-volatile medium, either on or off the board. After applying power, the conļ¬guration data is
written to the FPGA using any of seven different modes:
ā¢ Master Serial from a Xilinx Platform Flash PROM
ā¢ Serial Peripheral Interface (SPI) from an industry-standard SPI serial Flash
ā¢ Byte Peripheral Interface (BPI) Up or Down from an industry-standard x8 or x8/x16 parallel
NOR Flash
ā¢ Slave Serial, typically downloaded from a processor
ā¢ Slave Parallel, typically downloaded from a processor
ā¢ Boundary Scan (JTAG), typically downloaded from a processor or system tester
Furthermore, Spartan-3E FPGAs support MultiBoot conļ¬guration, allowing two or more FPGA
conļ¬guration bitstreams to be stored in a single parallel NOR Flash. The FPGA application con-
trols which conļ¬guration to load next and when to load it.
10.6 I/O Capabilities
The Spartan-3E FPGA Select IO interface supports many popular single-ended and differential
standards. Spartan-3E FPGAs support the following single-ended standards:
ā¢ 3.3V low-voltage TTL (LVTTL)
ā¢ Low-voltage CMOS (LVCMOS) at 3.3V, 2.5V, 1.8V, 1.5V, or 1.2V
ā¢ 3V PCI at 33 MHz, and in some devices, 66 MHz
ā¢ HSTL I and III at 1.8V, commonly used in memory applications
ā¢ SSTL I at 1.8V and 2.5V, commonly used for memory applications Spartan-3E FPGAs sup-
ports the following differential standards
ā¢ LVDS
ā¢ Bus LVDS
ā¢ Mini-LVDS
DEPT OF ECE, JCE, BELAGAVI 26
34. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
ā¢ RSDS
ā¢ Differential HSTL (1.8V, Types I and III)
ā¢ Differential SSTL (2.5V and 1.8V, Type I)
ā¢ 2.5V LVPECL input
10.7 Package Marking
Figure provides a top marking example for Spartan-3E FPGAs in the quad-ļ¬at packages. Figure
3 shows the top marking for Spartan-3E FPGAs in BGA packages except the 132-ball chip-scale
package (CP132 and CPG132). The markings for the BGA packages are nearly identical to those
for the quad-ļ¬at packages, except that the marking is rotated with respect to the ball A1 indicator.
Figure 10.2 shows the top marking for Spartan-3E FPGAs in the CP132 and CPG132 packages.
On the QFP and BGA packages, the optional numerical Stepping Code follows the Lot Code.
The 5C and 4I part combinations can have a dual mark of 5C/4I. Devices with a single mark are
only guaranteed for the marked speed grade and temperature range. All 5C and 4I part combina-
tions use the Stepping 1 production silicon.
Figure 10.2: Spartan-3e qfp package marking example
Figure 10.3: Spartan-3e bga package marking example
DEPT OF ECE, JCE, BELAGAVI 27
35. SYSTEM-ON-CHIP(SoC) FOR TELECOMMAND SYSTEM DESIGN
Figure 10.4: Spartan-3e cp132 and cpg132 package marking example
10.8 VQ100 Footprint
VQ100 Footprint In Figure 10.5 , note pin 1 indicator in top-left corner and logo orientation.
Figure 10.5: VQ100 Package footprint (top view)
DEPT OF ECE, JCE, BELAGAVI 28
37. Bibliography
[1] International Journal of Advanced Research in Computer and Communication Engineering
Vol. 2, Issue 3, March 2013System on Chip (SoC) for Telecommand System Design Rajes-
vari.R, Manoj.G, Angelin Ponrani.M
[2] Hwang. S and Abraham J. A. (200 I) "Reuse of addressable system bus tor SoC testing," Proc.
IEEE Int. ASIC/SoC Conf pp .215-219.
[3] Qingdong Meng.,Zhaolin Li.,Fang Wang.(2010) "Functional veriļ¬cation of external memory
interface IP core based on restricted random testbench"International conference on computer
Engineering and Technology.
[4] DESIGN OF HAMMING CODE USING VERILOG HDL By Varun Jindal
[5] 2013 International Conference on Signal Processing, Image Processing and Pattern Recogni-
tion [ICSIPR] IP Core Based Architecture of Telecommand System on Chip (SoC) for Space-
craft applications Rajesvari.R, Manoj.G, Angelin Ponrani.M
[6] P. Chen., Yeh Y. T., Chen C.H., Yeh J. C and Wu C. W. (2006)"An Enhanced EDAC Method-
ology for Low Power PSRAM", IEEE International Test Conference.
[7] Chao-Da Huang, Jin-Fu Li, Member, IEEE, and Tsu-Wei Tseng"ProTaR: An Intrastructure IP
tor Repairing RAMs in SoCs".
[8] K. Gupta and Prof R. L. Dua.(20 I I) " 30 BIT Hamming Code tor Error Detection and Correc-
tion with Even Parity and Odd Parity Check Method by using VHDL", International Journal
of Computer Applications (0975 - 8887) Volume 3 5- No.13.
30