Beruflich Dokumente
Kultur Dokumente
1003 PDF
1003 PDF
www.kutub.info
!"#$
*) ( '&
$./ 1+2 "#-+
E -1
-' %
$ !
)
0
+ *
2) 01
+ .
0 .,-*
+
$3
-6 .7$ %
$
%
$ *-9+$ .
!+ $3 %
? ! * $3 %.9
+- < =
,<!
B
-*
!
)$ -
-E* 6 C 6
+) D %
$
) D
-
-
-
- $3
C 6
6 %
$
6
J -2 F3G-E F3G- LE
-2 !-G) (IJK
2 !-G 01 J * )
.3 I-K*
=
9
=
2 .3
1 D - %
J! -:
1 (1!-G '3
S$$3 (2 R7
-,-
!-G
,7 !-G * )
) (Amplifiers 01 G+BE -!$)$ ! %.9_
^
* .
, I%
1_
^ !-G ! * S
$
.$)C$) (Switch
C3 0 != C
*+
C$!-G
.$ ) %.9 *
- (Switch Cf
(Alarms) S 9 (Control) h 2 f ) 0
$
C3 != C
(ON OFF Technique) *+
B $3 -
) C $ 0
*-
- C3.!=C
) (ON - OFF (0) .= 6
C3.
G 6
C=!
G(1) 1
% G ) .3! (1
$
-E *
$ ) Boolean
(Arithmetic
$ $3
) 0
$-: C
(Boolean Arithmetic)
$ (1
(And,Or,Not) *( Boolean Arithmetic) * 7
$)
7
$) I%
$)* 6
! $ x1
(2 Bit Half Adder)
f
Sum = (x AND NOT y) OR (NOT x AND y)
Carry =(x AND y)
G,( 2
( Flip Flop)
!D
. 0
$3 $)
$
G,
$ %.9 $7 ( * Register)
-: (G x1 ) ( !
(Synchronous) 9G ( 1
(Clocked) G ! }
B 0
+
$ * $) *
(Asynchronous) 9G ? ( 2
(Non-Clocked) G ! }
B 0
+
$ * $) *
$3
G (
%.9
* 7 ! +7( 1
$3
) !%.9 $3 !+7 $ x1
(Analog)
!%.9
+1=
*
<
7 ! +7( 2
C+7 S
C=! C3. 0
$)
1 .=
'* ! 9
+ 2 C
+1=<
E
(Chips) ( Integrated Circuits )
3 E 60- -3
C ,7 *
7!
$! * -G(
*+
C=! C3
.$< 7 * * R7
(LSI(Large Scale Integration))
B!!9 (
Cf <7 -
- ,7
$6
(AND, OR, NOT)
Integrated )
$ 0$7 ='h} * I% $
(Circuit
(IC) 0$7
32
h} C2 ) $ ( * !LSI)
B!!9 )
$ +_ J
(Multiplier) ( Adder) ( Decoder)
+
f ='
(Very Large Scale Integration) (VLSI)
B!!9 (B
) $ ( !LSI) h} )f h} *
( CPU) ( Processor)
+
f 1 h} * !
$
(Communicaton Protocol)
(PLD) (Programmable Logic Devices)
B!!9 +_ (
V
T!
#U#H Z #&'( G2
#$ WX( E
FPGAJ DHI!
(Logic Element)( Logic Block)#*X]! !` _^
A LUT (Look up Tables)( Logic Cells)#&'( $ f &
#*(
`! $ #U f &
FPGA
CD (ROMs) mlJ
J #U!(X W& A(CAM)( Dual Port Memory)SRAM
WX )* A: 2#$ ( X# ( HDL)1 A: #! #$
schematic entry 2#( v!l#
(FPGA)T& ( Routing Resources)2
w #X( f
2
Hx A( FPGA)T& A: 2
w #X
!` $ w
#Z!' X( Routing Channels)
Memory, LUT & Logic Cells
B
, C=! pins (
f#( 2
} T&J A: $ w &* #X
_^ U
(FPGA) J (PINs)
& #Ul
&
W& J CDl: #Ul
#UD&
Z A: G(
#: _ .$( }& AGP) ( PCI)( CMOS)(TTL)
#f
H
! Z(! #f
H
w (E
(&* FPGA)
(PLL) ( Clock) B
, C=! pins (
(Clock)
- C=! 3, (FPGA) ) }
* h
!
+ !$ (FPGA) ( ) }Reset)
(Divider) ( ClockMultiplier) Cf (PLL) ( Clock)
(;
1 () _FPGA) ]
_-5
.
.
.
.
B -
h$
)(Simulation
? } )
+ $ (FPGA1
1 * !+7
+h7 K<2
*
1
$$3
S C
<
= C 6
+1
$ I%+< ! $! 6
)
$) K
% (FPGA
h$
<E J
}
=
+1
C
h -(Synthesis) $3
*
$
9- !
* !
+$$3C!h (HDL) ' <-
!=^ 0 I%!<, ,7 *
1,- !
- -
C+
*
9 schematic Entry
-
!$ *
+9(Place and route)
+9 R
I%!<, ,7
$
$$3$ !$
1
$FPGA
h
-
9$)
!$ *
+<+
!
$3
,- !96 != C-E .
2 I%!<, R % != C
, *6
(pins) h
BGB
2* C=! -
+ h
(Bit Stream) ! -
%( Programming File) (
^ Bit Stream)
! $
$3 ^
$3 )
!
$ C 0
!h
2
.$ C3 '* 9 ^( FPGA)!
B!$!$
.h C$)7 %
^ $ ! .(FPGA)
R D
h$
<7 9 (FPGA) 9$)
$3 !+ -
9 E I% h< -!$' 3
$$3 * . *
<
7 %.9 0
h *
01
<
. 0
6
! I%!
(VHDL)
F3G ]
- 10
-
Half adder
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY Adder_ent IS
PORT (
Op1 : IN std_logic;
op2 : IN std_logic;
carry : OUT std_logic;
Result : OUT std_logic);
-- Operand 1
-- Operand 2
-- Output carry
-- Result
END Adder_ent;
ARCHITECTURE behavior OF Adder_ent IS
BEGIN -- behavior
Result <= (Op1 AND NOT Op2) OR (NOT Op1 AND Op2);
Carry <= Op1 AND Op2;
END behavior;
8 bit Adder
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY Adder_ent IS
PORT (
clk : IN std_logic;
-- System clock
rst_n : IN std_logic;
-- System reset
Op1 : IN std_logic_vector(7 DOWNTO 0); -- Operand 1
op2 : IN std_logic_vector(7 DOWNTO 0); -- Operand 2
Result : OUT std_logic_vector(7 DOWNTO 0)); -- Result
END Adder_ent;
ARCHITECTURE behavior OF Adder_ent IS
BEGIN -- behavior
PROCESS (clk, rst_n)
BEGIN -- PROCESS
IF rst_n = '0' THEN
-- asynchronous reset (active low)
Result <= (OTHERS => '0');
ELSIF clk'event AND clk = '1' THEN -- rising clock edge
Result <= Op1 + op2;
END IF;
END PROCESS;
END behavior;
Counter
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY Adder_ent IS
PORT (
clk : IN std_logic;
-- System clock
rst_n : IN std_logic;
-- System reset
Count : OUT std_logic_vector(7 DOWNTO 0)); -- Count
END Adder_ent;
ARCHITECTURE behavior OF Adder_ent IS
SIGNAL counter : std_logic_vector(7 DOWNTO 0); -- internal counter
BEGIN -- behavior
PROCESS (clk, rst_n)
BEGIN -- PROCESS
IF rst_n = '0' THEN
-- asynchronous reset (active low)
Counter <= (OTHERS => '0');
ELSIF clk'event AND clk = '1' THEN -- rising clock edge
Counter <= counter + 1;
END IF;
END PROCESS;
count <= counter;
END behavior;
7-Segment decoder
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY Decoder IS
PORT (
InBin : IN std_logic_vector (3 DOWNTO 0);
Display : OUT std_logic_vector (6 DOWNTO 0));
END Decoder;
ARCHITECTURE rtl OF decoder IS
SIGNAL t : std_logic_vector (6 DOWNTO 0);
BEGIN
seg_process : PROCESS (InBin)
BEGIN
CASE InBin IS
WHEN "0000" => t <= "1111110";
WHEN "0001" => t <= "0110000";
WHEN "0010" => t <= "1101101";
WHEN "0011" => t <= "1111001";
WHEN "0100" => t <= "0110011";
WHEN "0101" => t <= "1011011";
WHEN "0110" => t <= "0011111";
WHEN "0111" => t <= "1110000";
WHEN "1000" => t <= "1111111";
WHEN "1001" => t <= "1110011";
WHEN "1010" => t <= "1110111";
WHEN "1011" => t <= "0011111";
WHEN "1100" => t <= "1001110";
WHEN "1101" => t <= "0111101";
0
$ % 0
)
-
B
jamilkhatib75@yahoo.com
Tarek_ah@yahoo.com