Yihai Xiang for the degree of Master of Science in... Engineering presented on Feb. 26th, 1997. Title: Design of High-Speed...

advertisement

AN ABSTRACT OF THE THESIS OF

Yihai Xiang for the degree of Master of Science in Electrical and Computer

Engineering presented on Feb. 26th, 1997. Title: Design of High-Speed Adaptive

Parallel Multi-Level Decision Feedback Equalizer.

Redacted for privacy

Abstract approved:

David J. Allstot

Multi-level decision feedback equalization (MDFE) is an effective technique to remove inter-symbol interference (ISI) from disk readback signals, which uses the simple architecture of decision feedback equalization. Parallelism which doubles the symbol rate can be realized by setting the first tap of the feedback filter to zero.

A mixed-signal implementation has been chosen for the parallel MDFE, in which coefficients for the 9-tap feedback filter are adapted in the digital domain by 10-bit up/ down counters; 6-bit current mode D/A converters are used to convert digital coefficients to differential current signals which are summed with the forward equalizer (FE) output, and a flash A/D is used to make decisions and generate error signals for adaptation.

In this thesis, a description of the parallel structure and the adaptation algorithm are presented with behavioral level verification. The circuit design and layout were carried out in HP 1.2um n-well CMOS process. The design of the high-speed counter and the current-mode D/A are discussed. HSPICE simulations show that a symbol rate of

100Mb/s for the feedback equalizer is readily achieved.

Design of High-Speed Adaptive Parallel Multi-Level Decision Feedback Equalizer by

Yihai Xiang

A THESIS submitted to

Oregon State University in partial fulfillment of the requirements for the degree of

Master of Science

Completed February 26th, 1997

Commencement June 1997

Master of Science thesis of Yihai Xiang presented on February 26th, 1997

APPROVED:

Redacted for privacy

Major Professor, representing Electrical & Computer Engineering

Redacted for privacy

Head of Department of Electrical & Computer Engineering

Redacted for privacy

Dean of Graduate Sool

I understand that my thesis will become part of the permanent collection of Oregon State

University libraries. My signature below authorizes release of my thesis to any reader upon request.

Redacted for privacy

Yihai Xiang, Author

ACKNOWLEDGMENT

To my wife: thank you for everything you have done for me. Without your love and patience I would not be where I am today.

With the most respect and gratitude, I wish to thank my advisor Professor David

J. Allstot and Professor John G. Kenney not only for their continuing support and encouragement, but also for their insights and constructive critiques. Without their guidance, this work would not have been possible.

I would also like to thank Professor Sayfe Kiaei and Professor Daniel F. Farkas for taking time to serve on my graduate committee.

Thanks to our group members: Hiok-Tiaq Ng, Hairong Gao, Dan Onu and Priya

Parthasarathy for their help and cooperations. Special thanks to our group leader Hiok-

Tiaq Ng for his dedication to this project and great organizing job.

Thanks to my friends and colleagues Wenjun Su, Bo Wang, Yunteng Huang,

Haiqing Lin, Ravi Guptara, Jianjun Zhou and many others. Thanks for many valuable discussions with them.

TABLE OF CONTENTS

Chapter 1. Introduction

1.1 Background

1.2 Thesis Outline

Chapter 2. Architecture of the Parallel MDFE

2.1 Parallel MDFE

2.2 Adaptation for Parallel MDI-E,

2.3 Parallel MDFE Architecture

2.4 Behavioral Level Verification

Chapter 3. High-speed 10-bit Up/Down Counter

3.1 Logic Design

3.2 Cell and Carry Design

3.3 Interface Design

3.4 Simulation Results

Chapter 4. 6-bit High-speed D/A Converter and Multiplier

4.1 D/A Converter Structure

4.2 Current Source and Accuracy Consideration

4.3 Driver Design

4.4 Multiplier

Page

1

11

13

1

4

7

8

2

4

13

14

17

18

21

21

23

26

29

TABLE OF CONTENTS (Continued)

4.5 Summary

Chapter 5. Results and Conclusions

5.1 Simulations of the Feedback Equalizer

5.2 Layout of the Feedback Equalizer

5.3 Summary

5.4 Future work

Bibliography

Appendices

Appendix A. Mat lab Simulation Code

Appendix B. Layouts

Page

29

32

32

32

35

37

38

40

41

46

LIST OF FIGURES

Figure

1.1 Block diagram of DFE

2.1 Block diagram of MDFE

2.2 Equalized dibit response in MDFE (Symbol density = 3.75PW50)

2.3 Equalized dibit response in MDFE with sampling phase shift

2.4 Architecture of the parallel MDFE

2.5 Timing diagram of the parallel MDFE,

2.6 Behavioral level simulation for the parallel MDFE

3.1 Prototype of the synchronous binary up/down counter

3.2 The proposed T flip-flop

3.3 Simulation results of the proposed T flip-flop

3.4 The proposed carry circuit

3.5 Simulation results of the proposed carry circuit

3.6 Block diagram of the interface structure

3.7 10-bit synchronous binary up/down counter

3.8 Simulation results of the proposed up/down counter (up counting)

3.9 Simulation results of the proposed up/down counter (down counting)

4.1 Basic architecture of current-mode DAC

4.2 Segmented current-mode DAC

14

15

16

16

10

12

6

9

Page

2

4

5

17

18

19

20

20

21

22

LIST OF FIGURES (Continued)

Figure

4.3 Switched current source

4.4 The secondary current array

4.5 Symmetrical layout configuration for the current array

4.6 High-speed driver for current-mode DAC

4.7 Simulation results of the proposed driver

4.8 The current-mode 1-bit multiplier

4.9 HSPICE simulation results of the 6-bit DAC and the 1-bit multiplier

5.1 Schematic of the feedback equalizer

5.2 HSPICE simulation for the feedback loop

5.3 Post-layout simulation for the DAC and the counter

31

33

35

36

Page

23

25

25

27

28

29

Table

2.1 MDFE slicer input levels

LIST OF TABLES

Page

6

Design of High-Speed Adaptive Parallel Multi-Level Decision Feedback Equalizer

Chapter 1. Introduction

This thesis presents the design of a parallel multi-level decision feedback equalizer. The LMS algorithm with delayed coefficient adaptation [1] is modified to accommodate the parallelism. Behavioral level simulation based on a proper timing diagram is used to verify the system. Circuit designs for the major building blocks are discussed in detail. The system has been laid out and is ready for fabrication.

1.1 Background

As massive data storage systems are more and more desired, bit densities on hard disks increase constantly. As a result, inter-symbol interference (ISI) degrades both the signal-to-noise ratio (SNR) and the channel resolution and makes some techniques such as peak detection, one of the first and widely used concepts, no longer able to achieve acceptable performance.

To eliminate ISI, sampling detectors are being used in the read channel [2]. One of them is the decision feedback equalizer (DPE) [1], [3]. Figure 1.1 shows a simplified block diagram of a DFE-based hard-disk read channel. The forward equalizer is used to cancel pre-cursor ISI, while the DIVE uses a linear combination of the past binary decisions to eliminate post-cursor ISI. Since the past decisions are noiseless, this part of the ISI cancellation does not add noise to the slicer input. However, it does suffer from error propagation.

2

Forward

Equalizer r

Slicer

1

I

Digital Outputs

Feedback

Filter

DFE

L

Figure 1.1 Block diagram of DFE

Multi-level decision feedback equalization (MDFE) is a more recent development [4]. The concept of MDFE is based upon fixed-delay tree search with decision feedback equalization (FDTS/DF), while using the simpler architecture of decision feedback equalizer [5]. The major difference of this technique from DFE is that the input to the comparator is a multi-level signal.

1.2 Thesis Outline

The mixed-signal parallel MDFE was designed using 1.2um CMOS technology.

The target symbol rate is 100Mb/s and the circuits are operated using a single 5V power supply. In Chapter 2, the structure and signal processing of the parallel MDFE are described. The timing diagram for the system and the behavioral level verification results are also shown. Chapter 3 discusses the 10-bit up/down counter design where dynamic logic is used to achieve high-speed and small die area. Chapter 4 focuses on the design of the 6-bit high-speed current-mode D/A and the multiplier. Finally, simulation results

3 of the feedback filter, conclusions, and directions for future work are given in chapter 5.

The Appendix includes the behavioral level simulation source code and circuit layouts.

4

Chapter 2. Architecture of the Parallel MDFE

This chapter describes the algorithm and structure of the parallel MDFE. It shows that parallelism can relax the circuit speed to half of the symbol rate. The proposed block and timing diagram is verified by behavioral level simulation.

2.1 Parallel MDFE

MDFE specifically works on 2/3(1, 7) RLL code [4] [5]. This code, which has a minimum run length constraint of 1, disallows input sequences such as '+1 -1 +1' and '­

1 +1 -1'. MDFE depends on the presence of this constraint. Figure 2.1 shows a simplified

Slicer a k

Gc(s)

Figure 2.1 Block diagram of MDFE block diagram of MDFE which is very close to the block diagram of DFE. Gc(s) is a continuous-time low-pass filter serving as an anti-aliasing filter. Fc(s) is comprised of a first-order all-pass filter and a first-order low-pass filter. It equalizes the dibit to the impulse response shown in Figure 2.2. FB is the feedback equalizer which generates a

0.5

0.4

0.3

0.2

0.1

0

-0.1

-0.2

0 2 4 6 8 10 12

Figure 2.2 Equalized dibit response in MDFE (Sym­ bol density = 3.75PW50)

(Courtesy of Dan Onu) linear combination of the previous decisions; i.e., it convolves the previous decisions with a model of the post-cursor ISI. At the summing node, we get:

X(k) = a(k) Po+ a(k 1) P1+ a(k 2) P2 +

...

Z(k) = a' (k

2) d1 + a' (k 3) d2 + a' (k 4) d3 + ...

If we assume that the previous decisions are correct, and set the first coefficient of the feedback equalizer d1 = Po

P2 and the other coefficients do = Pn+i, the

input to the slicer is:

Y (k) = (a(k) + a(k

2)) Po + a(k

1) Pi

In 2/3(1, 7) code, the valid input combinations and corresponding Y (k) are listed in Table 2.1

5

6

Table 2.1 MD1-E slicer input levels a(k

+1

+1

-1

+1

-1

-1

2)

a(k

+1

+1

+1

-1

-1

-1

1) a(k)

+I

-1

+1

-1

+1

-1

Y (k)

2P0 +Pi

P1

P1

P1

P1

2P0 P1

Decisions

+1

+1

+I

-1

-1

-1

It is obvious that only four levels, namely two inner levels and two outer levels, are valid for the slicer input. Most importantly, the signs of those levels are exactly the same as a(k 1)

, which enables a simple comparator with its threshold at zero to make the decisions.

Further observation of Figure 2.2 shows that by shifting the sampling phase by about T/5, we can set PO equal to P2 [6]. Figure 2.3 shows the equalized dibit response

0 2 4 6 8 10 12

Figure 2.3 Equalized dibit response in MDFE with sampling phase shift (Symbol density = 3.75PW50)

(Courtesy of Dan Onu)

7 with this constraint. In this case, the first tap of the feedback filter is set to zero. Now, we get:

Z(k) = a' (k 3) d2 + a'(k

4) d3 + a' (k

5) d 4+

...

Since Z(k) can be evaluated without the decision of a' (k 2)

, it's possible for us to construct parallel MDFE.

2.2 Adaptation for Parallel MDFE

In order to achieve the best bit error rate (BER), the coefficients of the feedback equalizer must be adapted to match the post-cursor ISI. The least-mean-square (LMS) algorithm has been successfully used in DFE system to determine the feedback equalizer coefficients [7]. In parallel MDPE, we must wait for one clock cycle to determine whether the inner or outer level the slicer is decoding on, which means that the error signal is not immediately available. Thus the LMS algorithm with delayed coefficient adaptation is used. It has been shown that the delay in coefficient adaptation has only a slight influence on the steady-state behavior of the LMS algorithm

as long as the

adaptation step is small [1]. The Delayed LMS (DLMS) minimizes the mean square of

the error across the slicer, e(k

1) = a' (k

1) P 1 Y (k)

.

Once the MDFE has adapted, then do = 1)

1 for 2

_. .

I 1 M

With the optimal coefficients, the feedback filter will cancel significant post-cursor ISI.

To simplify the circuit design, the coefficients will be adapted every time an inner level occurs. The coefficients are adapted using [7]: d n(k + 1) = dn(k) + 13 e(k 1 D) a' (k n D) for 2 n S M , and

do(k + 1) = do(k) +13 e(k

1

D)

8

(1) where 13 « 1 is the update gain, k is the time index, D is the delay factor and do is the coefficient of the DC tap which is used to cancel out DC offset in the detector.

The digital circuit complexity can be further minimized by using the sign of the error signal. If we set 13 = 2-L

, where L is an integer, equation (1) can be realized by up/ down counters. System level simulation shows that L = 10 is adequate for steady state and L = 7 enables fast convergence.

2.3 Parallel MDFE Architecture

Figure 2.4 shows the architecture of the parallel MDFE in which two detectors work in an interleaved fashion. The timing diagram for this structure is shown in Figure

2.5.

Two non-overlapping clocks, denoted as cI3i and 02, are generated by the timing recovery block. Each clock is running at a frequency of 50-MHz which is half the symbol rate. The output of the forward equalizer is tracked and hold for each detector at a 50­

Mhz rate, where 01 drives the T/H stage of detector one and 02 drives the T/H stage of detector two.

There are ten counters in the system. Each detector utilizes a single counter to

generate the coefficient of the DC tap. Other counters are used for adapting the

coefficients of the feedback filter. They are divided equally between the two detectors to balance the clock load for (111 and 12

.

Each counter can be initialized or read through the 6-bit data bus. The 4-bit address bus is used to select a specific counter for read/load operation. There is one main delay chain in each detector which stores the previous

'1'

FE

'1'

Differential signal

Digital signal

Figure 2.4 Architecture of the parallel MDFE ic13 I

A/D

Error

Logic

0

1.1 decision

Error

Logic

CD

Phi 1:

CmpOutl :

D1:

Dchain 1 :

Error-1:

Beta -1:

Cnt-1:

Phi2:

K-2

K K+2 K+4 ak_5 ak_5

0 ak_3

0 ak-i .4 ak+1 k-7 ak_5

IIIMEMINIII

ak-1

INIIMIIMIIMMIZIMIIIIOIMEIMM

betak_6

40 betak_4

0

4 betak_2

4

0 betak

4

K+3 K -1 K+ 1 ek+1

'4 k +1

444

K+5

CmpOut2:

D2:

Dchain2:

Error-2:

Beta-2:

Cnt-2: k+2 ak+2 ek-6

04 betak_5

04 betak_3

'.4 betak_i

04 ek+2 betak+l

4111111111111111111411111111111114=11111111111.4

Figure 2.5 Timing diagram of the parallel MDFE,

0

11 decisions made by the same detector. The other delay chain is used to store the previous decisions made by the other detector. In each detector, nine DAC's convert the digital coefficients from counters into differential currents. Those currents are multiplied by previous decision values and added to the output of the forward equalizer at the summing node. After the output of the summing node settles, the slicer, which is replaced by a flash

A/D, starts to make a decision, and at the same time, generate the error signal for adaptation. Inner levels are found when a' (k 2) = a' (k) and signal BETA is set to enable adaptation. For each counter, control logic decides based on the error signal and the previous decision whether it should increment or decrement.

From the timing diagram, it is easy to see that signal BETA comes up after the corresponding error signal by one symbol delay. So, the delay factor, D, in equation (1) is one for our case.

2.4 Behavioral Level Verification

The architecture of the proposed parallel MDFE is verified by behavioral level simulation. In this simulation, each register or counter has its own variable and the evaluations are done sequentially based on the timing diagram; thus, it can closely imitate the behavior of the real system.

Figure 2.6 shows the simulation results for the parallel MDFE. The slicer inputs for several conditions, i.e. with/without ideal initial setup, with/without DC cancellation and with/without additive random noise, are plotted. It is shown that even in the presence of random noise and without initial settings for the coefficients, the slicer inputs converge to the four desired levels which demonstrates that the proposed architecture functions as expected.

500 1000 1500 a) Simulation with preloaded coefficients, without adaptation

0 500 1000 1500 b) Simulation without initializa­ tion and DC tap

500 1000 1500

c) Simulation with DC tap but

without initialization

500 1000 1500 d) Simulation with noise (SNR =

25dB)

Figure 2.6 Behavioral level simulation for the parallel MDFE (plots of the slicer inputs)

12

13

Chapter 3. High-speed 10-bit Up/Down Counter

The design of a high-speed 10-bit up/down counter is discussed in this chapter.

In order to adapt the coefficients once per clock cycle, a synchronous configuration is chosen to achieve high speed. Dynamic logic design greatly reduces die area and further improves speed performance.

3.1 Logic Design

Based on the system level design requirements, specifications for the counter are:

10 bits

100-Mhz clock rate (clock synchronized)

Up/down counting modes

Different counting steps

Load/read function

Based on the specifications, a prototype of the up/down synchronous counter is chosen from [8]. Figure 3.1 shows its simplified logic diagram. In this prototype, the carry bit is generated by AND-OR gates. The fan-in for the AND gate increases linearly as the length of the counter increases. The carry for the MSB of a 10-bit counter will have two 11-input AND gates which are too complex and slow to be implemented by CMOS complementary logic. Therefore dynamic logic is adopted for the carry design. Since the output value of a dynamic logic gate might change twice (pre-charge and evaluate) in one

clock cycle, the T flip-flop for each bit must be clock edge-triggered

to avoid malfunction, which excludes some simple high-speed designs such as true single phase logic (TSPL) [9] [10].

Reset

Set

Enable-

Clock

up/down-->

T

R

Q

T

Rd

Q

Q

Figure 3.1 Prototype of the synchronous binary up/down counter

QO

Q1

Q2

14

A straight-forward method for the counter to count by eight instead of by one is to disable the three LSB's. However, the carry chain has to be changed to that of a 7-bit counter. In our design, the three LSB's will be set to high (low) during every evaluate phase when the counter counts up (down). Thus, the carry-in bit for the fourth LSB will be set to high for each clock cycle and the counter will behave as a 7-bit (7 MSB's) one while the carry chain remains unchanged.

3.2 Cell and Carry Design

In some D flip-flop or J-K flip-flop designs [11], the T flip-flop is triggered by the rising edge of the T signal instead of the clock signal. A design which meets our requirement is shown in Figure 3.2. In this circuit, by taking advantage of the presence of both Q and Q and providing both T and T , a simple XOR gate will be able to generate the next state for the T flip-flop. Transmission gates driven by clock signals are used to

15

D

Figure 3.2 The proposed T flip-flop synchronize the state transitions. Set or reset signals enter through the D port while the output of the XOR gate is blocked by the transmission gate. Again, dynamic design reduces transistor counts and improves speed performance. Figure 3.3 gives the simulation result for the proposed T flip-flop which shows that it can operate at 250

MHz.

As mentioned above, the carry is designed using dynamic logic. For an AND gate, there may be as many as 11 PMOS transistors in parallel. Since a PMOS transistor has smaller Gm than an NMOS transistor, larger size for the PMOS is usually required to achieve certain speeds. This also increases clock load which is not desired. However, noticing that most inputs of one AND gate are exactly the inverting version of the inputs of another AND gate, we can use complementary logic, namely, an OR gate to realize the same logic function without additional cost (extra inverters). Thus the total gate area as well as clock load are reduced. An OR gate based carry circuit is shown in Figure 3.4.

Its worst-case simulation result is shown in Figure 3.5.

AID

DI

D mCo

00 mD mC> mD

^4,

C>

C>

PE

C>

GE

D mC>

C, cup

16

0

L

T

L

V

0

L

T

L

1,1

V

0

L

T

L

5_0 _

DAWET OUTPUT FILE /HOME/xIAWGII/MDFE/CWT/HIx_TFF.SP,

97/02/11 19100!47

4.0 =

3_0 1-­

...

2.0

1

. 0

MIx_TFF.TPO

CLK

0.

5_ _

I

1 =

MIx_TFF.TPO

CK

4.0

3.0=

2.0

1 .

0_

"

:1

J

I 0

5_0=

L

4.0= in

4- AT

3_0

1

2 _ 0

. 0 =

I

I

1 t

L i

--f

0 . a-1-0-1--1-i-4.-1-1-L--0-

.1-1-

O.

5.0W 10.0W 15.0W

..-4 ,--.1,

20.0W

TIME CLIW3

,

-1..-1 , L..11

25.0V '30.0W' '35.014

40.0W lipx_TFF.TPO

Figure 3.3 Simulation results of the proposed T flip-flop

D SS

Figure 3.4 The proposed carry circuit

17

O

L

T

V

0

L

T

4.0

r DAWET OUTPUT FILE ,/HOME/XIAMGY//MDFE/CMT/O_CPI9.5Ps

97/02/12 11119146

2 0

0_

4.0

2

J

5.5944

4.0

O_CP19.TPO

CLL

:

_1?CP19.TPO

_

Pffk.TY_ 2:4-ER

XCPY_M_690 y

T

L

5 2370

0.

0_

5.0M

1

TIME

10. OW

CLIWI

15.0W

20.0M

D_C P19 TR 0

CRY

C P15

Figure 3.5 Simulation results of the proposed carry circuit

3.3 Interface Design

In order to test the parallel MDFE chip, each counter should be readable and loadable. Figure 3.6 shows the interface structure for the counters. a 6-bit I/O data bus and a 4-bit address bus are designed to facilitate the read/load operation. Each counter connects to the data bus through two sets of transmission gates. Bus drivers are used to enhance the counters' driving ability. When one of the counters is to be accessed by inputting its address, one set of transmission gates are turned on based on the state of

Read/Load signal. The selected counter is then ready to be read or loaded.

Data bus

6-bit

Address bus

(1.)

-0

O

C.) a)

ICI

Load

Driver

Load/Read

-Do-Do­

-->--)0-Do-

Figure 3.6 Block diagram of the interface structure

I/O

18

3.4 Simulation Results

The circuit of a 10-bit up/down counter is shown in Figure 3.7. There are four control signals in this circuit: The ENBL signal is used to enable/disable the counting function. If it is set to low, the counter will stay in its current state; The STARTUP signal is used to shift the counter between 10-bit counting mode and 7-bit counting mode; The

LOAD signal enables/disables loading data into the 6 MSB's of the counter; Finally, the

UP/DOWN signal tells the counter to count up or count down. Simulation results are shown in Figure 3.8 and Figure 3.9 for counting up and counting down, respectively. In both cases, the counter was preloaded with '110101' for the 6 MSB's. An operating speed of 160-MHz is achieved for the proposed counter.

STARTUP

! r

-!

LOAD ­

'

NI

.

ENBL

-:

11.

UP

CLK

CLKb imal a a a a aa a

1.

.

.

.

.

..

a

a a

1. a

.

.

_

Figure 3.7 10-bit synchronous binary up/down counter

_--,

0

L

T

L

H

0

L

T

Li

H

* DRWET OUTPUT FILE ,/HOME.exIAW0II/MDFE/EWT/CWT_109.5P5 *

97/02/12 11143100

4_0

......

2.0

0

L

T

Li

H

0.

5_2639

.0

2.0

0

L

T

O.

5.2156

4.0

.......

AL.

CWT_108.TPO

ICCLK a

IC LORD

CMT_108.TPO

v[01 v[02

V103

1

I

-

CMT_109.TPO

v[04 v[05 v(06

2.0

H

.1

I.

4

CWT_108.TPO

v[07

4.0

2.0 v[09

O.

O.

10.011

.

.

20.01J 30.01J

TIME CLIIJ)

4 0 . i

50.011

60.011

Figure 3.8 Simulation results of the proposed up/down counter (up counting)

20

0

L

T

4

* DAWET OUTPUT FILE /1401.1E/xIAWGYI/HOFE/CWT/CWT_100.OP,

*

97/02/12 11:52119

1

..........

0 =-­

CWT_109.TP0

vCLORD

2.0

H v

0

L

T

L

I

14

V

0

L

T

L

5.2909:

4.0

2.0

O.

5.2270::

_

4.0

2.

11

0

5_0820

4.0

T

2.0

0.

O.

10.0W 20.0W 30.0W

TIME [LIN)

40.0W

-

C14T_109 _TRO

5(01 v(02

5100

CAIT_IOR_TPO

5104

A v[05 v103

-

CWT_1013.TPO

5107 v[09

V(00

50.0W

E. 0 . OH

Figure 3.9 Simulation results of the proposed up/down counter (down counting)

21

Chapter 4. 6-bit High-speed D/A Converter and Multiplier

Current steering is an important concept which is often used in high-speed circuit design. In this chapter, a 6-bit current-mode D/A converter is designed which achieves a

200-MHz conversion rate. A current-mode single-bit multiplier is also designed for multiplying the DAC outputs by the previous decision values.

4.1 D/A Converter Structure

Recently, the weighted current array or current matrix technique has been widely used in designing high-speed CMOS DAC's [12]-[15] to allow fast and accurate settling.

Figure 4.1 shows the basic structure of a binary weighted current-mode DAC. Weighted current sources are switched between two output loads according to the value of the input bits which control the output voltage of the drivers to the source-coupled current switches. There are two major drawbacks of this basic structure. First, parameter

Differential current output

IMSB-1

=

GND

IMSB

GND

=

GND

Figure 4.1 Basic architecture of current-mode DAC

22 gradients across a wafer and random mismatches of current sources result in large variations in the performance of the fabricated DAC's. Second, 2n

1 equally sized

CMOS current sources are required for a n-bit DAC. Thus both wiring and switching complexity and silicon area are increased significantly. Large area also makes the mismatch error among current sources more serious.

The local matching technique and threshold-voltage compensation have been used to overcome the linearity errors caused by threshold-voltage gradients over a wafer

[15]. However, extra circuits and power are usually needed. Another approach is the segmented technique where the input bits are divided into several groups [13][15]. The current sources are binary weighted only in each group and the currents from different groups are summed together at the output node according to different ratios. A 6-bit

Secondary current cells

Primary current cells

=

GND

Figure 4.2 Segmented current-mode DAC segmented current-mode DAC is shown Figure 4.2. In this approach, a primary current array is used for the 3 MSB's and a secondary current array is used for the 3 LSB's. Thus only 8 primary and 8 secondary equivalent unit current sources are required for a 6-bit

DAC. The 8 secondary unit current sources are automatically scaled to one eighth of a primary current source as long as they equally divide the primary current source. In this structure, no accurate current mirror which is hard to design and consumes extra power

23 is required to sum the currents from two segments as in [13]. Since only 16 current sources are required, it is much easier to achieve compact layout for the DAC, which reduces the gradient mismatch among current sources.

4.2 Current Source and Accuracy Consideration

A switched current source is shown in Figure 4.3 where a cascode current source is used to increase the output impedance. Transistor M2 is designed smaller than M1 to reduce the output node capacitance without having much effect on current source matching. As mentioned above, the linearity of the DAC is mostly determined by the

OUTN OUTP

BIAS2

D

INP

D

BIAS I

AVSS

Figure 4.3 Switched current source

INN matching of the current sources. If channel-length modulation is neglected, the current I can be expressed as:

I

=

K W

2 L

(V gs V th)2

24

K' = P-nCox where p.ti is the surface mobility, C is the channel oxide capacitance per unit area, W is the channel width, L is the channel length, and Vth is the MOS threshold voltage. If we assume that all random variables are uncorrelated, the variance of the output current is

[12]:

02 02 rT2

I

IC' W

/2 K W

2 ai d

L2

02

(V gs th

)2

For the right side of the above equation, the first term gives a negligible contribution.

Since the current source in our circuit is realized as a parallel connection of many equal elementary sources with nominal current i = I/n, the variation of W and L due to fluctuations of the photolithographic process, are reduced by a factor of n. Thus the second and third terms are also negligible. From the above analysis, we know that current mismatch is mainly due to threshold variations. Specifically, the relative current error due to the threshold variation AVth equals 2 A Vth/( Vgs Vth)

.

In our case, there are only 16 current sources in a 6-bit DAC and the maximum output current is about 200 uA.

It is reasonable to assume that all current sources are closely matched where the threshold mismatch is as low as 3 mV. For the worst case, to limit the current mismatch for the

MSB whose nominal value is 2n-ILSB to under 1/2 LSB, the overdrive voltage

( Vgs Vth) must be larger than 2n + I Mith. In our design, ( Vgs Vth) is set to about

430 mV.

Figure 4.4 shows the circuit for the secondary current array. The Vds of M1 is slightly higher than that of M1 in Figure 4.3 due to the replacement of the cascode transistor by 8 transistors in parallel. To avoid the current error caused by channel-length

25 modulation effects, the M1 transistors are designed to be long channel devices. This also improves matching of the current sources.

Figure 4.4 The secondary current array

The mismatch of current sources due to linear parameter gradients can be further reduced by a symmetrical layout as shown in Figure 4.5. The basic idea is that by symmetrically distributing the unit current sources that form each single bit across the line, the gradient errors of different current sources should be odd symmetrical and cancel when summed together.

BIT2 BIT1 BITO

® ®

Figure 4.5 Symmetrical layout configuration for the current array

26

4.3 Driver Design

In order to achieve high switching speed, several aspects must be taken into consideration: a) The differential current switches should not be turned off or on simultaneously.

If the differential switches are turned off at the same time, the common source node of the differential switches will be rapidly discharged toward ground while the output node of the DAC will be charged toward the power supply voltage. It takes time for the following operation to recover from this status. On the other hand, if the differential switches are turned on simultaneously, the tail current will be split between two differential switches which is not desired. This also increases the settling time of the

DAC. To meet the above requirements, we paid special attention to the crossing point of the rising/falling waveforms of the driver outputs. The ideal cross point should be higher than the middle of the output swing where the current of each side is half of the tail current. b) The driving waveform should be clamped to the minimum allowable voltage for the following reasons: First, extra voltage swing will slow down the switching operation due to the continuous charging and recharging of the common source node of the differential switches. Second, it takes more time to charge and discharge the driver output nodes with high voltage swing. And finally, extra voltage swing creates more feedthrough noise. The minimum overdrive voltage is determined by:

V0

2/

L ifMSB

IC' W

In order to ensure a complete switching operation, the actual minimum waveform swing

AV is about 200-300 mV higher than V0,

.

27 c) The transition time of the driver outputs should be small and the waveform should be symmetrical.

Another important performance parameter of a DAC is the transient differential nonlinearity (glitch). To reduce the DAC output glitches, the differential switches for different bits should switch at the same time and at the same speed. Thus the digital inputs for the drivers should be synchronized and the driver sizes should be scaled based on their load capacitances.

It is difficult to design a driver which meets all requirements stated above. Some trade-offs have to be made based on the specific application. In our case, the DAC is designed for a sampled system. Hence output glitches are of no concern as long as the output currents settle before the sampling instant.

A high-speed switch driver is given in Figure 4.6. In this circuit, transistors M3 and M4 are cross coupled forming a positive feedback loop. Complementary digital

VDD

MI M2

1=> OUTN

1=> OUTP

M3 M4

INP

INN P

BIAS P

M5

M7 LI M9

..=

GND

Figure 4.6 High-speed driver for current-mode DAC

28 signals are applied to the gates of M5 and M6 which trigger the positive feedback. Thus the transition time of the output waveform is greatly reduced. The output swing is determined by adjusting the geometric ratio of the input pairs, the cross coupled transistors, and Mg. The transistors M7 and M9 are used to adjust the output level. Since only NMOS transistors are used in the driver design, it is less sensitive to process variations.

Simulation results of the proposed driver are shown in Figure 4.7. The driver was loaded by one unit current sources during the simulation. The output waveform has a transition time of 1.5 ns and a voltage swing of about 0.8 V which ensures that one of the differential switches is completely off and the other one drives all the current.

5.0

* ORNET OUTPUT FILE ,IHOME/xIANGYI/MDFE/D5E/682.SPI

97,02/12 13 50:59 r

4.50 :

4.0 :

3.50

0

L

V

0

T

L

I

2.50 :

2.0:

1.5D:

1.0;

500.0M

0.

3.20

3.10,

3.0,

2.9D,

2.90:

2.70

2.60­

2.50

0.

5.0N 10.04

-, -r41

15.0N

TIME OLIN)

20.0N

-r­

=

612.100

INN

= A

= IMP

612.TPD

OUTW

_ A

OUTP

25.0N

29.ON

Figure 4.7 Simulation results of the proposed driver

29

4.4 Multiplier

In the parallel MDFE, the coefficients of the feedback filter are multiplied by the previous decision values. Since the previous decisions are a sequence of +1 and -1 values, the multiplication can be done simply in the analog domain. Actually, two pairs of cross coupled differential switches (Figure 4.8) work as a multiplier by swapping the differential currents which are generated by DAC.

OUTN OUTP

IINN

A

AVSS

Figure 4.8 The current-mode 1-bit multiplier

IINP

4.5 Summary

In this chapter, the design considerations for a high-speed segmented currentmode DAC are discussed. It is shown that the driver of differential switches and the

30 current source matching are two critical parts of the design. The design also benefits from the segmented structure which reduces the number of unit current sources from 63 to 16 for a 6-bit DAC.

The simulation results for the DAC and the multiplier are given in Figure 4.9. It

is shown that a conversion rate of 200-MHz is realizable. Both the differential

nonlinearity (DNL) and integral nonlinearity (INL) are less than 0.1 LSB. The power consumption is about 4.5 mw with maximum differential output currents of 200 uA.

O

L

5 0

4.50

4.0

3.50 =

3.0f

2.50

2_0 =

1 _50

1.0

500_ OH

104.0U

102.0U

100.00

99.00

95.00

94.0U

92.0U :

0.

DAWET OUTPUT FILE </HOME/KIA14GII/HOFE/D2C/D2C.5P1,

97/02/14 22122111

5.014

11_111.

1 1

10.0W

1

15.014

TIME CLI143

I. 20.0W

1.

4

5

=

DAC HULT_TRO

OW

25.014

27.014 a) Differential current output of the proposed DAC for small step case

31

V

0

L

5.0

4_50

* DAWET OUTPUT FILE 1/HOME/xIANGII/MDFE/DAC/DAC.SP1,

*

97/02/14 23:09:23

4.0

=

3.50

3.0

2_50

2 0

1 _50

1.0

500.0M

0_

225.0U

200.0U

175.0U :

150.0U :

125.0U :

100.0U

75.0U :

50.0U

25_0U :

D. :

J.

.......

1 rN

0 ­

2.50W

5 .0

7.50W

TIME (LOW)

10.0W

=

12.50W 15.0W

17.0W

DAC_MULT_TPO

IM

_

=

EIGAFINULT.TPO

A I

I C

M2 b) Differential current output of the proposed DAC for large step case

V

0

L

T

L

5.0

1

DAWET OUTPUT FILE /HOME/xIAWGrI/MDFE/DAC/OAC_SPI, *

97/02/14 23122111

4.0

3.0

2.0 =

1.0 ­

111

P

133.364U

120.0U

100.0U

!Ns,

0 DAC_MULT_TPD

=

=

IN

A

IWP es,

10

DAC_MULT_TRO

Irvil 1

ICvM2

90.0U

P

60.0U

137.654U

120.0U

100.0U _

90.0U nnultiplier outputs (\ E lin48YVT"

I C v HOU T

5 .

III IIID

20.0W 25.0W

27.0W 0.

II

1111

II

10.0W 15.0W

TIME (LIN) c) Simulation for the proposed multiplier

Figure 4.9 HSPICE simulation results of the 6-bit DAC and the 1-bit multiplier

32

Chapter 5. Results and Conclusions

The feedback equalizer of the parallel MDFE has been designed using the circuits presented in the previous chapters. The critical timing path has been verified by Hewlett-

Packard transistor level simulations, and the layout of the equalizer has been completed using the 1.2-urn CMOS technology.

5.1 Simulations of the Feedback Equalizer

The feedback equalizer of the parallel MDFE has been designed based on the architecture shown in Figure 2.4. A 6-bit latch is added to each DAC to sample and latch the counter outputs during each clock cycle. The load/read circuitry for the counters including data bus, address bus and decoder are also added to facilitate chip testing. The

ENBL signal is used to fix the counters by setting it to low. Therefore, the adaptation is disabled and the feedback equalizer will use the preloaded coefficients. The STARTUP signal is used to change the adaptation speed. The schematic of the feedback equalizer is shown in Figure 5.1. HSPICE simulations have been performed to verify the critical timing path and the system function. Summing node circuitry was connected to the feedback equalizer as a realistic output load in the simulations. Some simulation results for verifying the feedback loop are given in Figure 5.2 which shows that all signals are well synchronized by the clock signals and able to settle before being sampled.

5.2 Layout of the Feedback Equalizer

The feedback equalizer has been laid out using the HP 1.2-urn CMOS

technology. Fully customized layout for both analog and digital circuits helps to improve

34

V

0

L

T

L

V

0

L

T

* ORWET OUTPUT FILE /HOME/xIAW6vI/MDFE/FOL/FOLSIMP

*

97/02/04 15:10:13

1

4_0 r

2. 0

I f

-1 o.

1

11

T 0

IFIBLSIMP_TPD a 4.0

_

FOLSIMP.TRO

CLt1 a

: B__ _ _ _

It

2_0

0

O.

5_1654 =

4.0

1,1

V

0

L

T

L

2.0 o.

5.1663 =

4.0

2.0

FPLSIMP.TPO

DIA

A

02A

D3A

F9L6IMP_T90

O

O 19

029

03B

I

I 0

0 W

I-

-t-

-I I-1.I

I

I.;

20.0W 30_0W

TIME CLIW)

40 ON

0

50 OW 60.0W

62_0W a) Simulation of the delay chain

* ORWET OUTPUT FILE g/WOME/xIRWGyI/MDFE/F9L/FRL6IMP, *

97/02/05 00 46:44

F9LSIMP_TPD

CLK1

CLt2 v

0

L

T

L

I

W

V

0

L

T

L

5_1539 =

4.0

I

2.0

I-1

O.

5 _2089 5*--0.-­

4_0 I­

0_

_...L

1

FBLSIMP.TPO

Q APIA[0]

TRP1RE11

VI_556_W_233

-

FRLSIMP_TPD

PETRI xI_556.1,1_130 xI_556_13ETRO

1.1 b

A dil

&I C.4

1

TIME [LIN

00 ON

,

L

J

.....

L

.

, .

_ . _A_I

Y

T

1

150.0W

182.0W

FOLSIMP.TP0

EPP2

134A xI_556.W_13

(Enbl) b) Simulation of the counter and adaptation logic

35

DAWET OUTPUT FILE

.,,140ME/x1ANGII/HOFE/FDL/FDLSIHP$

97/02/04 15:10:13

L

O 1

L

L

O

1

L

4.

2.0T

=A_ -1­

0

4.0

2_0:

_s-

A L

200.0U _ loo.ou

11.1

; f

4--).1 j. ­ r

0.

150.011

A L

H I

P A

100.0U ;

50-0U ­

199.413U _

A L

H

I p

100_0U _

1 .7499U :

A L

H

1

P A

400 DU

200.0U

-w' r

10 .

I

20.014 30.011

TIME CLIW)

4 0 011

50.01

0.

_

FDLSIHP.TPO

CLL1

A

CLK2

FDLSIHP_TPO

- DIA

DID

=

-M FBL5THP_TP0

IlvDACIIM

­

=

ICODOCIIP

=

FDLSIMP_TP0

Ifv0AC2114 ilAiCv0AC21P

F9L5IMP.TPO

icvoacolu a

ICvDACOIP

= UH--­

A

=

ICvFDLIP c) Simulation of the DAC' s and the differential feedback currents

Figure 5.2 HSPICE simulation for the feedback loop speed performance and reduce die area. Guard rings around the digital blocks are used to reduce noise coupling from the digital section to the analog circuits through the common substrate. The layouts of each major block and the equalizer are shown in Appendix B.

Post-layout simulations for the DAC and the 10-bit counter given in Figure 5.3 show that even with some speed degradation due to the wiring capacitances, the decision feedback filter can achieve the desired speed.

5.3 Summary

In this thesis, the parallel structure of the multi-level decision feedback equalizer has been explored. Circuit designs for several major building blocks are carefully discussed. Extensive HSPICE simulations have been done to verify the circuit and

0

L

L

* FILE! !HOHE,XIANGTI/HEIFE/C4JT,EIVT_POST1.5P_ CPEATIOW TIME 1 0.7 FEB 15

97/02/15 15120140

4.0

7r­

CHT_PD51-1.71

VECLK vELOP,0

2_0 v

O

L

I

14

0.

5.1158

-

4.0

1

I

2.0[1 i I

5.0911

-

4.0

1 r

0

L

T

L

I

W

2_0

0

L

T

I

W

EL

5_0445

4_0

2.0

0_

0_

I

I

1

1

I

I

I

.

I ,

100.0W

)

I

1

_J.

Jiff

1 1

I

200:0WL

TIME [LIN]

_IF

L

_LL

I

I t

I i

I

I

1

I

300:0W

1

17_ ii2LT,POST1_71

1.7 0(22______

VE04

_

.

19 EWT_PD5T1.T1

0(05

-

CHT_POS.T1.71

0E07

VE00

0[09

4100-t0W

420.0W

36

0

T

L

* FILE! !HOHE/XIAWBTI/HCIFE/DgMg5TE07.i37EPERTIOW TIME! HOW FEB 10 2

5.0

4.0

F

1

-

=

-

DAC_POST TOO

IHP a

BIT2P

3_0 r

2_0,

1.0,

....JILL.,

II

H

P

175.01

150.0U

125.0U

100.0U

75.0U :

50.0U;

25.0U

175.0U :

150_0U

125.0U :

100.0U :

75.0U

50.0U

25.0U ;

0_

I I

!

---,---

--i

1j

11111

1 10.0W 15.0W

TIME (LOW)

.1--...,...

v./

20.014 fie

25.0W i

_53

DAC_PO5T.TPO

Icvm1

.

=

=

Vc5,7,gN-ITJ-T"

ICvHOUTP

30. ON

32 OW b) Post layout simulation for the DAC and the multiplier

Figure 5.3 Post-layout simulation for the DAC and the counter

37 system design. It has been shown that the proposed parallel MDFE is able to achieve 100­

Mbs symbol rate.

5.4 Future work

In the feedback equalizer of this version, each tap has it is own counter and DAC to generate the digital coefficient and convert it to differential currents, respectively.

However, in the circuit design, both the DAC and the counter can work much faster than required by the system architecture. It's possible to share the counters and DAC's by adding some control logic and current copiers. Thus both the die area and power consumption would be greatly reduced.

38

Bibliography

[1]

[2]

[3]

[4]

[5]

G. Long, et al., "The LMS algorithm with Delayed Coefficient Adaptation,"

IEEE trans. on Acoustics, Speech, and Signal Proc., vol. 37, no. 9, pp. 1397­

1405, Sept. 1989

J.M. Cioffi, et al., "Adaptive Equalization in Magnetic-disk Storage Channels,"

IEEE Comm. Mag., pp.14-29, Feb. 1990

J.W. Bergman, et al., "Density improvements in digital magnetic recording by decision feedback equalization," IEEE Trans. on Mag., vol. 22, no. 3, pp. 157­

162, May 1986

J.G. Kenney, et al., "Multi-level Decision Feedback Equalization for Saturation

Recording," IEEE Trans. on Magn., vol. 29, no. 4, pp. 2160-2171, July 1993

J.G. Kenney et al., "Multi-level Decision Feedback Equalization: An Efficient

Realization of FDTS/DF," IEEE Trans. on Magnetics, vol. 31, no. 2, pp. 1115­

1121, Mar. 1995

[6]

[7]

J.G. Kenney, et al., "Pipelining for Speed doubling in MDFE," Proceedings of the IEEE International conference on Communications, vol. 1, pp. 561-565,

June 1996.

J.E. Brown, et al., "A 35-Mb/s Mixed-Signal Decision-Feedback Equalizer for

Disk-Drive Applications," IEEE J. Solid-State Circuits, vol. 31, no. 9, pp. 1258­

1266, Sep. 1996

[8]

[9]

J.C. Boyce, Digital Logic Operation and Analysis, Prentice-Hall, Englewood

Cliffs, N.J., 1982

J.-R. Yuan, et al., "High-Speed CMOS Circuit Technique," IEEE J. Solid-State

Circuits, vol. 24, no. 1, pp. 62-70, Feb. 1989

[10] J.-R. Yuan, et al., "Fast CMOS Nonbinary Divider and Counter," Electronics

Letter, vol. 29, no. 13, pp. 1222-1223, June 1993

[11] J.F. Wakerly, Digital Design Principles and Practice, Prentice-Hall, Englewood

Cliffs, N.J., 1990

[12] A. Cremonesi, et al., "A 100-MHz CMOS DAC for Video-Graphic Systems,"

IEEE J. Solid-State Circuits, vol. 24, no. 3, pp. 635-639, June 1989

[13] K. L. Fong, et al., "A 10 Bit Semi-Algorithmic Current Mode DAC," Proc. IEEE

39

Int. Symp. on Circuits and Systems, pp. 978-981, Chicago, 1993

[14] C. A. A. Bastiaansen, et al., "A 10-b 40MHz 0.8-urn CMOS Current-Output D/

A Converter," IEEE J. of Solid-State Circuits, vol. 26, pp. 917-921, July 1991

[15] S.-Y. Chin, et al., "A 10-b 125-MHz CMOS Digital-to-Analog Converter (DAC) with Threshold-Voltage Compensated Current Sources," IEEE J. of Solid-State

Circuits, vol. 29, pp. 1374-1380, Nov. 1994

Appendices

40

Appendix A. Mat lab Simulation Code

% File SimMDFE.m

:

% Programmer Yihai Xiang

:

% Note Simulation of MDFE (Parallel structure)

:

%%%%%%%%%%Generate random RLL(1,7) input code%%%%%%%%%%

N = 4000; u = randn(N + 10, 1); u = sign(u); st = 1; for i = 1 N + 10

: if u(i) == 0 u(i) = 1; end if st == 1 u(i) = 1; st = 2; elseif st == -1 u(i) = -1; st = -2; elseif st == 7 u(i) = -1; st = -1; elseif st == -7 u(i) = 1; st = 1; elseif st > 1 if u(i) == 1 st = st + 1; else st = -1; end else if u(i) == -1 st = st 1; else st = 1; end end end

%%%%%%%%%Generate MDFE input (FE output)%%%%%%%%%%%%%% noise = 0.25; %Channel noise offset = 0.1; %Offset

41

42

%P = [0.5 0.8 0.5 -0.18 -0.35 -0.24 -0.15 -0.09 -0.04 -0.02

0.011];

%P = [-0.01 -0.02 -0.04 -0.09 -0.15 -0.24 -0.35 -0.18 0.5

0.8 0.5];

%P = [1.0863 2.0000 1.1161 -0.2774 -0.8367 -0.8032 -0.6616

0.5103 -0.3594 -0.2432 -0.1662]

P = [-0.1662 -0.2432 -0.3594 -0.5103 -0.6616 -0.8032 -0.8367

0.2774

...

1.1161 2.0000 1.0863]; x = zeros(N, 1); for i = 11 N + 10

: x(i 10) = sum(P .* u(i 10

: i)'); end x = x + offset + randn(N, 1)*noise;

%%%%%%%%%Simlate MDFE (My structure) % % % % % % % % % % % % % % % % % % % % %%

ENBL = 5;

Gain = 3;

Pf = zeros(8, 1); % 8 taps (counters)

Pf_dcl = 0; %DC tap for channell

Pf_dc2 = 0; %DC tap for channel2 beta = 1/2'1; %Adaptation step

Achl_Odd = zeros(4, 1); %Delay chain for channell

Ach1_Even = zeros(5, 1); %Delay chain for channell

Ach2_Odd = zeros(6, 1); %Delay chain for channel2

Ach2_Even = zeros(4, 1); %Delay chain for channel2

PfS1 = Pf; %S/H for channell counter ouputs

PfS2 = Pf; %S/H for channel2 counter ouputs

%Initial counters

Pf = [0.2774 0.8367 0.8032 0.6616 0.5103 0.3594 0.2432

0.1662];

Pf = Pf/Gain;

Y_chl = zeros(floor(N/2) + 1, 1); %Summing node ouputs for channell

Y_ch2 = zeros(floor(N/2) + 1, 1); %Summing node ouputs for channel2

Err_chl = 1; %Error signals

Err_ch2 = 1;

CompOutl = 0; %Comparator ouputs

CompOut2 = 0; offset_chl = 0.1; %Offset created by channell offset_ch2 = -0.1; %Offset created by channel2 preset_offset = -0.4; %Preset offset for both channels

A = zeros(N, 1); %MUX outputs (decision sequence)

43 for i = 1 N

: idx = floor(i/2) + 1; if i == 400 %End of startup beta = 1/2^10; end if (idx 1) -= i/2

%%%Channell%%%

Z_chi = PfS1(1)*Achl_Odd(1) + PfS1(3)*Achl_Odd(2) +

PfS1(5)*Achl_Odd(3)

...

+ PfS1(7)*Achl_Odd(4) + PfS1(2)*Achl_Even(1) +

PfS1(4)*Achl_Even(2) ...

+ PfS1(6)*Achl_Even(3) + PfS1(8)*Achl_Even(4);% + Pf_dcl

+ preset_offset;

Y_chl(idx) = x(i) + Z_chl*Gain + offset_chl;

%%%Comparator of channell: A(i

1) if Y_chl(idx) >= 0

CompOutl = 1; else

CompOutl = -1; end

%%%Sample and hold counter outputs

PfS1(1) = Pf(1); PfS1(3) = Pf(3); PfS1(5) = Pf(5);

PfS1(7) = Pf(7);

PfS1(2) = PfS2(2); PfS1(4) = PfS2(4); PfS1(6) = PfS2(6);

PfS1(8) = PfS2(8);

%%%Delay chain of channell

Achl_Odd(2:4) = Achl_Odd(1:3);

Achl_Odd(1) = CompOutl;

Achl_Even(2:5) = Achl_Even(1:4);

Ach1_Even(1) = Ach2_0dd(1);

%%%Counters & adaptatation logic of channell if ENBL == 1 if Achl_Odd(1) == -Achl_Odd(2) %Inner level, adapta­ tion needed for index (i

2)

Pf(1) = Pf(1) + beta *Err_ch2 *Achl_Even(2);

Pf(3) = Pf(3) + beta*Err_ch2*Achl_Even(3);

Pf(5) = Pf(5) + beta *Err_ch2 *Achl_Even(4);

Pf(7) = Pf(7) + beta*Err_ch2*Achl_Even(5);

Pf_dc2 = Pf_dc2 + beta*Err_ch2; end

44 end

%%%Error generater logic: calculate error for index (i

1) if Achl_Odd(1) == 1 if Y_chl(idx) >= P(10)

Err_chl = -1; else

Err_chl = 1; end else if Y_chl(idx) <= -P(10)

Err_chl = 1; else

Err_chl = -1; end end

%%%End of Channell%%% else

% % %Channel2 % %%

Z_ch2 = PfS2(1)*Ach2_0dd(1) + PfS2(3)*Ach2_0dd(2) +

PfS2(5)*Ach2_0dd(3)

...

+ PfS2(7) *Ach2_Odd(4) + PfS2(2)*Ach2_Even(1) +

PfS2(4)*Ach2_Even(2)

...

+ PfS2(6)*Ach2_Even(3) + PfS2(8)*Ach2_Even(4);% + Pf_dc2

+ preset_offset;

Y_ch2(idx) = x(i) + Z_ch2*Gain + offset_ch2;

%%%Comparator of channel2: A(i

1) if Y_ch2(idx) >= 0

CompOut2 = 1; else

CompOut2 = -1; end

%%%Sample and hold counter outputs

PfS2(2) = Pf(2); PfS2(4) = Pf(4); PfS2(6) = Pf(6);

PfS2(8) = Pf(8);

PfS2(1) = PfS1(1); PfS2(3) = PfS1(3); PfS2(5) = PfS1(5);

PfS2(7) = PfS1(7);

%%%Delay chain of channel2

Ach2_Odd(2:6) = Ach2_0dd(1:5);

Ach2_0dd(1) = CompOut2;

45

Ach2_Even(2:4) = Ach2_Even(1:3);

Ach2_Even(1) = Ach1_0dd(1);

%%%Counters & adaptatation logic of channel2 if ENBL == 1 if Ach2_0dd(1) == -Ach2_0dd(2) %Inner level, adapta­ tion needed for index (i

2)

Pf(2) = Pf(2) + beta *Err_chl *Ach2_Odd(3);

Pf(4) = Pf(4) + beta*Err_ch1*Ach2_0dd(4);

Pf(6) = Pf(6) + beta *Err_chl *Ach2_Odd(5);

Pf(8) = Pf(8) + beta *Err_chl *Ach2_Odd(6);

Pf_dcl = Pf_dcl + beta *Err_chl; end end

%%%Error generater logic: calculate error for index (i

1) if Ach2_Odd(1) == 1 if Y_ch2(idx) >= P(10)

Err_ch2 = -1; else

Err_ch2 = 1; end else if Y_ch2(idx) <= -P(10)

Err_ch2 = 1; else

Err_ch2 = -1; end end

%%%End of Channel2 % %% end

%%%Output MUX if (idx 1) -= i/2

A(i) = CompOutl; else

A(i) = CompOut2; end end

Appendix B. Layouts

Appendix B.1 Layout of the decoder

46

Appendix B.2 Layout of the 6-bit DAC

47

.111:41

" lin Mimi II I ri lir

MUT)

WO .004ellWilli

Egg

70,1

Appendix B.3 Layout of the multiplier

48

NOPOISAWC:ON

Appendix B.4 Layout of the 10-bit up/down counter, latches and control logic

49

j,;;,;:iii%:71

1F1

WM. VI *WM

I : C

17! Z

47.11 r

_

171, mi.!".

WV-1-n--t-:

I.

I

I

-46

6W

Mimil .."

111

!

,

,r.

.L

4ni

I set

V.

1.1.

Qui 11111 cal r in III ail huh n

;

4,911 hUt 1111 lull

' ' ii''

...

.!palm! ma, Illp iiiP 111.

# 4.

. .

.1 .1

.

Illb

,

1101 hti

WAN; I

_

1 /111,1 MI 11.1 iii

III M.

4 pm Hip

. 4 a lbw." el ji

.

.

I cluv:.*

II limn i

I ot...1

.

Tr.

I

_ots

N

7 1k

J

.

Ito

Irp.....", -7

......r....-7.:.:.71L1.'ILI.11­

11 111

IL-6-01-nrig:

. i.

1,

1

. r trmmiu.­

1 Im,...--.

.

'

.

Orittil.,,,1111:,,.

I

'11

.

_

. ... ,,.. ..., ,,,,

!. . '.

. .

.

Jim pill! 111111 III '

I. 1* i'

.

-." .in

. .....

_

*

. i

V T iii iiiii sem 11114 ilii

1 !AI

Emil mac

. d

/Pi!

t

.

.

itiumno Jai ail:

I. ;­

.1111

Iii I hut if

V --1 i . ,.. 'Ai - 'I -.011 . i

4, IIII A111,1 1 1111 PEI till mu illi

<

11.111111111111! TIM

#

11111 1

IIIP

;I._

,

A

1

: ?

.1\

IV.;

4

.

! '-'

,.. men......_ a

M tog i I

..

It

!

.

II wig

I

1.

. "Tr 1.1MOrd

I aiiram

NM

.....

4

1 7 t,

11:

Download