Professional Documents
Culture Documents
on
Submitted for partial fulfillment of the requirements for the award of the degree
of
BACHELOR OF ENGINEERING
IN
BY
Mr.SK. KHAJAVALI
Asst. Professor
Department of ECE
VCE(A), Hyderabad.
i
VASAVI COLLEGE OF ENGINEERING
(AUTONOMOUS)
HYDERABAD
2017-18
CERTIFICATE
The results embodied in this report have not been submitted to any other
university or institute for the award of any degree or diploma.
ii
DECLARATION
This is to certify that the work reported in the present project entitled "
S.Lokesh
iii
ACKNOWLEDGEMENTS
I am also thankful to Head of the department Dr. K. Jaya Sankar for providing
excellent infrastructure and a nice atmosphere for completing this project successfully
I convey my heartfelt thanks to the lab staff for allowing me to use the required
equipment whenever needed
Finally, I would like to take this opportunity to thank my family for their support
through the work. I sincerely acknowledge and thank all those who gave directly or
indirectly their support in completion of this work
(S.Lokesh)
iv
LIST OF FIGURES
2.0 EXAMPLE OF MC 15
v
4.6 CONCEPT OF BALANCE LOGIC-OPERATION 29
vi
S.NO Name of the Table Pg.no
2.1 Logic table of manchester
15
4.1 State table for FM0 encoding
25
4.2 Hardware Utilization Rate
27
4.3 HUR after SOLS
32
6.3 Comparison Table
45
LIST OF TABLES
vii
ABSTRACT
The encoding capability of this paper can fully support the DSRC standards of
America, Europe, and Japan. This experiment not only develops a fully reused VLSI
architecture, but also exhibits an efficient performance compared with the existing
works.
viii
TABLE OF CONTENTS
Certificate .......................................................................................................... i
Declaration .................................................................................................... ii
Acknowledgements ........................................................................................... iv
List of Figures ................................................................................................. v
List of Tables ..................................................................................................... vi
Abstract............................................................................................................. vii
1.INTRODUCTION.......................................................................................................4
1.1 Communication....................................................................................................5
1.2 Communication System........................................................................................5
1.3 Types of Communication System.........................................................................6
1.4 Analog Communication System...........................................................................7
1.5 Digital Communication System............................................................................9
1.6 Line Coding........................................................................................................10
1.7 Digital Signalling Formats..................................................................................11
1.8 Coding Comparisons..........................................................................................13
2. LITERATURE SURVEY.........................................................................................14
4. METHODOLOGY...................................................................................................22
ix
5.5 Field Programmable Gate Array (FPGA)...........................................................37
7.1 Conclusion..........................................................................................................46
7.2 Future Scope.......................................................................................................46
REFERENCES.............................................................................................................47
Appendix.................................................................................................................48-54
x
CHAPTER 1
INTRODUCTION
11
12
1.1 COMMUNICATION
The above figure shows the elements of a communication system. There are
three essential parts of any communication system, the transmitter, transmission
channel, and receiver. Each part plays a particular role in signal transmission, as
follows:
13
Transmitter
Transmission Channel
Receiver
The receiver operates the output signal from the transmission channel, delivers
to the transducer at the destination. Receiver operations include amplification to
compensate for transmission loss. These also include demodulation and decoding to
reverse the signal procession performed at the transmitter. Filtering is another
important function at the receiver.
An analog signal is any continuous signal for which the time varying feature
(variable) of the signal is a representation of some other time varying quantity, i.e.,
analogous to another time varying signal.An analog signal uses some property of the
medium to convey the signal's information
14
Any information may be conveyed by an analog signal; often such a signal is a
measured response to changes in physical phenomena, such as sound, light,
temperature, position, or pressure .The physical variable is converted to an analog
signal by a transducer.
The below fig shows the block diagram of analog communication system.
15
1.5 DIGITAL COMMUNICATION SYSTEM
1.5.1 Digital Signal
A digital signal is a signal that represents a sequence of discrete values. A
logic signal is a digital signal with only two possible values, and describes an
arbitrary bit stream. A digital signal is a physical quantity that is alternating between a
discrete set of waveforms. Alternatively, a digital signal may be considered to be the
sequence of codes represented by such a physical quantity
In communications:
16
Digital communications mean transferring data from one place to another. It is
done by physical path or physical connection. In digital communication, digital values
are taken as the discrete set. It is bit complicated as compare to analog communication
and its also fast and appropriate in modern situations.
1.6.1 Requirements
Digital data can be transmitted by various pulse waveforms, also called line
codes. The following properties are desirable for a line code:
It is important that the pulses stream to be transmitted does not have a DC
component. It can case baseline wander or Galvanic Corrosion.
It should be relatively easy to recover the data clock.
The line coding scheme should be bandwidth efficient.
The line code should be robust in the presence of noise.
It should be possible to recognize a line coding error, sometimes called a line
violation. (In some signaling protocols, a line violation is deliberately generated to
mark the start of a frame).
17
1.7 Digital Signalling Formats
18
1.7.4 Bipolar RZ
Positive and negative pulses of equal amplitude are used for symbol 1 and
symbol 0. In either case the pulse returns to 0 before the end of the bit interval.
Return-to-zero (RZ) describes a line code used in telecommunications signals in
which the signal drops (returns) to zero between each pulse. This takes place even if a
number of consecutive zeros or ones occur in the signal.
The signal is self-clocking. This means that a separate clock does not need to be with
the signal, but suffers from using twice the bandwidth to achieve the same data-rate as
compared to non-return-to-zero format.
19
repeaters. The DC-component can be easily and cheaply removed before the signal
reaches the decoding circuitry.
Unipolar NRZ
Bipolar NRZ
Unipolar RZ
Biplolar RZ
AMI
Manchester
21
2.1.Manchester code
Manchester coding is also known as phase coding .Manchester coding is a line
code in which the encoding of each data bit is either low then high, or high then low,
of equal time. It therefore has no DC component, and is self-clocking, which means
that it may be inductively or capacitively coupled, and that a clock signal can be
recovered from the encoded data.
Background of Manchester code:
The name comes from its development at the University of Manchester, where
the coding was used to store data on the magnetic drum of the Manchester Mark
1 computer.
The DC component of the encoded signal is not dependent on the data and therefore
carries no information, allowing the signal to be conveyed conveniently by media
(e.g., Ethernet) which usually do not convey a DC component.
22
Description:
0 0 0
0 1 1
1 0 1
1 1 0
23
Fig 2.1:E-XOR representation of manchester code
Manchester code always has a transition at the middle of each bit period and
may (depending on the information to be transmitted) have a transition at the start of
the period also. The direction of the mid-bit transition indicates the data. Transitions
at the period boundaries do not carry information. They exist only to place the signal
in the correct state to allow the mid-bit transition. The existence of guaranteed
transitions allows the signal to be self-clocking, and also allows the receiver to align
correctly; the receiver can identify if it is misaligned by half a bit period, as there will
no longer always be a transition during each bit period. The price of these benefits is a
doubling of the bandwidth requirement compared to simpler NRZ coding schemes .
2.2.FM0
24
FM0 is also known as Bi phase space encoding. A transition is present on
every bit and an additional transition may occur in the middle of the bit
logic0 in the beginning of cycle 2. Then, according to rule 2, this logiclevel is hold
25
without any transition in entire cycle 2 for the X of logic1.Thus, the FM0 code of
each cycle can be derived with these three rules mentioned earlier.
XOR GATE
26
FIG 2.5:CMOS Realization of E-xor gate
NOT GATE
27
FIG 2.6:CMOS Realization of not gate
28
CHAPTER 3
PROBLEM STATEMENT
29
and receives the data from antenna. Microprocessor performs the tasks of RF-front
end and broad processing.
Generally, the wave form of transmitted signal is expected to have a zero mean
for robustness issue and this is also referred as DC balance.The transmitted signal
consists of arbitrary binary sequence which is difficult to obtain DC-balance.
For the purpose we use FM0 and Manchester codes to provide DC-balance.
Both FM0 and Manchester codes are bi-phase encodings and they reduce noise and
power consumption.
Another problem in this application is hardware utilization of components.
Generally, the components are utilized only 57.14%. Among FM0 and Manchester
codes, any one logic is ON at a time. By using SOLS technique, we improve the
hardware utilization of the components from 57.14% to 100%.
SOLS means similarity oriented logic simplification.
30
CHAPTER 4
METHODOLOGY
31
Fig 4.1:FM0 encoding
A FM0 coding example is shown in Fig. 4.1 . At cycle 1, the X is logic-0;
therefore, a transition occurs on its FM0 code, according to rule 1. For simplicity, this
transition is initially set from logic-0 to -1. According to rule 3, a transition is
allocated among each FM0 code, and thereby the logic-1 is changed to
logic-0 in the beginning of cycle 2. Then, according to rule 2, this
logic-level is hold without any transition in entire cycle 2 for the X of
logic-1. Thus, the FM0 code of each cycle can be derived with these
three rules mentioned earlier.
32
Fig 4.2:state definition of FM0 code
33
Table 4.1 State table for FM0 encoding
PREVIOUS STATE CURRENT STATE
A(t-1) B(t-1) X=0 X=1
A(t) B(t) A(t) B(t)
0 0 1 0 1 1
0 1 0 1 0 0
1 0 1 0 1 1
1 1 0 1 0 0
The FSM of FM0 can also conduct the transition table of each state, as shown
in Table 4.1. A(t) and B(t) represent the discrete-time state code of current-state at
time instant t. Their previous-states are denoted as the A(t − 1) and the B(t − 1),
respectively. With this transition table, the Boolean functions of A(t) and B(t) are
given as
A(t) = B(t − 1)------------------------------------------(1)
B(t) = X ⊕B(t – 1)------------------------------------(2)
With both A(t) and B(t), the Boolean function of FM0 code is denoted as
FM0=CLK A(t) + CLK B(t)-------------------------(3)
4.2 Manchester Encoding
The Manchester coding example is shown in Fig.3.4
The Manchester code is derived from
Manchester=X ⊕ CLK.
--------------------------------------------------- (4)
34
Fig 4.4: Digital circuit for FM0 and Manchester encoding
35
architecture has a poor HUR of 57.14%, and almost half of total components are
wasted. The transistor count of the hardware architecture without SOLS technique is
98, where 86 transistors are for FM0 encoding and 26 transistors are for Manchester
coding. On average, only 56 transistors can be reused, and this is consistent with its
HUR. The coding-diversity between the FM0 and Manchester codes seriously limits
the potential to design a fully reused VLSI architecture.
Table 4.2: HUR
36
The purpose of SOLS technique is to design a fully reused VLSI
architecture for FM0 and Manchester encodings. The SOLS
technique is classified into two parts: area-compact retiming and
balance logic-operation sharing. Each part is individually described
as follows. Finally, the performance evaluation of the SOLS
technique is given.
The FM0 code is alternatively switched between A(t) and B(t) through the
MUX−1 by the control signal of the CLK. In Fig. 7(a), the Q of DFFB is directly
updated from the logic of B(t) with 1-cycle latency. In Fig. 7(b), when the CLK is
logic-0, the B(t) is passed through MUX−1 to the D of DFFB. Then, the upcoming
positive-edge of CLK updates it to the Q of DFFB. As shown in Fig. 8, the timing
diagram for the Q of DFFB is consistent whether the DFFB is relocated or not.
Suppose the logic components of FM0 encoder are realized with the logic-family of
static CMOS. The transistor count of the FM0 encoding architecture without area-
compact retiming is 72, and that with area-compact retiming is 50. The area-compact
retiming technique reduces 22 transistors.
37
Fig 4.5: (a) FM0 encoding without area-compact retiming.
(b) FM0 encoding with area-compact retiming.
4.5 Balance Logic-Operation Sharing
As mentioned previously, the Manchester encoding can be derived from X ⊕CLK, and
it is also equivalent to
X⊕ CLK = X CLK + X CLK ----------------------------------(6)
This can be realized by the multiplexer, as shown in Fig. 3.6. It is quite similar to the
Boolean function of FM0 encoding (3). By comparing with (4) and (6), the FM0 and
Manchester logics have a common point of the multiplexer like logic with the
selection of CLK.
Fig. 4.6: Concept of balance logic-operation sharing for FM0 and Manchester
encodings.
(a) Manchester encoding in multiplexer.
(b) Combines the logic operations of Manchester and FM0 encodings.
38
Fig. 4.7. Balance logic-operation sharing of A(t) and X1.
The logic for A(t)/X1 is shown in Fig. 4.7. The A(t) can be derived from an inverter of
B(t − 1), and X1 is obtained by an inverter of X. The logic for A(t)/X1 can share the
same inverter, and then a multiplexer is placed before the inverter to switch the
operands of B(t − 1) and X. The Mode indicates either FM0 or Manchester encoding is
adopted. The similar concept can be also applied to the logic for B(t)/X, as shown in
Fig. 11(a).
39
relocated DFFB from area-compact retiming technique, as shown in Fig. 4.8(c). The
CLR is the clear signal to reset the content of DFFB to logic-0. The DFFB can be set
to zero by activating CLR for Manchester encoding. When the FM0 code is adopted,
the CLR is disabled, and the B(t −1) can be derived from DFFB. Hence, the
multiplexer in Fig. 4.8(b) can be totally saved, and its function can be completely
integrated into the relocated DFFB.
Fig. 4.9: VLSI architecture of FM0 and Manchester encodings using SOLS
technique.
(a) Unbalance computation time between A(t)/X1 and B(t)/X.
(b) Balance computation time between A(t)/X1 and B(t)/X.
40
results in the glitch to MUX−1, possibly causing the logic-fault on coding. To
alleviate this unbalance computation time, the architecture of the balance computation
time between A(t)/X1 and B(t)/X is shown in Fig. 4.9(b).
The XOR in the logic for B(t)/X is translated into the XNOR with an inverter,
and then this inverter is shared with that of the logic for A(t)/X1. This shared inverter
is relocated backward to the output of MUX−1. Thus, the logic computation time
between A(t)/X1 and B(t)/X is more balance to each other. The adoption of FM0 or
Manchester code depends on Mode and CLR. In addition, the CLR further has
another individual function of a hardware initialization. If the CLR is simply derived
by inverting Mode without assigning an individual CLR control signal, this leads to a
conflict between the coding mode selection and the hardware
initialization. To avoid this conflict, both Mode and CLR are assumed
to be separately allocated to this design from a system controller.
Whether FM0 or Manchester code is adopted, no logic component of
the proposed VLSI architecture is wasted. Every component is active
in both FM0 and Manchester encodings. Therefore, the HUR of the
proposed VLSI architecture is greatly improved.
41
Chapter-5
VERILOG
42
signal circuits, as well as in the design of genetic circuits.
ports_declaration ;
module_body ;
endmodule
43
5.3 Levels of Abstraction
5.3.1 Gate Level Modelling
Primitive logic gates are part of the Verilog language.Verilog supports basic
logic gates as predefined primitives. These primitives are instantiated like modules
except that they are predefined in verilog and do not need a module definition.
During simulation of behavioral model, all the flows defined by the ‘always’
and ‘initial’ statements start together at simulation time ‘zero’. All procedures in
Verilog are specified within one of the following four Blocks. 1) Initial blocks 2)
Always blocks 3) Task 4) Function
44
The initial blocks executes only once and its activity dies when the statement has
finished. In contrast, the always blocks executes repeatedly. Its activity dies only
when the simulation is terminated. There is no limit to the number of initial and
always blocks that can be defined in a module.
5.3.5 TASK
Tasks are used in all programming languages, generally known as procedures
or subroutines. The lines of code are enclosed in task....end task brackets. Data is
passed to the task, the processing done, and the result returned. They have to be
specifically called, with data ins and outs, rather than just wired in to the general
netlist. Included in the main body of code, they can be called many times, reducing
code repetition.
Task are defined in the module in which they are used. It is possible to define
task in separate file and use the compile directive ‘include to include the task in the
file which instantiates the task.Task can include timing delays, like posedge,
negedge, #delay and wait.Task can have any number of inputs and outputs
5.3.6 FUNCTION
A Verilog HDL function is the same as a task, with very little differences, like
function cannot drive more than one output, cannot contain delays.
Function are defined in the module in which they are used. It is possible to
define task in separate file and use the compile directive ‘include to include the task
in the file which instantiates the task.
45
chip. VLSI began in the 1970’s when
complex semiconductor and communication technologies were being developed.
The microprocessor is a VLSI device. Before the introduction of VLSI technology
most ICs had a limited set of functions they could perform. An electronic
circuit might consist of a CPU, ROM, RAM and other glue logic. VLSI lets IC
designers add all of these into one chip.
46
challenge to verify correct timing of valid data within setup time and hold time. Floor
planning enables resource allocation within FPGAs to meet these time constraints.
FPGAs can be used to implement any logical function that an ASIC could perform.
The ability to update the functionality after shipping, partial re-configuration of a
portion of the design and the low non-recurring engineering costs relative to
an ASIC design (notwithstanding the generally higher unit cost), offer advantages for
many applications.
Some FPGAs have analog features in addition to digital functions. The most
common analog feature is a programmable slew rate on each output pin, allowing the
engineer to set low rates on lightly loaded pins that would
otherwise ring or couple unacceptably, and to set higher rates on heavily loaded pins
on high-speed channels that would otherwise run too slowly.
47
CHAPTER – 6
Simulation and Results
48
Fig 6.1 Simulation output of D-flipflop
49
Fig 6.5 Simulation output of Xnor Gate
50
Fig 6.8 Simulation output FM0/Manchester encoding without SOLS
technique(test bench)
51
Fig 6.10 RTL Schematic FM0/Manchester encoding without SOLS technique
52
Fig 6.12 Technology Schematic FM0/Manchester encoding without SOLS
technique
53
Table 6.3 Comparison
54
CHAPTER 7
CONCLUSION & FUTURESCOPE
55
7.1 Conclusion
56
REFERENCES
[6] Y.-C. Hung, M.-M. Kuo, C.-K. Tung, and S.-H. Shieh, “High-speed
CMOS chip design for Manchester and Miller encoder,” in Proc. Intell. Inf.
Hiding Multimedia Signal Process., Sep. 2009, pp. 538–541.
57
Appendix
58
input clk,clr,d;
output q;
reg q;
always @(posedgeclk)
begin
if(clr==0)
q<=0;
else
q<=d;
end
endmodule
Multiplexer 2X1
module mux2_1(i0,i1,s,o);
input i0,i1,s;
output o;
assign o=(i0*(~s))+(i1*s);
endmodule
NOT Gate
module notgate(a,out);
input a;
output out;
assign out=~a;
endmodule
XOR Gate
module xorgate(a,b,out);
59
input a,b;
output out;
assign out=(a*(~b))+((~a)*b);
endmodule
XNOR Gate
module xnorgate(a,b,out);
input a,b;
output out;
assign out=(a*b)+((~a)*(~b));
endmodule
input x,clk,clr,mode;
output out;
wire w1,w2,w3,w4,w5,w6;
dff f3(clk,clr,w1,w2);
dff f4(clk,clr,w3,w4);
xorgate f1(x,w2,w1);
notgate f2(w2,w3);
mux2_1 f5(w2,w4,clk,w5);
xorgate f6(x,clk,w6);
mux2_1 f7(w5,w6,mode,out);
endmodule
60
input x,clk,clr,mode;
output out;
wire w1,w2,w3,w4;
dff f1(clk,clr,out,w1);
xnorgate f2(w1,x,w3);
mux2_1 f3(w1,x,mode,w2);
mux2_1 f4(w3,w2,clk,w4);
notgate f5(w4,out);
endmodule
regtb_x,tb_clk,tb_clr,tb_mode;
wire tb_out;
withoutsols f1(tb_x,tb_clk,tb_clr,tb_mode,tb_out);
always
#10 tb_clk=~tb_clk;
initial
begin
tb_clk=1'b1;
end
initial
begin
$monitor(tb_x,tb_clk,tb_clr,tb_mode,tb_out);
tb_clr=0;
61
tb_mode=1;
tb_x=1'b0;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_x=1;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_clr=1;
tb_mode=0;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_x=1;
#20 tb_x=0;
#20 tb_x=1;
end
endmodule
regtb_x,tb_clk,tb_clr,tb_mode;
wire tb_out;
withsols f1(tb_x,tb_clk,tb_clr,tb_mode,tb_out);
always
#10 tb_clk=~tb_clk;
initial
62
begin
tb_clk=1'b1;
end
initial
begin
$monitor(tb_x,tb_clk,tb_clr,tb_mode,tb_out);
tb_clr=0;
tb_mode=1;
tb_x=1'b0;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_x=1;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_clr=1;
tb_mode=0;
#20 tb_x=0;
#20 tb_x=1;
#20 tb_x=1;
#20 tb_x=0;
#20 tb_x=1;
end
endmodule
63
64