Professional Documents
Culture Documents
Objective:
The task is to design a generic multiplier and then to write a complete code for
verification. You should know about the following topics: Ripple Adder, multiplier, and
Design For Testability (DFT).
The Task:
Your task is to create a library element that has the following appearance:
The multiplier has two inputs: the multiplier x which is J bits, and the multiplicand y
which is K bits. Also it has one output called res which is J+K bits. The inputs and the output
are fed through flip-flops.
The multiplier is to be built structurally from a library of gates, which contains the
following devices:
Gate Delay
Inverter 3 ns
NAND 5 ns
NOR 5 ns
AND 7 ns
1
OR 7 ns
XOR 11 ns
XNOR 11 ns
The multiplier should be implemented using adders and the required gates. The first type
of the adders to be used is the ripple carry adder which should be built structurally as follows:
Built 1-bit full adder from the basic gates given above.
Build n-bit adder
Use as many blocks of the n-bit adders as you need to build the multiplier.
Stage 1
The multiplier should multiply J-bits multiplier by K-bits. The adders to be used on
this stage are the ripple carry adders. You should produce complete verification to
demonstrate the multiplier working with J = 7 and K = 4. You should determine the
maximum latency of the multiplier. And therefore, what is the maximum frequency of
normal-mode clock that can be applied to the flip-flops. Also, you should introduce an error
in your design and to do a verification that will discover the error and write it to the console
screen and to a file.
Stage 2
The aim of this stage is to add some Design For Testability (DFT) components. The
inputs register will act as generic Test Pattern Generator, while the outputs register will act as
generic Result Analyzer (Signature Register). TDI and TDO will be used to scan in test
vectors and to scan out the results, respectively. In this stage, you will be asked to scan in a
test vector for the adder in stage 1 (J=7 and K=4), then to generate 600 test vectors then to
scan out the signature. After that you should introduce a fault in one of the output nodes, then
generate the test vectors and find the new signature.
The code should be included in the appendix. Also the code should be sent as memo to
the instructor after submitting the report.
2
Key Points:
Any type of plagiarism will be penalized by 0 mark, and the cheaters will be treated
according to the university laws.
This Project will take 15% of the final mark in the course.
The design description should include a block diagram of the design, and give a
justification of the decisions made.
Deadline:
The report (hard copy) + Code as appendix should be submitted before 3:30 p.m. on
Tuesday 12-12-2017.
Late submission is penalized at a rate of 10% marks per day.
3
Electrical and Computer Engineering Department
Project Assessment Feedback
Advanced Digital Design (ENCS 533)
Instructor: Abdellatif Abu-Issa
Marks