Professional Documents
Culture Documents
1.1 Introduction
Reed– Solomon (RS) codes are non-binary cyclic error-correcting codes invented in
1960; Irving Reed and Gus Solomon published a paper in the Journal of the Society for Industrial
and Applied Mathematics. They described a systematic way of building codes that could detect
and correct multiple random symbol errors. Reed-Solomon coding is a type of forward-error
correction that is used in data transmission (vulnerable to channel noise) plus data-storage and
retrieval systems. Reed- Solomon code’s (encoders/decoders) can detect and correct errors
within blocks of data. Reed-Solomon code’s operate on blocks of data, these codes are generally
designated as (n, K) block codes, K is the number of information symbols input per block, and n
is the number of symbols per block that the encoder outputs. Reed Solomon Decoder is useful in
correcting burst noise; it replaces the whole word if it is not a valid code word. This Reed
Solomon Decoder is designed according to CCSDS Standards.
Reed-Solomon codes are used to perform Forward Error Correction (FEC). FEC
introduces redundancy in the data before it is transmitted. The redundant data (check symbols)
are transmitted with the original data to the receiver. For example, a Reed-Solomon decoder is
used to help recover any error data. The codes are referred to in the format RS (n,k) where k is
the number of s-bit wide information (data) symbols and n is the total number of s-bit wide
symbols in a codeword. The Reed-Solomon encoder generates a code such that the first k
symbols output from the encoder are the information symbols and the next n-k symbols from the
encoder are the check symbols added for error correction.
1.2 Features
In integrated circuit design, physical design is a step in the standard design cycle which
follows after the circuit design. At this step, circuit representations of the components (devices
and interconnects) of the design are converted into geometric representations of shapes which,
when manufactured in the corresponding layers of materials, will ensure the required functioning
of the components. This geometric representation is called integrated circuit layout. This step is
usually split into several sub-steps, which include both design and verification and validation of
the layout.
Modern day Integrated Circuit (IC) design is split up into Front-end design using HDL's,
Verification and Back-end Design or Physical Design. The next step after Physical Design is the
Manufacturing process or Fabrication Process that is done in the Wafer Fabrication Houses. Fab-
houses fabricate designs onto silicon dies which are then packaged into ICs.
Each of the phases mentioned above have Design Flows associated with them. These
Design Flows lay down the process and guide-lines/framework for that phase. Physical Design
flow uses the technology libraries that are provided by the fabrication houses. These technology
files provide information regarding the type of Silicon wafer used, the standard-cells used, the
layout rules, etc.
Technologies are commonly classified according to minimal feature size. Standard sizes,
in the order of miniaturization, are 2μm, 1μm, 0.5μm, 0.35μm, 0.25μm, 180nm, 130nm, 90nm,
65nm, 45nm, 28nm, 22nm, 18nm. Etc
Floor Planning
Power Planning
Placement
Routing
Timing Analysis
Library preparation (data preparation) process is done using the tool called Milky Way.
The Milky Way and the data preparation functions can perform several tasks essential for cell
library and data preparation, including the following,
− Creating cell libraries
− Importing cell data
− Specifying technology information
− Writing technology information to a file
− Removing cell hierarchy
− Specifying power and ground port types
− Optimizing the standard cell layout
− Extracting pin and blockage information
− Setting place and route boundaries
− Defining wire tracks
The input for data preparation is the LEF file from foundry. The data preparation for
standard cell using Milky Way is done with the following steps,
1.4.6 Placement
Exact placement of the modules (modules can be gates, standard cells, macros…) is done
in the process of placement. The goal is to minimize the total area and interconnect cost. Gate-
level netlists contain references to standard cells and macros, which are stored in the logical
libraries, as well as other hierarchical logic blocks. Before placing one must ensure that all
references can be resolved. Placement process done in two steps,
− Global placement: Standard cells must be grouped in a way that the number of
connections between groups is minimum. This issue is solved through circuit
partitioning. As a basic criterion, the minimum is taken among group connections.
− Detailed placement: In detailed placement coarse placement and legalization of the
placement is done. All the cells are placed in the approximate locations but they are not
legally placed and the logic optimization is not done. Legal placement of cells is not
required for analyzing routing congestion at an early stage, ensuring that the final
placement is legal before saving the design.
--------------------------------------------------------------------------
UTILIZATION INFORMATION
--------------------------------------------------------------------------
VDD rail
W_vertical – Metal 8 = 8 microns
W_horizontal – Metal 9 = 8 microns
VSS rail:
W_vertical – Metal 8 = 8 microns
W_horizontal – Metal 9 = 8 microns
3.4 Placement
Power
straps
-----------------------------------------------------------
data required time 2.31
data arrival time -2.37
-----------------------------------------------------------
slack (VIOLATED) -0.06
-----------------------------------------------------------
data required time 2.36
data arrival time -2.28
-----------------------------------------------------------
slack (MET) 0.08
--------------------------------------------------------------------
Rule: Met1 Spacing: minimum spacing = 0.09 um 220 errors
Rule: Met1 Overlap: metal & blockage overlap 4 errors
Rule: Met1 specEoLSpc: spacing= 0.11 ,crnKeepOut= 0.035 um(mode = 4 )
1 error
Rule: Met1 FatWireSpc: fat metal ( 0.201 um, 0.381 um) minimum spacing
= 0.11 um 62 errors
Rule: Met1 FatWireSpc: fat metal ( 0.421 um, 0.421 um) minimum spacing
= 0.16 um 1 error
Chapter IV
Design attributes
= 0.265 ma
= 0.0245 ma
Calculation of power-strap width [IR]
Max Current density of M8 and M9 = 80.96
Roe of M8 and M9 = 0.0218
= 0.0032 microns
= 0.0030 microns
Calculation of power-strap width [EM]
W strap_vertical = (I top X Roe X Hblock) / 0.07VDD
= 8 microns
###################################################################
set sdc_version 1.8
4.3 Reports
****************************************
Report : timing
-path full
-delay max
-max_paths 1
Design : rs_encode
Version: C-2009.06-ICC
Date : Tue Apr 12 10:39:19 2011
****************************************
Operating Conditions: BCCOM Library: tcbn65lpbc
Startpoint: b15/out_reg[2]
(rising edge-triggered flip-flop clocked by
master_clock)
Endpoint: b8/out_reg[5]
(rising edge-triggered flip-flop clocked by master_clock)
Path Group: master_clock
Path Type: max
-----------------------------------------------------------
data required time 2.36
data arrival time -2.28
-----------------------------------------------------------
slack (MET) 0.08
Power report after routing
****************************************
Report : power
-analysis_effort low
Design : rs_encode
Version: C-2009.06-ICC
Date : Tue Apr 12 23:58:04 2011
****************************************
Library(s) Used:
tcbn65lpwc (File:
/home/libraries/std/Front_End/timing_power_noise/tcbn65lpwc.db)
5.1 Results
Achieved frequency is 400 MHz
Slack is met with the value 0.08
The logic area is 51%
Width Height Area
o Core 130.800 121.200 15852.960
o Chip 172.800 163.200 28200.960
Chip width is 131 microns
Chip height is 121 microns
Power and Ground rail width of 8 microns
Timing is met with the skew of 0.08 after CTS
Routing is done with 9 layer metal
The design is free from all DRC violations except the Met 1 violations
The total dynamic power of the chip after routing is 1.3873 mw with the leakage power
of 2.4163 um
5.2 Conclusion
Implementation of the High speed Reed Solomon encoder using Synopsys IC compiler is
successfully completed meeting all design specifications.
The design is successfully implemented .to work with the operating frequency of 400
Mhz with the supply voltage of 1.32v.
The timing constraint of the design is met with the positive slack of 0.08 ns.
The total dynamic power achieved is 1.3873 mw which is within the range of dynamic
power specified (i.e. 2 mw).
The total area of the chip is 28200.960 microns out of wich 51% of the area is occupied
by the core of the design.