Ecad Lab Manual
Ecad Lab Manual
Ecad Lab Manual
Truth Tables:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 2
EXPERIMENT NO.1
LOGIC GATES
AIM:
PROGRAMS:
TWO-INPUT LOGIC GATES
1) AND Gate:
library ieee;
use ieee.std_logic_1164.all;
entity and2 is
port(a,b:in bit;
c:out bit);
end and2;
architecture anddf of and2 is
begin
c<=a and b;
end anddf;
2) OR Gate:
library ieee;
use ieee.std_logic_1164.all;
entity or2 is
port(a,b:in bit;
c:out bit);
end or2;
architecture ordf of or2 is
begin
c<=a or b;
end ordf;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 3
OUTPUT WAVEFORMS:
AND GATE:
OR GATE:
NOT GATE:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 4
3) EX-0R Gate:
library ieee;
use ieee.std_logic_1164.all;
entity xor2 is
port(a,b:in bit;
c:out bit);
end xor2;
architecture xordf of xor2 is
begin
c<=a xor b;
end xordf;
4) XNOR Gate:
library ieee;
use ieee.std_logic_1164.all;
entity xnor2 is
port(a,b:in bit;
c:out bit);
end xnor2;
architecture xnordf of xnor2 is
begin
c<=a xnor b;
end xnordf;
NOT Gate:
library ieee;
use ieee.std_logic_1164.all;
entity not1 is
port(a:in bit;
b:out bit);
end not1;
architecture notdf of not1 is
begin
b<=not a;
end notdf;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 5
EX-OR GATE:
NAND GATE:
NOR GATE:
XNOR GATE:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 6
1) NAND Gate:
library ieee;
use ieee.std_logic_1164.all;
entity nand3 is
port(a,b,c:in bit;
d:out bit);
end nand3;
architecture nanddf of nand3 is
begin
d<=(not a)or(not b)or(not c);
end nanddf;
2)NOR Gate:
library ieee;
use ieee.std_logic_1164.all;
entity nor3 is
port(a,b,c:in bit;
d:out bit);
end nor3;
architecture nordf of nor3 is
begin
d<=(not a)or(not b)or(not c);
end nordf;
THEORY:
AND: The AND gate is an electronic circuit that gives a high output (1)
only if all its inputs are high. A dot (.) is used to show the AND operation
i.e. A.B. Bear in mind that this dot is sometimes omitted i.e. AB
OR: The OR gate is an electronic circuit that gives a high output (1) if one
or more of its inputs are high. A plus (+) is used to show the OR operation.
NOT: The NOT gate is an electronic circuit that produces an inverted
version of the input at its output. It is also known as an inverter. If the input
variable is A, the inverted output is known as NOT A. This is also shown as
A', or A with a bar over the top, as shown at the outputs. The diagrams below
show two ways that the NAND logic gate can be configured to produce a
NOT gate. It can also be done using NOR logic gates in the same way.
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 7
PROCEDURE :
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 8
HALF ADDER:
Symbol:
Logic diagram:
Truth Table:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 9
EXPERIMENT NO.2
ADDERS
AIM:
PROGRAMS:
HALF ADDER:
library ieee;
use ieee.std_logic_1164.all;
entity ha is
port(a,b:in bit;
s,co:out bit);
end ha;
architecture hadf of ha is
begin
s<= a xor b;
co<= a and b;
end hadf;
FULL ADDER:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 10
FULL ADDER:
Symbol:
Logic Diagram:
Truth Table:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 11
2) Behavioural Model:
library ieee;
use ieee.std_logic_1164.all;
entity fa is
port(a,b,ci:in bit;
s,co:out bit);
end fa;
architecture fabh of fa is
begin
process(a,b,ci)
begin
s<=a xor b xor ci;
co<= (a and b)or(b and ci)or(ci and a);
end process;
end fabh;
THEORY:
A half adder has two inputs, generally labelled A and B, and two outputs, the sum S and
carry C. S is the two-bit XOR of A and B, and C is the AND of A and B. Essentially the
output of a half adder is the sum of two one-bit numbers, with C being the most significant
of these two outputs. A half adder is a logical circuit that performs an addition operation
on two binary digits. The half adder produces a sum and a carry value which are both
binary digits.The drawback of this circuit is that in case of a multibit addition, it cannot
include a carry.
A full adder has three inputs - A, B, and a carry in C, such that multiple adders can be
used to add larger numbers. To remove ambiguity between the input and output carry
lines, the carry in is labelled Ci or Cin while the carry out is labelled Co or Cout. A full
adder is a logical circuit that performs an addition operation on three binary digits. The
full adders produces a sum and carry value, which are both binary digits
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 12
OUTPUT WAVEFORMS:
HALF ADDER:
FULL ADDER:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 13
PROCEDURE:
1). To start working with the program go to the Start-Programs-ActiveHDL7.2 SE
program group and click the Active-HDL7.2 SE. The Active-HDL7.3 should start
loading.
2). Ensure that the Create new workspace option is checked and click the OK button.
It will create a new workspace. Enter the workspace name. Select the location of your
workspace folder. Then Click OK.
3).New Design Wizard has three options. Here ensure that the Create an empty
design is checked and click Next button. It will go to next step to specify additional
information about the new design.
4). Keep the default options and click Next to specify basic information about the
new design.
5). In the Type the design name, enter a name. Also type or select the desired location
of the design folder in the appropriate field.
6) Click the Next button to advance to the next page. Then click Finish and this will
bring out the Design Flow Manager. The next paragraph introduces the Design
Browser.
7). The Design Browser is a window showing the design contents. Double-click the
Add New File in Design Browser to Add New File (file name) in the Name item. Then
click OK to get an empty VHDL file. (Make sure that the VHDL Source Code icon is
highlighted in the Empty Files field.)
8). Now we can edit the VHDL code. The HDL Editor is a text editor with VHDL
keywords coloring and standard editing features.
9). Select (filename).vhd in the Design Browser, then go to the Design menu, click the
Compile option from the menu or press F11 to compile (filename).vhd file. If there is
any error, the file icon changes to red error, erroneous lines are underlined and the
VHDL console window contains the error description. You need to correct the error
based on the error information in the VHDL Console.
10). To begin a simulation, you have to first initialize the simulator using the Initialize
Simulation option from the Simulation menu.
After the simulator has been initialized, you have to open a new Waveform window.
Click the New Waveform toolbar button . The new Waveform window appears.
11). Signals for simulation can be added using the drag and drop feature. On the
Structure tab of the Design Browser you have to select the component whose ports you
want to observe and simply holding the left button, drag it to the left-hand section
(pane) of the waveform window and release the button (typical drag-and-drop
operation). Follow the procedure described above to drag all ports of the components
to(filename) the waveform window.
12) Go to the left pane of the Waveform window and select a signal. Press the right
button to invoke a pop-up menu. Choose the Stimulators item and assign signal values
for each signal and close the pop-up menu.
13). You can choose the command of Run or Run Until or Run For from main menu
of Stimulator. Run keeps the simulator run forward .Run For runs the simulator for
defined time every step and Run Until runs the simulators in the defined time.
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 14
RESULT:
HALF SUBTRACTOR:
Symbol:
Logic Diagram:
Truth Table:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 15
EXPERIMENT NO.3
SUBTRACTORS
AIM:
PROGRAMS:
HALF SUBTRACTOR:
library ieee;
use ieee.std_logic_1164.all;
entity hs is
port(a,b:in bit;
d,bo:out bit);
end hs;
architecture hsdf of hs is
begin
d<= a xor b;
bo<= (not a) and b;
end hsdf;
FULL SUBTRACTOR:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 16
FULL SUBTRACTOR:
Symbol:
Logic Diagram:
Truth Table:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 17
2) Behavioral Model:
library ieee;
use ieee.std_logic_1164.all;
entity fs is
port(a,b,bi:in bit;
d,bo:out bit);
end fs;
architecture fsbh of fs is
begin
process(a,b,bi)
begin
d<=a xor b xor bi;
bo<= ((not a) and b)or(b and bi)or(bi and (not a));
end process;
end fsbh;
THEORY:
The half-subtractor is a combinational circuit which is used to perform subtraction of two
bits. It has two inputs, X(minuend) and Y(subtrahend) and two outputs D (difference) and
B (borrow).
The Unit that performs 1-bit subtraction with borrow-in is defined as a fullsubtractor.It
has input bits A,B and Bin(borrow in) and the output bits D(difference)and Bout (borrow
out) .
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 18
OUTPUT WAVEFORMS:
HALF SUBTRACTOR
FULL SUBTRACTOR:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 19
PIN DESCRIPTION:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 20
EXPERIMENT NO.4
4 BIT COMPARATOR-7485
AIM:
PROGRAM:
library ieee;
use ieee.std_logic_1164.all;
entity comp is
port(a,b:in bit_vector(3 downto 0);
AeqB,AltB,AgtB:out bit);
end comp;
architecture compdf of comp is
begin
AeqB<='1' when a=b else'0';
AltB<='1' when a<b else'0';
AgtB<='1' when a>b else'0';
end compdf;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 21
LOGIC SYMBOL:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 22
2) Behavioral Model:
,
library ieee;
use ieee.std_logic_1164.all;
entity comp is
port(a,b:in bit_vector(3 downto 0);
AeqB,AltB,AgtB:out bit);
end comp;
architecture compbh of comp is
begin
process(a,b)
begin
AeqB<='0';AltB<='0';AgtB<='0';
if a=b then AeqB<='1';
elsif a<b then AltB<='1';
elsif a>b then AgtB<='1';
end if;
end process;
end compbh;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 23
THEORY:
The 7485 is a 4-bit magnitude comparator that can be expanded to almost
any length. It compares two 4-bit binary, BCD codes and presents the three
possible magnitude results at the outputs. The 4-bit inputs are weighted (A0-
A3) and (B0-B3) where A3 and B3 are the most significant bits. The
operation of the 7485 is described in the function table, showing all possible
logic conditions.
PROCEDURE:
RESULT:
OUTPUT WAVEFORM:
COMPARATOR:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 24
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 25
PIN DESCRIPTION:
EXPERIMENT NO.5
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 26
MULTIPLEXERS
AIM:
PROGRAMS:
library ieee;
use ieee.std_logic_1164.all;
entity mux8x1 is
port(I0,I1,I2,I3,I4,I5,I6,I7:in std_logic_vector(3 downto 0);
s:in std_logic_vector (2 downto 0);
Y:out std_logic_vector(3 downto 0));
end mux8x1;
architecture mux8x1df of mux8x1 is
begin
with s select
Y<=I0 when "000",
I1 when "001",
I2 when "010",
I3 when "011",
I4 when "100",
I5 when "101",
I6 when "110",
I7 when "111",
"0000" when others;
end mux8x1df;
LOGIC SYMBOL:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 27
FUNCTION TABLE:
2) Behavioural Model:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 28
library ieee;
use ieee.std_logic_1164.all;
entity mux8x1 is
port(I0,I1,I2,I3,I4,I5,I6,I7:in std_logic_vector(3 downto 0);
s:in std_logic_vector (2 downto 0);
Y:out std_logic_vector(3 downto 0));
end mux8x1;
architecture mux8x1bh of mux8x1 is
begin
process(s,I0,I1,I2,I3,I4,I5,I6,I7)
begin
case s is
when "000"=>y<=I0;
when "001"=>y<=I1;
when "010"=>y<=I2;
when "011"=>y<=I3;
when "100"=>y<=I4;
when "101"=>y<=I5;
when "110"=>y<=I6;
when "111"=>y<=I7;
when others=>y<=(others=>'U');
end case;
end process;
end mux8x1bh;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 29
PIN DESCRIPTION:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 30
1) Behavioural Model:
library ieee;
use ieee.std_logic_1164.all;
entity mux16x1 is
port(I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15:in std_logic_vector(3
downto 0);
s:in std_logic_vector (3 downto 0);
Z:out std_logic_vector(3 downto 0));
end mux16x1;
architecture mux16x1bh of mux16x1 is
begin
process(s, I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15)
begin
case s is
when "0000"=>y<=I0;
when "0001"=>y<=I1;
when "0010"=>y<=I2;
when "0011"=>y<=I3;
when "0100"=>y<=I4;
when "0101"=>y<=I5;
when "0110"=>y<=I6;
when "0111"=>y<=I7;
when "1000"=>y<=I8;
when "1001"=>y<=I9;
when "1010"=>y<=I10;
when "1011"=>y<=I11;
when "1100"=>y<=I12;
when "1101"=>y<=I13;
when "1110"=>y<=I14;
when "1111"=>y<=I15;
when others=>y<=(others=>'U');
end case;
end process;
end mux16x1bh;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 31
LOGIC SYMBOL:
FUNCTION TABLE:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 32
library ieee;
use ieee.std_logic_1164.all;
entity mux16x1 is
port(I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15:in
std_logic_vector(3 downto 0);
s:in std_logic_vector (3 downto 0);
Z:out std_logic_vector(3 downto 0));
end mux16x1;
architecture mux16x1df of mux16x1 is
begin
with s select
Z<=I0 when"0000",
I1 when"0001",
I2 when"0010",
I3 when"0011",
I4 when"0100",
I5 when"0101",
I6 when"0110",
I7 when"0111",
I8 when"1000",
I9 when"1001",
I10 when"1010",
I11 when"1011",
I12 when"1100",
I13 when"1101",
I14 when"1110",
I15 when"1111",
"0000"when others;
end mux16x1df;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 33
OUTPUT WAVEFORMS:
MULTIPLEXER 8X1:
MULTIPLEXER 16X1:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 34
THEORY:
The multiplexers contains full on-chip decoding unit to select desired data
source. The 74151 selects one-of-eight data sources. It has a enable input
which must be at a LOW logic level to enable these devices. These perform
parallel-to-serial conversion. The 74150 selects one-of sixteen data sources.
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 35
LOGIC SYMBOL:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 36
EXPERIMENT NO.6
PROGRAM:
1) Data Flow Model:
library ieee;
use ieee.std_logic_1164.all;
entity dec3to8 is
port(A: in STD_LOGIC_VECTOR(2 downto 0);
Y: out STD_LOGIC_VECTOR(0 to 7));
end dec3to8;
architecture dec3to8df of dec3to8 is
begin
with A select
Y <= "10000000" when "000",
"01000000" when "001",
"00100000" when "010",
"00010000" when "011",
"00001000" when "100",
"00000100" when "101",
"00000010" when "110",
"00000001" when "111",
"00000000" when others;
end dec3to8df;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 37
FUNCTION TABLE:
OUTPUT WAVEFORM:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 38
2) Behavioral Model:
library ieee;
use ieee.std_logic_1164.all;
entity dec3to8 is
port(A: in STD_LOGIC_VECTOR(2 downto 0);
Y: out STD_LOGIC_VECTOR(0 to 7));
end dec3to8;
architecture dec3to8bh of dec3to8 is
begin
process(A)
begin
case A is
when "000" => Y <= "10000000";
when "001" => Y <= "01000000";
when "010" => Y <= "00100000";
when "011" => Y <= "00010000";
when "100" => Y <= "00001000";
when "101" => Y <= "00000100";
when "110" => Y <= "00000010";
when "111" => Y <= "00000001";
when others => Y <= "00000000";
end case;
end process;
end dec3to8bh;
THEORY:
The 74138 decodes one-of-eight lines based upon the conditions at the three
binary select inputs and the three enable inputs. Two active low and one
active-high enable inputs reduce the need for external gates or inverters
when expanding. A 24-line decoder can be implemented with no external
inverters, and a 32-line decoder requires only one inverter. An enable input
can be used as a data input for demultiplexing applications.
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 39
PROCEDURE:
RESULT:
LOGIC SYMBOL:
FUNCTION TABLE:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 40
EXPERIMENT NO.7
D FLIPFLOP (7474)
AIM:
PROGRAM:
library ieee;
use ieee.std_logic_1164.all;
entity dff is
port(d,clk:in bit;
q,qn:out bit);
end dff;
architecture dffbh of dff is
begin
process(d,clk)
begin
if(clk'event and clk='1')then
q<=d;
qn<=not d;
end if;
end process;
end dffbh;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 41
OUTPUT WAVEFORM:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 42
THEORY:
This device contains two independent positive edge-triggered D flip-
flops with complementary outputs. The information on the D input is
accepted by the flip-flops on the positive going edge of the clock pulse. The
triggering occurs at a voltage level and is not directly related to the transition
time of the rising edge of the clock. The data on the D may be changed while
the clock is low or high without affecting the outputs as long as the data
setup and hold times are not violated. A LOW logic level on the preset or
clear inputs will set or reset the outputs regardless of the logic levels on the
other inputs.
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 43
CONNECTION DIAGRAM:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 44
EXPERIMENT NO.8
AIM:
PROGRAM:
library IEEE; --library definition
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 45
FUNCTION TABLE:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 46
OUTPUT WAVEFORM:
THEORY:
The 7490 decade counter contains four master slave flip-flops and additional
gating to provide a divide-by-two counter and a three-stage binary counter
for which the count cycle length is divide-by-five. The counter has a gated
zero reset and also has a gated set-to-nine input for use in BCD nine’s
complement applications. A symmetrical divide-by-ten count can be
obtained from the counters by connecting QD output to the A input and
applying the input count to the B input which gives a divide-by-ten square
wave at output QA.
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 47
PIN DESCRIPTION:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 48
LOGIC SYMBOL:
EXPERIMENT N0.9
PROGRAM:
library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity AsynCounter4 is
port( CLK, RESET, EN : in std_logic;
count: out std_logic_vector(3 downto 0) ) ;
end AsynCounter4;
process(RESET,CLK)
begin
if (RESET = '1') then count_t <= "0000" ;
elsif (CLK'event and (CLK='1')and(EN = '1'))then count_t <=
count_t +"0001" ;
end if ;
end process ;
count <= count_t ;
end arch_AsynCounter4;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 50
OUTPUT WAVEFORM:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 51
THEORY:
The 7493 is a 4 bit binary ripple counter consists of four master slave flip-
flops internally connected to provide a divide-by-two section and a divide-
by-eight section. Each section has a separate clock input (CP0 and CP1) to
initiate state changes of the counter on the HIGH to LOW clock transition.
State changes of the Qn outputs do not occur simultaneously because of
internal ripple delays. A gated AND asynchronous master reset (MR1 and
MR2) is provided which overrides both clocks and resets (clears) all flip-
flops. Because the output from the divides by two section is not internally
connected to the succeeding stages, the device may be operated in various
counting modes.
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 52
PIN DESCRIPTION:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 53
EXPERIMENT NO.10
AIM:
PROGRAM:
library ieee;
use ieee.std_logic_1164.all;
ENTITY ushift4 IS
PORT (clk, clrb, sl_in, sr_in : in bit;
mode : in bit_vector ( 1 downto 0 );
d : in bit_vector ( 3 downto 0 );
q : inout bit_vector (3 downto 0 ));
END ushift4;
ARCHITECTURE behav OF ushift4 IS
BEGIN
PROCESS (clk, clrb)
begin
-- Asynchronous, active-low Clear input:
if clrb = '0' then q <= "0000" ;
-- Rising edge-triggered D flip-flops:
elsif clk'event and clk = '1' then
case mode is
-- "Do Nothing" mode: retain current flip-flop outputs
when "00" => null;
-- Shift Right Serial Input mode:
when "01" =>
q <= (q srl 1) or (sr_in & "000") ;
-- Shift Left Serial Input mode:
when "10" =>
q <= (q sll 1) or ("000" & sl_in) ;
-- Parallel (Broadside) Load mode:
when "11" => q <= d ;
end case;
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 54
end if;
end process;
END behav;
FUNCTION TABLE:
OUTPUT WAVEFORM:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty
ECAD Lab manual 55
THEORY:
The 74194 is a high speed 4 bit shift registers. This is called
“universal” because is incorporates virtually all of the features a system
designer may want in a shift register. The circuit provides parallel inputs,
parallel outputs, right-shift and left-shift serial inputs, operating-mode-
control inputs, and a direct overriding clear line. In the parallel load mode,
the unit functions as a set of four D flip-flops. The two mode control bits SI
and SO provide four modes of operation:
PROCEDURE:
RESULT:
_______________________________________________________________________
_
Dept. of E.C.E , S.K.D Engineering College , Gooty