Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Table of Contents
Section Page
Backgournd.2
Design Flow3
6 Bit Multiplier8
6 Bit Delay..12
Design Implementation15
System in Padframe.32
Chip Description..33
Testing Procedures...34
Improvements...42
Appendix...44
2
Background
Multipliers are one of the most important elements in digital filters such as Finite Impulse
Response (FIR) and Infinite Impulse Response (IIR) Filters. These filters are used in a
wide variety of Digital Signal Processing (DSP) applications such as A/D converters,
signal modulators, audio signal processing, multimedia, and process control just to name
a few.
Incorporating the multiplier in a simple feedback system gives a setup for ease of testing
multiplier design functionality and can be applied as a filter element for other DSP
systems. With a defined input and coefficient applied to the system, it can create output
waveforms that can be easily analyzed. Varying the coefficient with a given input signal,
the multiplier can produce different output signals. In addition, the feedback system can
be coupled to other 6-bit systems (A/D converter and PLL)that can act as an IIR filter.
Finally, designing a 6-bit multiplier can serve as a basis for IC design students to work
with as a tool in their understanding of digital design. It is also a stepping-stone for
students in designing other CMOS projects using the AMI06 technology and to
encourage them to make improvements in the design.
3
Design Flow
In designing the 6-bit Multiplier for a DSP on SOC, it was important to follow a design
flow to successfully complete the project. The very first step needed was to learn system
theory and to understand each component in the system. With a deeper knowledge of the
theory behind the workings of a multiplier and the system that is required to test its
functionality, the design and testing just fell into place.
There are four main blocks in the design flow - the Initial Design, Design and Layout in
Cadence, Testing, and Documentation. Within the design and layout in Cadence, another
design flow was followed. This is the protocol that was followed to successfully send the
finished layout to MOSIS for fabrication.
Schematic
Capture
Initial Design
Testbench
Design and
Layout in
CADENCE Layout
Testing Circuit
DRC LVS
Extraction
Post
Verificatio
Extraction
n
Simulation
Documentaion
Padframe
4
DSP System Design Theory
The system design configuration used for testing the multiplier functionality is also a
filter system with a feedback from the output. As shown in Figure 2, the system consists
of an Adder, a Delay (Z-1), and a Multiplier. The feedback system has a 6-bit input X(n),
a 6-bit coefficient that is less than 1 (a) to the multiplier, and a 7-bit output Y(n)
including the Carry-Out (Co) from the multiplier.
X(n) + Y(n)
x Z-1
a
X(n) - input
Y(n) - output
a - coefficient
Z-1 - delay
System Theory
By algebraic manipulation, the difference equation (1) can be transformed to get the
transfer function
1
H ( z) = Transfer Function (2)
1 az 1
5
To further understand how the multiplier should work with the system and why the
coefficient has to have a value less than 1,an impulse response needs to be introduced to
the input of the system. This discussion will be referred to in later chapter on the testing
of the multiplier.
Table 1. Impulse Response, Input and Output relationship with coefficient greater than 1
As shown in Table 1, the impulse response should yield an output of zero over a discrete
time interval because the multiplier coefficient will be less than one. If the multiplier a
were to be a value greater than one, for the general case, an d(0), the output will become
unstable and unbounded over time. It will approach infinity and will do nothing to test
the multiplier design.
Since we are applying an impulse in the input, for any value less than one in the
coefficient, the output should approach to zero. By examining the feedback system
below (Figure 2) of coefficient a = 0.5 [Refer to the Appendix for binary equivalent of
the coefficient (B5-B0)], we can see what is happening in each block.
In the initial stage (Figure 3a), input is zero, then every block will register zero. As the
input hits the impulse (Figure 3b), the adder adds the value of the input (111111) to the
previous product of the multiplier (000000), which it ouputs 111111. The output is then
carried to the delay and is multiplied by the coefficient (100000) outputting a product of
011111.
When the input hits the end of the impulse (Figure 3c), which is zero, the adder adds the
value of the input and the previous product of the multiplier, [(000000) + (011111)] =
011111. The added value is then carried to the output and the delay (Figure 3d). The
delay (011111) and the coefficient (100000) are multiplied again resulting in a product of
001111).
6
000000 000000 000000 111111 111111 111111
X(n) + Y(n) X(n) + Y(n)
000000 011111
111111
x Z-1 x Z-1
a = 100000 a = 100000
001111 000111
011111 001111
x Z-1 x Z-1
a = 100000 a = 100000
7
From this moment on, the input will be zero, which contributes nothing to the system. So
for every time the signal goes through the multiplier, with a coefficient of 0.5, it shifts
one bit to the right as seen in Table 2.
From the analysis of the system, having an impulse signal applied to the input of the
system produces an output waveform that can be easily analyzed to see if the multiplier
does indeed work. This is also true by using a different value for the coefficient, as seen
in Table 2. Notice that having a coefficient of 0.25, 2 bits are shifted, and a coefficient of
0.125 shifts 3 bits.
The analysis done above did not put the overflow in consideration. In the initial
multiplication of the impulse signal, a carry-out will occur since all of the input bits are
all 1. The carry-out will cause some glitches, which will be pointed out during the testing
section.
8
6-bit Multiplier
Multiplication is just a series of repeated addition that are shifted. Consider the following
binary multiplication of a two 6-bit integer value.
N
111001 (57) Multiplicand
X
110011 (51) Multiplier
111001
111001
000000
N
000000
111001
111001
101101011011 (2907)
For every bit, starting with the least significant bit (LSB) and ending with the most
significant bit (MSB), the multiplier is multiplied with the multiplicand. Every product is
aligned and shifted to the left according to the position of the multiplier bit. The six
products are then added together to get the final product.
It is evident that when the multiplier bit is 1, the corresponding product is the shifted
copy of the multiplicand. And when the multiplier bit is 0, then the product is 0. Thus,
every multiplication bit is just an AND operation.
For an N-bit wide multiplicand and Multiplier (an N x N multiplication), the product will
have a 2N-bit wide product. The result of our desired 6 X 6 multiplication has a 12-bit
product.
9
A simple 6-Bit Unsigned Binary Multiplication
A5 A4 A3 A2 A1 A0
x B5 B4 B3 B2 B1 B0
A5B0 A4B0 A3B0 A2B0 A1B0 A0B0
A5B1 A4B1 A3B1 A2B1 A1B1 A0B1
A5B2 A4B2 A3B2 A2B2 A1B2 A0B2
A5B3 A4B3 A3B3 A2B3 A1B3 A0B3
A5B4 A4B4 A3B4 A2B4 A1B4 A0B4
A5B5 A4B5 A3B5 A2B5 A1B5 A0B5
S5 S4 S3 S2 S1 S0 . [ DO NOT CARE !!!!! ]
a 6-Bit Multiplier will return 12-bits. Because the multiplier coefficient is less than one,
only 6-bits are needed, and the remaining 6-bits are ignored. This is done in order to
have 6-bit feedback adding with the 6-bit input. Because of the feedback, only 6-bits are
allowed or else the system will become unstable and continually output larger bit sizes.
So outputs S5S4S3S2S1S0 will be hardwired to the 6-bit adder.
Now that the basis of multiplication of an N x N bit binary number is set, the design of
the 6-bit multiplier can now be started. In order to design a multiplier, a combinational
circuit has to be constructed for the necessary operation of each product and the final
addition.
10
6-Bit Full Adder
The full adder is one of the most important components used not only in the design of the
6-bit Full Adder in the DSP system, but also in the multiplier design. The full adder
design discussed is implemented for both the 6-bit Adder and the 6-bit Multiplier.
Let us start by looking at the truth table of the Full Adder shown in Table 3. The three
inputs A, B and Cin generate the Sum (S) and Carry-out (Co). By creating the Karnough
map from the Full Adder truth table we get the expressions for Co and S.
INPUT1 (A) INPUT2 (B) CARRY IN SUM OUT (S) CARRY OUT
(Cin) (Co)
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
AB AB
Cin 00 01 11 10 Cin 00 01 11 10
0 0 0 1 0 0 0 1 0 1
1 0 1 1 1 1 1 0 1 0
11
The Co expression is easily obtained through the K-map.
The expression for S may look simple, but in terms of constructing with CMOS
transistors, it may prove to be difficult. Instead, by looking at the truth table, the output S
is simply the inverse of Co except for the cases where ABCin = 000 and ABCin = 111.
The new output expression becomes
Though this method may slow down the adder because S has to wait for Co to compute, it
is significantly easier to implement. Both expressions are now composed of AND, OR
and INV gates.
A
B
Cin
Co S
To make a 6-bit Full Adder, 6 Full Adders are connected in series. The Full Adder
schematic is shown in later the later section.
12
6-Bit Delay
From the DSP system, the previous output, must be multiplied by a coefficient and then
added with the current input value in order to generate the new output value. To obtain
the previous output, the value must be held or delayed, so that it can be accessed at a later
given time.
The significance of the D-Flip Flop is its ability to hold and store values for an indefinite
amount of time. This hold time is governed by an input CLOCK signal. The length of
the hold time is one complete clock cycle. The shortest hold time is the time the DFF
needs in order to have a stable output. The DFF is triggered on the rising edge of the
clock, becoming active once with every clock cycle. The DFF must be equipped with a
reset function. The reset function is used to clear out any value held within the DFF,
setting the output to 0. Because the DFF can hold values, it acts as a delay in the DSP
system. Whenever the input D is HIGH, the output Q will follow the input.
Deciding not to reinvent the DFF, the DFF designed by Dr. Parent from his Spring 2003
Electrical Engineering 166, Design of CMOS Digital Integrated Circuits shown in Figure
5a, was used for the basis of the DFF in the project.
NPRE
D
Q
NCLK CLK
NQ
ND
NCLR
D
Q
NCLK CLK
NQ
ND
VDD
13
The DFF was slightly modified as illustrated in Figure 6b, taking a well thought out
design into a more simplistic approach. Unfortunately, these modifications created flaws
to the design of the DFF. The reset function of the DFF was no longer active.
Each DFF held 1-bit of the 6-bit output. As shown in Figure 7, six DFF were used to
hold the 6-bit output.
Q0 Q1 Q2 Q3 Q4 Q5
D0 D1 D2 D3 D4 D5
CLK
The clock skew has to be considered in the design of the DFF. If there is clock skewing
occurring, the DFF will be triggering at different clock edge, which results in timing
problem for each bit. This will cause a glitch or an operation that will cause the
multiplier to output a wrong product from the feedback. The solution to this is equal
paths and spacing of the clock connection and minimize corners to get equal time in
receiving the clock signal for each DFF.
14
Design Specification
The process that was used is the AMI06 .5micron technology. This is the technology
required for MOSIS to fabricate the chip. The frequency requirement was 200MHz.,
which was the required frequency in EE166 class. But when the system layout was
padframed, because of the super buffers in the pins, the system was limited to perform at
less than 50 MHz. The VDD was set at 5 V.
There are two sets of 6-bit inputs. One set is the 6-bit input signal (A5A4A3A2A1A0),
which is the impulse signal during testbenches in Cadence and actual testing of the chip.
The other set is the 6-bit coefficient (B5B4B3B2B1B0) that is less than one. And of course
the clock (CLK).
The output consists of a 6-bit (S5S4S3S2S1S0) and a Carry-out (Co) to indicate if there is
an overflow in the multiplication. The Co helps in determining and is a good indicator if
the multiplier is functioning properly when testing.
15
Design Implementation
Since the most important aim in the project was to design a Multiplier that is functional
and that can be tested easily, the width and length consideration was not principal. The
minimum width and length were used in designing the Multiplier and the other
components in the DSP system.
In this section, each components schematic and layout are shown. The components are
then put together to form the DSP system. The simulation of different coefficient values
is then pointed out and discussed.
16
6-Bit Full Adder
The Full adder schematic in Figure 8 was modeled from Figure 5 in the design theory
section. It consists of 28 transistors having 3m for all the widths and 600nm for the
lengths. Inputs are A, B, and C as the Carry-in. Outputs are the Carry_out and the Sum.
The full adder is a fundamental part of the design of the whole system. Not only this
design is used for the 6-bit full adder, but it is also a major component of the 6-bit
multiplier.
17
6-Bit Full Adder
The 6-bit Full Adder was designed by connecting six full adders together, as shown in
Figure 9. The first full adder to the most left is where the least significant bit of both the
input signal A0 and the coefficient B0 are added with the carry-in grounded. The
following bits are then added with individual full adders.
The full adders are cascaded by connecting the carry-out of one full adder to the carry-in
of another full adder. For every bit of the output signal, a full adder is assigned,
corresponding to the order of the inputs. The outputs most significant bit (S5) is the last
full adder on the right and the least significant bit (S0) is the last full adder on the left.
18
6-Bit Full Adder Layout
The layout of the 6-Bit Full Adder was approached exactly the way the schematic design
was approached. It was efficient to layout one full adder and copy it five times and
cascade it with the proper routing of the connections. The most significant bit for the
inputs and output is on the far right and the least significant bits are on the far left.
The layout used the conventional way, as taught in EE166, of setting the Vdd on the top
and Gnd on the bottom of the layout. Three metal layers were used to route the
connections together, using metal3 as the input and output connection from the full
adders.
19
D-Flip Flop (Delay)
DFF Schematic
As mentioned in the design theory section, the design of the DFF was based on Dr.
Parents design from EE166 Digital CMOS design class of Spring 2003. It was modified
where the reset was taken out. This caused some minor problem in the project, which
will be discussed in the improvement section.
Figure 11 shows the DFF schematic. The schematic has a simple master and slave
section that consists of four nand2s and four nand3s.
The nand2schematic is shown in Figure 12a and the nand3 is shown in Figure 12b.
Making it easy for the design, the widths for the nand2 and the nand3 are also 3m and
the lengths are also 600nm similar to the adder.
20
Figure 12a. Nand2 Schematic of DFF
21
6-Bit DFF Schematic
To make a 6-bit Delay, 6 DFF are connected together with a common CLK as seen in
Figure 13. The inputs least significant bit is D0 and the most significant bit is D5. The
outputs most significant bit is Q5 and the least significant bit is Q0.
The input signal D5 D0 are from the output of the 6-bit adder and the output Q5 Q0
are going to the multiplier, which are multiplied to the coefficient.
22
6-Bit DFF Layout
The whole layout was started with designing one DFF and copying that design five times
to create the 6-bit DFF in Figure 14. It was planned ahead of time to connect the 6 DFF
in a row to match up with the layout of the adder and the multiplier. The layout uses 3
metals with metal 3 as the input and output metal this is the same metal used in the
input and output of the adder and the multiplier.
In the layout, clock skew must be kept to a minimum. Because the design was to be
compact, clock is laid out as a bus, where each DFF was spaced out equally and the clock
signal branched out to each DFF clock input. To eliminate clock skewing, the metal
paths to the input clock of each DFF where the same exact path, take the same exact
corner, all from one clock source.
23
6-Bit Multiplier
As mentioned in the Design Theory section, every multiplication bit will be an AND
operation, which is referred to as a partial product. The partial products are then summed
by using Adders in each column. Any carries must be propagated from right to left
across the column.
In keeping the design simple for a multiplier, a ripple carry array adder system is used.
The sum and carry-out of each full adder is carried on to the next fuller adder. As a result
30 Full Adders and 36 AND gates were implemented (See Figure 15 for the Multiplier
Schematic)
The full adder used is the same full adder used for the 6-bit full adder. And the and2 gate
used is the same and2 gate used for the DFF.
It was explained in the design theory section of the multiplier that a 6-bit by 6-bit
multiplication will result in a 12-bit product. Since our coefficient is less than 1, we only
care about the sic most significant bits. In the schematic, the right most bits
(S5S4S3S2S1S0) are the only ones used in the system.
24
Full Adder
And2
25
6-Bit Multiplier Layout
The layout of the 6-bit multiplier was setup, as shown in Figure 16, considering the other
components that will be connected. The coefficients (B5-B0) are on the right side. The
inputs (from the Delay) and outputs to the adders are on the bottom.
26
DSP System
With the schematic and layout done for each component, the system is ready to be put
together. The system schematic is shown in Figure 17. The schematic creates pins for
each inputs and outputs of the system, which was put together to create a symbol for the
system for simulation.
27
System Layout
The layout of the system is very compact. Metal3 connects all of the components
together with the multiplier on the top, in the middle is the delay, and the bottom is the
adder as indicated in Figure 18.
Multiplier
Delay
Adder
28
DSP System Testbench
With the layout in place, testing the system is imperative to determine if the design is
Padframe worthy. To test the system, a symbol is created and voltages and loads are
connected to the proper inputs and outputs.
29
Waveform Simulation At 0.5 Coefficient
The impulse signal applied to the input (A3-A0) caused output (S3-S0) to go high on the
next positive clock edge. As soon as the signal goes through the delay, the multiplier
multiplies the 001111 signal that the delay sent to the coefficient (100000). As discussed
in the Design System Theory section, a 0.5 coefficient will shift every bit once, for every
clock cycle, until the final feedback all goes to zero. This is illustrated in Figure 18
below.
Notice that the carry-out (Co) stays low because there is no overflow due to the 2 MSB of
the input to be zero.
Figure 20. Simulated Waveform at 0.5 coefficient with an impulse signal for the input
30
Testing at 0.25 Coefficient
To test the system with a coefficient of 0.25, pin B4 should be high and the rest is set to
low (Refer to Appendix for the coefficient value). The rest of the configuration is similar
to the previous testbench illustrated in Figure 17.
With a coefficient of 0.25, the 2 most significant bits are shifted or turns zero every clock
cycle. S5 and S4 are always zero, because the impulse signal is only applied to A3 A0.
Since there is no over-flow, the carry out (Co) is always zero.
Figure 21. Simulated Waveform at 0.25 coefficient with an impulse signal for the input
31
Testing at 0.125 Coefficient
To test the system with a coefficient of 0.125, pin B3 should be high and the rest is set to
low (Refer to Appendix For the coefficient value). The rest of the configuration is
similar to the previous testbench illustrated in Figure 17.
With a coefficient of 0.25, the 3 most significant bits are shifted or turns zero every clock
cycle. Again S5 and S4 are always zero, due to the impulse signal applied applied to A3
A0.
Similarly from the previous simulations, no over-flow, and the carry out (Co) is always
zero.
Figure 22. Simulated Waveform at 0.25 coefficient with an impulse signal for the input
32
System In Padframe
The system itself is in the center of the padframe occupying only a fourth of the space.
As shown in Figure 23, inputs and output of the system are connected to the pin outs of
the padframe. Only 22 of the pins are used in the padframe.
33
Chip Description
B5 1 40
VDD = 5VDC
B4 2 39 VDD CLK: clock set @ 50MHz
B3 3 38 GND: ground
B2 4 37 A0
B1 5 36 A1
INPUTS
B0 6 35 A2 Input Signal: A5-A0
7 34 A3 Coefficient (B5 B0): is less than 1
8 33 A4
9 32 A5
OUTPUT
10 31
Output Signal: S5-S0
11 30 S0 Co: Carry-out
12 29 S1
13 28 S2
Pin 7-19, 21, 23, 31, 38, and 40 are
14 27 S3
not connected (NC)
15 26 S4
16 25 S5
17 24 Co
18 23
19 22 GND
CLK 20 21
34
Testing Procedure
The testing uses the Agilent 1627G Logic Analyzer. It is strongly suggested to go
through the Training Guide (Training Kit for Agilent Technologies 1670G Series Logic
Analyzers) before proceeding to the actual testing.
To begin testing the Multiplier in the DSP system, it is important to properly setup the
connection of the chip. The easiest way to test is by setting the chip on a breadboard. By
using a breadboard, it can avoid damage to the chip and one can easily manage the many
connections of the chip to the logic analyzer.
The following procedure will direct you on how the setup should be and what to use to
successfully connect the chip to the logic analyzer.
Chip Setup
2. Put the chip near the center of the breadboard to give space for connections.
3. Determine the pins of the chip by referring to Figure 24. of chip description.
4. Setup the dip-switch on the breadboard, and connect the coefficient input (B5-B0)
from the chip to the Dip-switch. The dip-switch will vary the coefficient easier
during testing.
6. Cut and strip wires long enough for inputs and outputs to use for connection to the
logic analyzer Pods. (It will be very useful if you use different color wires, or
label them to manage the different connections)
35
8. Make sure to not connect the GND connection of the chip to the ground of the
breadboard. The GND connection of the chip will be connected to the ground of
the Input Pod of the logic analyzer (This will be shown in the Logic Analyzer
Setup).
This will setup the proper configuration of the Agilent 1627G Logic Analyzer for use in
testing the 6-bit Multiplier in a DSP system. The terms and navigation through the
system are not described in detail, and it is assumed that the person testing went through
the Training Guide.
The logic analyzer will use two Pods. Output Pod labeled Pod1, with 7 pins, which
generates the clock and the input signal to the chip. And the Input Pod, also labeled Pod 1
with 15 pins, which will read the output from the chip.
The input pod will be connected to the output pod to check if the configuration of the
Logic Analyzer is properly generating the proper input signal.
1. Connect Output Pod (Pod 1 7pins) to Input Pod (Pod 1-15pins) for testing.
2. From Format Machine 1, go to Waveform Machine 1.
36
3. In the left-hand side bar, click and select Sequential.
4. You need to turn on both simulation from Patt Gen and Analyzer
a. From Patt Gen/Patt Gen Sequence Run (Repetative).
b. From Analyzer/Waveform Machine 1 Run (Repetative).
5. The waveform of the clock should appear. If no clock waveform is generated, see
Trouble Shooting in Appendix.
Actual Testing
With the chip properly setup on the breadboard and the logic analyzer configured and
prepared, testing can now proceed. There are three important configurations to correctly
test the Multiplier functionality. First, the appropriate input signal from the logic
analyzer needs to be programmed correctly. As discussed in the earlier chapter, the input
signal should be an impulse function to test the functionality of the multiplier. Second,
we need to configure the waveform buses on the waveform screen. Finally, the
connection of the input pod and the output pod should be appropriately connected to the
chip.
37
3. If Base is not in Binary change it to Binary.
4. Change the LSB of line 5 from 0 to 1. This will act as the clock signal.
5. Copy lines 3 and 4, and insert 9 copies of the copied lines after line 4.
6. In the fifth line, type in the binary signal 0011110. This will start the impulse signal
on the 4 LSB of the input signal with the two MSB at 00.
(note: the two MSB is set at 00 to avoid overflow.)
7. Now you have the impulse response and the clock are completely setup.
3&4
3. Click on the Bus assignments on the left hand side and double click on it.
4. Insert Bus1 0-13. It should add all bus assignment form Bus 0 13.
5. It is very important to know which Bus is which when analyzing the generated
waveform. The suggested bus assignment in Table 5 will help in connecting the
input Pod to the designated input and outputs from the chip and will assist in the
reading of the waveform.
38
Bus # from Assignment Output Pod Pin # Input Pod Pin #
Analyzer
- GND Gnd -
Bus1 0 CLK 0 0
Bus1 1 S0 output - 1
Bus1 2 S1 output - 2
Bus1 3 S2 output - 3
Bus1 4 S3 output - 4
Bus1 5 S4 output - 5
Bus1 6 S5 output - 6
Bus1 7 A5 input 1 7
Bus1 8 A4 input 2 8
Bus1 9 A3 input 3 9
Bus1 10 A2 input 4 10
Bus1 11 A1 input 5 11
Bus1 12 A0 input 6 12
Bus1 13 Co output - 13
1. Connect output Pod 1 of logic analyzer to the inputs of the chip (A5 A0) including
CLK and GRD (Refer to Table 5 and Figure 24).
2. Connect input Pod 1 of logic analyzer to the outputs of the chip (S5 S0) including
Co (Refer to Table 5 and Figure 24).
3. Set coefficient (a) to 0.5 by switching the dip-switch to its proper position. See
Table of coefficient values in Appendix.
39
Testing with 0.5 Coefficient
1. Run from both Patt Gen and Analyzer to display input and output waveform.
a. From Patt Gen/Patt Gen Sequence Run (Repetitive).
b. From Analyzer/Waveform Machine 1 Run (Repetitive).
An impulse with a 0.25 coefficient applied to the DSP system should generate a
waveform similar to Figure 25.
2. Stop the simulation in both Patt Gen and Analyzer by clicking Stop.
CLK
S0
S1
S2
S3
S4
S5
Co
A5
A4
A3
A2
A1
A0
40
Testing with 0.25 Coefficient
1. Set the coefficient to 0.25 by switching the dip-switch to its proper position. See
Table of coefficient values in Appendix.
2. Run from both Patt Gen and Analyzer to display input and output waveform.
a. From Patt Gen/Patt Gen Sequence Run (Repetitive).
b. From Analyzer/Waveform Machine 1 Run (Repetitive).
CLK
S0
S1
S2
S3
S4
S5
Co
A5
A4
A3
A2
A1
A0
41
Testing with 0.125 Coefficient
1. Set the coefficient to 0.125 by switching the dip-switch to its proper position. See
Table of coefficient values in Appendix.
2. Run from both Patt Gen and Analyzer to display input and output waveform.
a. From Patt Gen/Patt Gen Sequence Run (Repetitive).
b. From Analyzer/Waveform Machine 1 Run (Repetitive).
CLK
S0
S1
S2
S3
S4
S5
Co
A5
A4
A3
A2
A1
A0
42
Improvements
The design of the whole system was made simple by using lengths at 3m and 900nm
for all components. This is not an ideal way if you want to design an optimum DSP
filter system. Considering delays of each component of the system, and their response
to each others signal, it is important to have the right widths for the specific
components to properly process the signal.
Since the design of the system only used a fourth of the real estate of the padframe, the
system could have been designed bigger, which would have resulted in a faster system.
Relating to the improvement of increasing the width, we could have increased the
performance of the system in the best possible way by calculation and simulation on
PSPICE.
The system was laid out with only one contact on the metal3 connection between
components. From the beginning that was questionable. Fortunately, the chip worked.
For future design, it is strongly suggested that double contacts in the connection should
be applied to ensure reliability of the layout.
As discussed in the improvement of making the system more reliable, related to this is
the use of less metal routing. Three metals were used in all component design. If we
use only two metals, the manufacturability of the chip will increase as well.
43
Appendix
44
1 0 1 0 0 0 0.625000
1 0 1 0 0 1 0.640625
1 0 1 0 1 0 0.656250
1 0 1 0 1 1 0.671875
1 0 1 1 0 0 0.687500
1 0 1 1 0 1 0.703125
1 0 1 1 1 0 0.718750
1 0 1 1 1 1 0.734375
1 1 0 0 0 0 0.750000
1 1 0 0 0 1 0.765625
1 1 0 0 1 0 0.781250
1 1 0 0 1 1 0.796875
1 1 0 1 0 0 0.843750
1 1 0 1 0 1 0.828125
1 1 0 1 1 0 0.843750
1 1 0 1 1 1 0.859375
1 1 1 0 0 0 0.875000
1 1 1 0 0 1 0.890625
1 1 1 0 1 0 0.906250
1 1 1 0 1 1 0.921875
1 1 1 1 0 0 0.937500
1 1 1 1 0 1 0.953125
1 1 1 1 1 0 0.968750
1 1 1 1 1 1 0.984375
45
Troubleshooting in Testing the Chip
These are suggestion in solving any problems encountered in using the Agilent Logic
Analyzer and testing the 6-bit Multiplier on a DSP SOC.
If there are no signal being generated by the logic analyzer during Logic Analyzer setup
1. Make sure that output pod is connected at the back of the Logic Analyzer.
2. Make sure that the pod from the output to the input pod connections is correct.
3. Make sure that the card adapter connected to the pod is correct.
4. Make sure that the wires used are properly connected to the pins.
5. If all else failed, turn the Logic Analyzer off a couple of minutes, and turn it back
on.
46