Professional Documents
Culture Documents
CHNG 1 :
1.1
Nhng phn t ngn ng c bn :.................................................................... 1
1.1.1
Li ch thch : ............................................................................................. 1
1.1.2
Nhng iu cn bit v ngn ng VHDL :................................................... 1
1.1.3
i tng d liu : ...................................................................................... 1
1.1.4
Loi d liu : ............................................................................................... 2
1.2
1.3
1.4
Architecture (cu trc) : ................................................................................... 6
1.4.1
C php cho dataflow model : .................................................................... 6
1.4.2
C php cho behavioral model : .................................................................. 7
1.4.3
C php ca structural model : .................................................................... 7
1.5
Generic : ............................................................................................................ 8
1.5.1
C php trong khai bo ENTITY :............................................................... 8
1.5.2
C php trong khai bo component : ........................................................... 9
1.5.3
C php trong thuyt minh component : ...................................................... 9
1.6
Package (gi) : ................................................................................................. 10
1.6.1
C php khai bo PACKAGE: .................................................................. 10
1.6.2
C php khai bo thn chnh Package: ....................................................... 11
1.7
Nhng cu lnh ng thi theo cu trc Dataflow : ...................................... 12
1.7.1
Gn cc tn hiu ng thi : ....................................................................... 12
1.7.2
Gn tn hiu c iu kin : ......................................................................... 12
1.7.3
Gn tn hiu c chn la : ...................................................................... 13
1.7.4
V d cho kiu dataflow : .......................................................................... 13
1.8
Nhng cu lnh tun t theo cu trc Behavioral : ....................................... 14
1.8.1
Process : .................................................................................................... 14
1.8.2
Nhng php gn tn hiu tun t : .............................................................. 14
1.8.3
Php gn bin : .......................................................................................... 15
1.8.4
Wait : ........................................................................................................ 15
1.8.5
If then else :............................................................................................... 15
1.8.6
Case: ......................................................................................................... 16
1.8.7
Null : ......................................................................................................... 16
1.8.8
For : .......................................................................................................... 16
1.8.9
While : ...................................................................................................... 17
1.8.10 Loop : ....................................................................................................... 17
1.8.11 Exit : ......................................................................................................... 17
1.8.12 Next : ........................................................................................................ 17
1.8.13 Function (hm) : ........................................................................................ 17
1.8.14 Procedure (th tc) : .................................................................................. 19
1.8.15 V d v kiu Behavioral : ......................................................................... 20
1.9
Cc cu lnh kiu Structural : ........................................................................ 21
1.9.1
Khai bo Component : ............................................................................... 21
1.9.2
Port map :.................................................................................................. 21
1.9.3
Open : ....................................................................................................... 22
1.9.4
Generate : .................................................................................................. 22
1.9.5
V d v cch vit on m theo kiu Structure: ........................................ 23
1.10 Cc th tc chuyn i : ................................................................................. 25
1.10.1 Conv_integer ( ) : ...................................................................................... 25
1.10.2 Conv_Std_Logic_Vector (,): ..................................................................... 25
CHNG 2 :
2.1
Ngn ng VHDL m t cc cng logic c bn: .............................................. 27
2.1.1
on m VHDL m t cng NAND 2 ng vo: ......................................... 27
2.1.2
Ngn ng VHDL m t cng NOR 3 ng vo: .......................................... 28
2.1.3
Dng ngn ng VHDL m t mt h thng bo ng cho xe hi: .............. 29
2.2
B gii m LED 7 on:.................................................................................. 31
2.2.1
Xy dng cu trc b gii m LED 7 on: ............................................... 31
2.2.2
Ngn ng VHDL m t mch gii m LED 7 on: .................................. 34
2.2.3
Cu trc structural biu din gii m s thp phn ra Led 7 on: .............. 35
2.2.4
Cu trc dataflow biu din gii m s thp phn ra Led 7 on: ............... 37
2.2.5
Cu trc behavioral biu din gii m s thp phn ra Led 7 on: ............ 38
2.3
B cng: ........................................................................................................... 38
2.3.1
B cng ton phn (FA): ........................................................................... 38
2.3.2
B cng ton phn hai s nh phn c nhiu hn 1 bit: .............................. 40
2.3.3
B cng hai s nh phn nhiu bit cho kt qu hin th nhanh: ................... 41
2.4
B tr: ............................................................................................................. 42
2.4.1
B tr mt bit: ........................................................................................... 42
2.4.2
S tch hp c hai b cng v b tr trong cng mt mch s: ................... 43
2.5
2.6
B gii m:....................................................................................................... 49
2.7
B m ha:....................................................................................................... 52
2.8
2.9
2.10
B so snh:....................................................................................................... 58
2.11
2.12
B nhn: .......................................................................................................... 62
2.13.5
2.13.6
3.1
3.2
3.3
3.4
3.5
3.6
Cng PS/2 Mouse v Keyboard : .................................................................. 108
3.6.1
Bn phm :............................................................................................... 109
3.6.2
Mouse : ................................................................................................... 109
3.6.3
Ngun cp p: ......................................................................................... 110
3.7
3.8
3.9
iii
4.1
4.2
Giao tip bn phm PS/2 : ............................................................................. 122
4.2.1
S chn kt ni: .................................................................................. 122
4.2.2
Cc tn hiu ca PS/2 : ............................................................................ 122
4.2.3
Nguyn tc truyn d liu : ..................................................................... 122
4.2.4
M qut bn phm (Scancode) : ............................................................... 124
4.3
Giao tip VGA : ............................................................................................ 125
4.3.1
S chn kt ni : ................................................................................. 125
4.3.2
Cc tn hiu ca VGA : ........................................................................... 125
4.3.3
Nguyn tc to hnh :............................................................................... 125
4.3.4
Nguyn tc qut tn hiu in to nh : ............................................... 125
4.3.5
Mt vi chun Video in hnh cho TV v PC : ....................................... 126
4.3.6
Gin thi gian cho cc tn hiu ca chun VGA : ................................ 127
CHNG 5 :
5.1
5.2
iv
MC LC HNH
Hnh 2. 1 : on m VHDL cho cng NAND 2 ng vo................................................... 28
Hnh 2. 2 : Cng NOR 3 ng vo (a) on m VHDL; (b) s mch; (c) thi gian m
phng. .............................................................................................................................. 29
Hnh 2. 3 : Gin xung ca h thng bo ng trong xe hi: (a) Dng xung trn l
thuyt; (b) Dng xung trn thc t. ................................................................................... 30
Hnh 2. 4 : Mch bo ng trong xe hi (a) on m VHDL c vit di dng dataflow;
(b) m phng gin xung. .............................................................................................. 31
Hnh 2. 5 : Bng chn tr ca b gii m 7 on. ............................................................. 32
Hnh 2. 6 : Mch gii m LED 7 on. ............................................................................. 34
Hnh 2. 7 : S biu din thi gian hin th mt s trn Led 7 on ca mt s thp phn
tng ng. ........................................................................................................................ 38
Hnh 2. 8 : B cng ton phn (a) bng chn tr; (b) s mch; (c) k hiu logic. ......... 39
Hnh 2. 9 : B cng hai s nh phn 8 bit. ......................................................................... 40
Hnh 2. 10 : (a) Mch vn hnh tn hiu Carry-Lookahead t c1 n c 4 ; (b) mt mu bit
ca b cng Carry-Lookahead. ........................................................................................ 42
Hnh 2. 11 : B tr 1 bit (a) bng chn tr; (b) s mch; (c) k hiu logic. ................... 43
Hnh 2. 12 : Mch cng v tr chui 8 bit nh phn (a) bng vhn tr; (b) s mch; (c)
k hiu logic. .................................................................................................................... 44
Hnh 2. 13 : Mch ALU 4 bit. ........................................................................................... 46
Hnh 2. 14 : Hot ng ca khi ALU (a) Bng cc trng thi; (b) Bng chn tr ca LE;
(c) Bng chn tr ca AE; (d) Bng chn tr ca CE. ........................................................ 47
Hnh 2. 15 : Ba karnaugh, biu thc, s mch cho: (a) LE; (b) AE; (c) CE. ................ 48
Hnh 2. 16: on m VHDL cho mt khi ALU. ............................................................... 49
Hnh 2. 17 : Dng sng m phng cho 8 thut ton c bn ca khi ALU vi hai gi tr ng
vo l 5 v 3. .................................................................................................................... 49
Hnh 2. 18 : Mt b gii m 3 sang 8 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
......................................................................................................................................... 50
Hnh 2. 19 : Mt b gii m 3 sang 8 c xy dng t 7 b gii m 1 sang 2. ................ 51
Hnh 2. 20 : Mt b m ha 8 sang 3 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
......................................................................................................................................... 52
Hnh 2. 21 : Bng chn tr cho mt b m ha 8 sang 3 c s u tin. .............................. 53
Hnh 2. 22 : B ghp knh t 2 sang 1 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
......................................................................................................................................... 54
Hnh 2. 23 : B ghp knh 8 sang 1 (a) Bng chn tr; (b) s mch; (c) k hiu logic. 54
Hnh 2. 24 : B ghp knh 8 sang 1 c s dng (a) B gii m 3 sang 8; (b) 7 b ghp knh
2 sang 1. ........................................................................................................................... 55
Hnh 2. 25 : Dng b ghp knh 8 thnh 1 biu din hm
F ( x, y, z ) x' yz' xy' z xyz' xyz. ................................................................................... 57
Hnh 2. 26 : B m ba trng thi (a) bng chn tr; (b) k hiu logic; (c) bng chn tr cho
vic phn chia iu khin cho mch m ba trng thi; (d) s mch. ........................... 58
Hnh 2. 27 : B so snh 4 bit n gin cho (a) X=3; (b) X Y ; (c) X<5. ........................ 59
Hnh 2. 28 : B so snh lp (a) So snh tng cp bit x i v y i ; (b) 4-bit X=Y. .................. 60
Hnh 2. 29 : S hot ng ca b dch v b xoay. ........................................................... 60
Hnh 2. 30 : B dch / b xoay 4 bit: (a) Bng trng thi hot ng;(b) s mch; (c) k
hiu logic. ........................................................................................................................ 61
Hnh 2. 31 : Php nhn (a) nhn bng tay; (b) phng php thc hin; (c) s mch.... 63
Hnh 2. 32 : S mch ca Moore FSM v Mealy FSM. ................................................ 65
Hnh 2. 33 : (a) S khi Moore FSM; (b) S khi Mealy FSM................................. 67
Hnh 2. 34 : Bng trng thi tip theo vi 4 trng thi v tn hiu ng vo C. ................... 68
Hnh 2. 35 : Bng ng ra (a) Moore FSM; (b)Mealy FSM. ............................................... 69
Hnh 2. 36 : S cc trng thi trong mt mch tun t................................................. 70
Hnh 2. 37 : Moore FSM n gin .................................................................................... 71
Hnh 2. 38 : S trng thi y ca mch Moore FSM. ........................................... 73
Hnh 2. 39 : Gin thi gian ca Moore FSM m phng bng xilinx. ............................ 76
Hnh 2. 40 : Mealy FSM n gin. ................................................................................... 76
Hnh 2. 41 : Bng chn tr ng ra. ................................................................................... 77
Hnh 2. 42 : Trng thi y ca Mealy FSM. ............................................................... 77
Hnh 2. 43 : Tnh ton thi gian mu cho Mealy FSM ...................................................... 78
Hnh 2. 44 : Gin thi gian ca Mealy FSM c m phng bng xilinx. .................... 80
Hnh 2. 45 : Thanh ghi 4 bit vi mc xa khng ng b. ................................................. 81
Hnh 2. 46 : K hiu logic ca thanh ghi........................................................................... 81
Hnh 2. 47 : Gin m phng cho thanh ghi 4 bit. ......................................................... 82
Hnh 2. 48 : Mch thanh ghi c thm chn iu khin. ..................................................... 83
Hnh 2. 49 : Mch hon chnh ca thanh ghi 4x4.............................................................. 83
Hnh 2. 50 : Tn hiu m phng cho ghi 4x4 vi 1 Port ghi, 2 Port c. ............................ 85
Hnh 2. 51 : K hiu logic ca chip RAM. ......................................................................... 86
Hnh 2. 52 : Mch nh bit trong RAM. ............................................................................. 86
Hnh 2. 53 : S cc nh dng li trong chip RAM 4x4. .......................................... 87
Hnh 2. 54 : B m ln nh phn (a) Bng chn tr; (b) S mch; (c) K hiu logic. ... 89
Hnh 2. 55 : B m ln 4 bit S mch; bng chn tr; k hiu logic. .......................... 90
Hnh 2. 56 : Tn hiu m phng cho b m ln 4 bit. ....................................................... 91
Hnh 2. 57 : B cng ,tr bn phn (a) Bng chn tr; (b) S mch; (c) K hiu logic. 92
Hnh 2. 58 : B m ln xung 4 bit: (a) S mch; (b) Bng chn tr; (c) K hiu logic.
......................................................................................................................................... 92
Hnh 2. 59 : Tn hiu m phng cho b m ln xung 4 bit. ............................................. 93
Hnh 2. 60 : (a) S mch m ln xung 4 bit c sa i ; (b) Bng chn tr ; (c) k hiu
logic ca m ln xung 4 bit c sa i. ......................................................................... 94
Hnh 2. 61 : B m BCD (a) b m ln; (b) b m xung. ........................................... 95
Hnh 2. 62 : B chuyn i 4 bit ni tip ra song song. ..................................................... 96
Hnh 2. 63 : Tn hiu m phng ca mt b chuyn i 4 bit ni tip ra song song. .......... 97
Hnh 2. 64 : (a) S mch thanh ghi dch ni tip ra song song v song song ra ni tip;
(b) Bng chn tr ; (c) k hiu logic ca thanh ghi dch ni tip ra song song v song song
ra ni tip. ........................................................................................................................ 98
Hnh 2. 65 : Tn hiu m phng thanh ghi dch ni tip ra song song v song song ra ni
tip. .................................................................................................................................. 98
Hnh 3. 1 : S khi kit Xilinx FPGA Spartan-3 Starter. ............................................. 100
Hnh 3. 2: Mch in pha trc kit FPGA Xilinx Spartan-3 Starter. ................................. 101
Hnh 3. 3 : Mch in pha sau kit FPGA Xilinx Spartan-3 Starter..................................... 101
vi
viii
1.1
1.1.1 Li ch thch :
Li ch thch c ch ra sau hai du gch ni lin tip (--) v c kt thc cui dng.
V d : -- y l li ch dn.
1.1.2 Nhng iu cn bit v ngn ng VHDL :
C php nhn bit VHDL :
Mt dy ca mt hoc nhiu k t vit hoa, k t thng, ch s, ng gch di .
K t thng v k t hoa c x l nh nhau.
K t u tin thng l mt ch ci.
K t cui cng khng th l ng gch di.
Khng th c 2 ng gch di cng mt lc.
1.1.3 i tng d liu :
C 3 loi i tng d liu : bin, hng, tn hiu.
i tng d liu tn hiu i din cho tn hiu logic trn ng dy trong mch , mt tn
hiu khng c b nh do nu ngun tn hiu b mt th tn hiu khng c gi tr.
i tng d liu bin nh ni dung ca n v dng tnh ton trong m hnh hnh vi.
i tng d liu hng cn c1 gi tr ban u khi khai bo v gi tr ny khng i.
V d :
Signal x: bit;
Variable y: integer;
Constant one: STD_Logic_Vector {3 Downto 0} := 0001 ;
Bit v Bit_vector :
Signal x: bit;
Signal y: Bit_vector ( 7 downto 0);
x <= 1;
y <= 00000010;
y <= (others => 0); -- same as 00000000
1.1.4.2
STD_Logic v STD_Logic_Vector :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
SIGNAL x: STD_LOGIC;
SIGNAL y: STD_LOGIC_VECTOR(7 DOWNTO 0);
x <= 'Z';
y <= "0000001Z";
y <= (OTHERS => '0'); -- same as "00000000"
1.1.4.3
Integer :
SIGNAL x: INTEGER;
SIGNAL y: INTEGER RANGE 64 to 64;
1.1.4.4
Boolean :
Array :
Loi ARRAY nhm cc i tng d liu ring l ca cng mt loi thnh mt mng mt
chiu hay nhiu chiu.
C php :
Subtype :
1.2
Ton t d liu :
Ton t
V d
AND
And
a AND b
OR
Or
a OR b
NOT
Not
NOT a
NAND
Nand
a NAND b
NOR
Nor
a NOR b
XOR
Xor
a XOR b
XNOR
Xnor
a XNOR b
a+b
Php tr (subtraction)
a-b
a*b
a/b
MOD
a MOD b
REM
a REM b
**
Ly tha (exponentiation)
A ** 2
&
Php ni (concatenation)
a & b
ABS
Tr tuyt i (absolute)
a ABS b
Bng
/=
Khng bng
<
Nh hn
<=
Nh hn hoc bng
>
Ln hn
>=
Ln hn hoc bng
srl
sla
sra
rol
ror
1.3
Mt khai bo ENTITY biu th mt giao din ngi dng hoc bn ngoi ca moun ging
vi khai bo ca mt chc nng. N ch r tn ca thc th v giao din ca n. Giao din
gm c nhng tn hiu vo v ra thc th s dng t kha i din l IN v OUT .
C php :
ENTITY entity-name IS
PORT (list-of-port-names-and-types);
END entity-name;
V d : LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Siren IS PORT(
M: IN STD_LOGIC;
D: IN STD_LOGIC;
V: IN STD_LOGIC;
S: OUT STD_LOGIC);
END Siren;
1.4
END architecture-name;
Nhng pht biu concurrent c thc hin mt cch ng thi.
V d
1.5
Generic :
GENERIC cho php thng tin i qua ENTITY, v d kch thc ca Vector trong danh
sch PORT s khng c bit cho n khi thi gian chnh xc. GENERIC ca mt
ENTITY c th hin khi dng t kha GENERIC trc danh sch PORT khai bo trong
ENTITY. Mt b nhn dng c khai bo nh GENERIC l mt hng v ch c th c
c. B nhn dng sau c th c dng trong khai bo ENTITY v nhng kin trc
ph hp ca n mi ni hng s c i hi.
1.5.1 C php trong khai bo ENTITY :
ENTITY entity-name IS
GENERIC (identifier: type); -- with no default value
or
ENTITY entity-name IS
GENERIC (identifier: type := constant); -- with a default value given by the constant
V d ENTITY Adder IS
-- declares the generic identifier n having a default value 4
GENERIC (n: INTEGER := 4);
PORT (
-- the vector size is 3 downto 0 since n is 4
A, B: IN STD_LOGIC_VECTOR(n-1 DOWNTO 0);
Cout: OUT STD_LOGIC;
SUM: OUT STD_LOGIC_VECTOR(n-1 DOWNTO 0));
S: OUT STD_LOGIC);
END Siren;
Gi tr cho mt GENERIC hng cng c th c cp trong mt cu lnh khai bo
Component hoc mt cu lnh thuyt minh Component.
1.5.2 C php trong khai bo component :
COMPONENT component-name
GENERIC (identifier: type := constant);
-- with an optional value given by the constant
PORT (list-of-port-names-and-types);
END COMPONENT;
1.5.3 C php trong thuyt minh component :
label: component-name GENERIC MAP (constant) PORT MAP (association-list);
V d: ARCHITECTURE ...
COMPONENT mux2 IS
-- declares the generic identifier n having a default value 4
GENERIC (n: INTEGER := 4);
Thit k cc ng dng trn Kit FPGA Spartan III
Package (gi) :
10
LIBRARY WORK;
USE WORK.package-name.ALL;
V d : LIBRARY WORK;
USE WORK.my_package.ALL;
ENTITY test_package IS PORT (
END test_package;
Thit k cc ng dng trn Kit FPGA Spartan III
11
1.7
Pht biu Concurrent s dng cho m hnh Dataflow c thi hnh mt cch ng thi. Do
th t cc pht biu ny khng c nh hng kt qu ng ra.
1.7.1 Gn cc tn hiu ng thi :
Gn mt ga tr hoc kt qu ca c lng mt biu thc cho tn hiu. Pht biu ny c
thc thi khi no tn hiu trong biu thc thay i gi tr. Tuy nhin vic gn thc s gi
tr cho tn hiu din ra sau thi gian tr no v khng tc thi nh nhng php gn bin.
Biu thc c th l cc biu thc logic hoc s hc.
C php :
V d : y <= '1';
z <= y AND (NOT x);
Mt vector m tt c bit c cng gi tr c th dng t kha OTHERS nh di y:
SIGNAL x: STD_LOGIC_VECTOR(7 DOWNTO 0);
x <= (OTHERS => '0'); -- 8-bit vector of 0, same as "00000000"
1.7.2 Gn tn hiu c iu kin :
Chn mt hoc vi gi tr khc nhau gn cho tn hiu da trn iu kin khc nhau. Cu
lnh s thc thi khi 1 s gi tr hay iu kin thay i trong tn hiu
C php :
12
Gn tn hiu c chn la :
1.7.3
Trong c php trn nu biu thc bng trng hp 1 th value1 c gn cho signal. V
th nu biu thc bng trng hp 2 hoc trng hp 3 th value2 c gn cho tn hiu.
Nu biu thc khng c trong cc trng hp trn th value4 trong ty chn WHEN
OTHERS c gn cho tn hiu.
V d : WITH sel SELECT
z <=
13
1.8
M hnh behavioral cho php nhng pht biu thc thi lin tc ging nh mt chng
trnh my tnh thng thng. Pht biu Sequential statements gm nhiu chun xy dng
nh: gn bin, if then else, cc vng lp.
1.8.1 Process :
Khi PROCESS cha nhng pht biu c thc thi tun t. Tuy nhin chinh pht biu
PROCESS l mt concurrent statements (pht biu ng thi). Khi nhiu PROCESS trong
1 kin trc s thc thi mt cch ng thi . Cc khi x l ny kt hp vi nhau thnh
concurrent statements khc.
C php :
BEGIN
sequential-statements;
END PROCESS process-name;
Danh sch tn hiu nhy c tch bit bi du phy (,) m n x l. Nhng t khc, mi
khi tn hiu trong danh sch thay di gi tr , vic x l c thc thi tt c pht biu tun
t theo danh sch. Sau khi pht biu cui cng c thc thi , vic x l s hon li cho
n thi gian tip theo khi mt tn hiu trong danh sch thay i gi tr trc khi thc thi
ln na.
V d: PROCESS (D, V, M)
BEGIN
term_1 <= D OR V;
S <= term_1 AND M;
END PROCESS;
1.8.2 Nhng php gn tn hiu tun t :
14
V d :
y <= '1';
z <= y AND (NOT x);
signal := expression;
V d : y := '1';
yn := NOT y;
1.8.4 Wait :
Khi 1 Process c danh sch nhy, process lun tr hon sau khi thc thi pht biu trc .
Mt kh nng s dng danh sch nhy tr hon Process l dng pht biu WAIT. N
cn c pht biu trc tin trong PROCESS.
C php :
V d :
1.8.5
If then else :
C php:
IF condition THEN
sequential-statements1;
ELSE
sequential-statements2;
END IF;
IF condition1 THEN
sequential-statements1;
ELSIF condition2 THEN
sequential-statements2;
Thit k cc ng dng trn Kit FPGA Spartan III
15
ELSE
sequential-statements3;
END IF;
V d: IF count /= 10 THEN -- not equal
count := count + 1;
ELSE
count := 0;
END IF;
1.8.6 Case:
C php:
CASE expression IS
WHEN choices => sequential-statements;
WHEN choices => sequential-statements;
NULL;
1.8.8 For :
C php :
16
Pht biu LOOP cn gii hn tnh cc b. Vic nhn bit c thc hin ngm v th khng
khai bo r bin l s cn thit.
V d : sum := 0;
FOR count IN 1 TO 10 LOOP
sum := sum + count;
END LOOP;
1.8.9 While :
C php:
1.8.10 Loop :
C php:
LOOP
sequential-statements;
EXIT WHEN condition;
END LOOP;
1.8.11 Exit :
Pht biu EXIT ch dng bn trong vng lp. N thc hin hnh ng nhy ra khi vng
lp cui v thng dng kt hp vi pht biu LOOP.
C php:
1.8.12 Next :
Pht biu NEXT ch c th c dng bn trong vng lp . N thc hin b qua phn cui
ca cc vng lp v bt vng lp tip theo. N thng dng kt hp vi pht biu FOR.
C php :
V d : sum := 0;
FOR count IN 1 TO 10 LOOP
NEXT WHEN count = 3;
sum := sum + count;
END LOOP;
1.8.13 Function (hm) :
C php khai bo FUNCTION
Thit k cc ng dng trn Kit FPGA Spartan III
17
18
END Behavioral;
1.8.14 Procedure (th tc) :
C php khai bo PRODUCE
PROCEDURE procedure -name (parameter-list);
C php nh ngha PRODUCE
PROCEDURE procedure-name (parameter-list) IS
BEGIN
sequential-statements;
END procedure-name;
C php gi PRODUCE
procedure -name (actuals);
Thng s trong danh sch thng s l cc bin ca ng IN ,OUT hay INOUT.
V d:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY test_procedure IS PORT (
x: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
z: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END test_procedure;
ARCHITECTURE Behavioral OF test_procedure IS
SUBTYPE bit4 IS STD_LOGIC_VECTOR(3 DOWNTO 0);
PROCEDURE Shiftright (input: IN bit4; output: OUT bit4) IS
BEGIN
output := '0' & input(3 DOWNTO 1);
END shiftright;
BEGIN
PROCESS
VARIABLE mysignal: bit4;
BEGIN
Thit k cc ng dng trn Kit FPGA Spartan III
19
Shiftright(x, mysignal);
z <= mysignal;
END PROCESS;
END Behavioral;
1.8.15 V d v kiu Behavioral :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY bcd IS PORT (
I: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Segs: OUT STD_LOGIC_VECTOR(1 TO 7));
END bcd;
ARCHITECTURE Behavioral OF bcd IS
BEGIN
PROCESS(I)
BEGIN
CASE I IS
WHEN "0000" => Segs <= "1111110";
WHEN "0001" => Segs <= "0110000";
WHEN "0010" => Segs <= "1101101";
WHEN "0011" => Segs <= "1111001";
WHEN "0100" => Segs <= "0110011";
WHEN "0101" => Segs <= "1011011";
WHEN "0110" => Segs <= "1011111";
WHEN "0111" => Segs <= "1110000";
WHEN "1000" => Segs <= "1111111";
WHEN "1001" => Segs <= "1110011";
WHEN OTHERS => Segs <= "0000000";
END CASE;
END PROCESS;
Thit k cc ng dng trn Kit FPGA Spartan III
20
END Behavioral;
1.9
M hnh cu trc cho php kt ni bng tay mt vi linh kin vi nhau s dng tn hiu .
Tt c cc linh kin c s dng cn nh ngha trc vi phn ENTITY v
ARCHITECTURE ca chng trong cng 1 file hoc cc file ring. Trong mun cao nht,
mi linh kin s dng trong bng kt ni c khai bo trc tin dng pht biu
COMPONENT. Sau nhng khai bo COMPONENT c p dng vi linh kin tht
s trong mch bng cch dng pht biu PORT MAP. Sau nhng tn hiu c dng kt
ni cc linh kin vi nhau theo bng kt ni.
1.9.1 Khai bo Component :
Khai bo tn v giao din ca linh kin c dng trong m t mch .Vic khai bo cho
mi linh kin phi c dng ph hp vi ENTITY v ARCHITECTURE ca linh kin
. Khai bo tn v giao din phi ph hp, chnh xc tn v giao din c ch r trong
phn ENTITY ca linh kin .
C php
COMPONENT component-name IS
PORT (list-of-port-names-and-types);
END COMPONENT;
or
COMPONENT component-name IS
GENERIC (identifier: type := constant);
PORT (list-of-port-names-and-types);
END COMPONENT;
V d :
COMPONENT half_adder IS PORT (
xi, yi, cin: IN STD_LOGIC;
cout, si: OUT STD_LOGIC);
END COMPONENT;
1.9.2 Port map :
21
Pht biu PORT MAP thuyt minh khai bo 1 linh kin vi linh kin tht trong mch bng
cch ch r kt ni nh th no cc ng dng ca linh kin ny c hnh thnh.
C php :
1.9.4 Generate :
Pht biu GENERATE lm vic nh on m m rng. N cung cp cch n gin sao
chp nhng linh kin ging nhau.
C php :
label: FOR identifier IN start [TO | DOWNTO] stop GENERATE
port-map-statements;
END GENERATE label;
V d:
-- using a FOR-GENERATE statement to generate four instances of the full adder
-- component for a 4-bit adder
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
22
23
END myOR;
ARCHITECTURE OR_Dataflow OF myOR IS
BEGIN
out1 <= in1 OR in2; -- performs the OR operation
END OR_Dataflow;
-- declare and define the 2-input AND gate
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY myAND IS PORT (
in1, in2: IN STD_LOGIC;
out1: OUT STD_LOGIC);
END myOR;
ARCHITECTURE OR_Dataflow OF myAND IS
BEGIN
out1 <= in1 AND in2; -- performs the AND operation
END OR_Dataflow;
-- topmost module for the siren
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Siren IS PORT (
M: IN STD_LOGIC;
D: IN STD_LOGIC;
V: IN STD_LOGIC;
S: OUT STD_LOGIC);
END Siren;
ARCHITECTURE Siren_Structural OF Siren IS
-- declaration of the needed OR gate
COMPONENT myOR PORT (
in1, in2: IN STD_LOGIC;
Thit k cc ng dng trn Kit FPGA Spartan III
24
1.10
Cc th tc chuyn i :
1.10.1 Conv_integer ( ) :
Chuyn loi std_logic_vector thnh Integer
Yu cu:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
C php :
CONV_INTEGER(std_logic_vector)
V d : LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
SIGNAL four_bit: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL n: INTEGER;
n := CONV_INTEGER(four_bit);
1.10.2 Conv_Std_Logic_Vector (,):
Chuyn loi Integer thnh std_logic_vector
Yu cu :
LIBRARY IEEE;
25
USE IEEE.STD_LOGIC_ARITH.ALL;
C php :
V d :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_ARITH.ALL;
SIGNAL four_bit: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL n: INTEGER;
four_bit := CONV_STD_LOGIC_VECTOR(n, 4);
26
27
28
Hnh 2. 2 : Cng NOR 3 ng vo (a) on m VHDL; (b) s mch; (c) thi gian m
phng.
2.1.3 Dng ngn ng VHDL m t mt h thng bo ng cho xe hi:
Trong mt h thng bo ng cho xe hi, chng ta thng kt ni h thng ny vi mt ci
ci bo ng, khi c mt tc ng t bn ngoi no vo h thng th chung s vang ln.
Theo tng ny, chng ta phi c: mt cng tc iu khin ng ngt chnh cho h thng
c t tn l M; mt cng tc i din cho vic ng m ca xe c t tn l D; mt
b pht hin dao ng c t tn l V. Chng ta s quy nh mc logic cho tng k hiu
ny nh sau: ca xe m khi D=1, trng hp khc th D=0; tng t nh th, khi xe b
rung ng th V=1, trng hp khc V=0; chng ta mun ci S reo ln th S=1. Nh vy c
ba trng hp lm cho chung bo hiu reo ln l D=1 hoc V=1 hoc c hai D=V=1, trong
ba trng hp trn cng tc iu khin chnh ca h thng s ng li lm chung bo ng
vang ln tc l M=1. Tuy nhin, vn t ra y l khi ngi ch xe m ca xe ra vo
bn trong li xe th h khng mun ci bo ng vang ln. Do lc ny cng tc iu
khin chnh M=0 tng ng vi ton b h thng bo ng s ngng hot ng bt k D v
V ang l 0 hay 1. Da trn nhng phn tch trn ta lp bng chn tr cho hm S gm 3 bin
M, D,V nh sau:
29
Hnh 2. 3 : Gin xung ca h thng bo ng trong xe hi: (a) Dng xung trn l
thuyt; (b) Dng xung trn thc t.
Thit k cc ng dng trn Kit FPGA Spartan III
30
Ta nhn thy c xut hin thi gian tr khi ngt v m chung. iu ny hon ton ph hp
vi thc t khi thi cng mch.
Ta s vit chng trnh VHDL cho biu thc logic ca mch bo ng trong xe hi:
on m ny c vit cp Dataflow khng phi v ta nhn vo tn thn cu trc ca
n l Dataflow xc nh. M v m ha cp Dataflow s dng cc phng trnh
logic m t mch. Trong on m di y ta s dng cch ny m t s hot ng
ca cc cng AND, OR, NOT bng nhng cu lnh gn tn hiu ng thi.
31
32
Mun thu gn biu thc logic a thun tin trong vic m t mch sau ny ta phi s
dng phng php ba Karnaugh c gii thiu phn trn. Trng thi no ca seg a
khng c trong bng chn tr hnh 2.5 th ta c th mc nh bng 0 hoc bng 1 sao cho
thun li trong vic ti gin biu thc.
33
34
35
36
2.2.4 Cu trc dataflow biu din gii m s thp phn ra Led 7 on:
Di y l on m VHDL cho b gii m BCD ra LED 7 on c vit cp
dataflow. Trong phn cu trc ny th vic gn 7 cu lnh ng thi cho 7 tn hiu c s
dng. Biu thc logic a c chuyn i thnh ngn ng VHDL nh sau:
37
2.2.5 Cu trc behavioral biu din gii m s thp phn ra Led 7 on:
Di y l on m VHDL cho b gii m BCD ra LED 7 on c vit cp
behavioral. Trong phn cu trc ny, mt khi Process c s dng. Tt c cc cu lnh
trong khi Process c thc thi mt cch tun t. Nu trong cng mt cu trc m c
nhiu khi Process th mi mt khi Process s c thc thi mt cch ng thi.
Cc t trong du ( ) ca khi Process ch cc bin ang xt trong khi process, nu
mt trong cc bin ny thay i gi tr th cc dng lnh trong khi Process mi c thc
thi t u cho n cui khi Process .
Hnh 2. 7 : S biu din thi gian hin th mt s trn Led 7 on ca mt s thp phn
tng ng.
2.3
B cng:
38
xy dng cu trc cho mt b cng thc hin php ton cng cho cc s c hai gi tr
nh phn, X x n 1 ...x0 v Y y n 1 ... y 0 . Trc tin ta cng tng cp bit li vi nhau x i v
y i , sau ta cng thm bit nh c i vo kt qu ny ta s c kt qu cui cng ca php
cng hai s nh phn. Trong bit nh c i l bit nhn gi tr 1 khi kt qu php cng trc
ca n l c nh (1+1=0 vit 0 nh 1 sang ct tip theo). Do si
ci
xi
yi
ci v
T hai biu thc trn ta c th v s mch cho b cng ton phn c biu din trong
hnh 2.8(b). Hnh 2.8(c) biu din k hiu logic ca b cng ton phn.
Hnh 2. 8 : B cng ton phn (a) bng chn tr; (b) s mch; (c) k hiu logic.
on m VHDL cho b cng ton phn thc hin php cng mt cp bit c vit theo cu
trc Dataflow c dng nh sau:
39
40
41
B tr:
2.4.1 B tr mt bit:
Chng ta c th xy dng mch cho b tr thc hin vic tr mt bit tng t nh phng
php m chng ta dng khi xy dng b cng ton phn. Tuy nhin bit tng si trong
php cng uc thay th bng bit hiu d i trong php tr, v trng thi nh ng vo, trng
Thit k cc ng dng trn Kit FPGA Spartan III
42
xi
1
yi
bi v bi
Hnh 2. 11 : B tr 1 bit (a) bng chn tr; (b) s mch; (c) k hiu logic.
2.4.2 S tch hp c hai b cng v b tr trong cng mt mch s:
Chng ta c th xy dng mt thnh phn trong cha ng hai thnh phn tch bit l
b cng v b tr bng cch sa i li s ca mch cng Ripple Carry (hay c th l
mch Carry-Lookahead Adder). Vic sa i mch biu din cho b tr c thc hin
bng cch cng gi tr m ca hai ton hng. ph nh mt gi tr nh phn nh trong
phn trc gii thiu, chng ta s chuyn i tt c cc bit trong chui bit t 0 thnh 1
v ngc li mt cch d dng.
Ng vo S s c dng la chn chc nng ca mch l mch cng hay mch tr. Khi
S=1 th mch hot ng nh mt b tr. Ton hng B cn phi c o li. Chng ta nh
rng x 1 x' , do o B th ta ch vic em B S B' (khi S=1). Cui cng, vic
cng thm 1 vo c thc hin bng cch bt bit nh tn hiu c 0 ln 1. Mt khc, thc
hin chc nng ca b cng th S=0. Khi S=0 th ton hng B s khng cn phi o trang
Thit k cc ng dng trn Kit FPGA Spartan III
43
thi iu ny c thc hin nh cng XOR. Trong trng hp ny, chng ta cng mun
c0 S 0 .
Mt mch thc hin c hai vic cng v tr c biu din trong hnh 2.12(b) v k hiu
logic ca n c th hin trong hnh 2.12(c).
Hnh 2. 12 : Mch cng v tr chui 8 bit nh phn (a) bng vhn tr; (b) s mch; (c)
k hiu logic.
M VHDL vit theo cu trc Behavioral cho mch cng v tr chui 8 bit nh phn:
44
2.5
Thnh phn ny gi tt l khi ALU l mt trong nhng thnh phn quan trng trong mt
b vi x l, chng m nhn trch nhim thc hin cc hot ng lin quan n s hc hay
cc s hot ng ca cc mch logic nh b cng, b tr, cng logic AND, OR. xy
dng mch cho khi ALU, chng ta c th dng cng mt tng nh khi xy dng cho
mt mch thc hin c hai chc nng ca b cng v b tr nh c trnh by phn
trn. Mt ln na, chng ta s s dng b cng Ripple Carry khi xty dng s khi v
sau ta chn thm cc mch kt ni logic vo pha trc hai ng vo thut ton ca b
cng. Theo cch ny, cc ng vo s cp s c sa i cho ph hp vi s hot ng m
n cn biu din trc khi n i qua b cng ton phn. Ton b s vn hnh mch ca
b ALU 4 bit c biu din trong hnh 2.13.
Chng ta quan st hnh 2.13 thy c hai mch kt ni pha trc b cng ton phn (FA)
l LE v AE. B LE (logic extender) l b dng diu khin tt c mi hot ng
logic, trong khi b AE (arithmetic extender) l b dng diu khin tt c mi hot ng
v s hc. B LE thc thi cc hot ng logic chnh xc t hai ng vo s cp l a i v b i
trc khi kt qu ca n vt ra ng x i ca b FA. Hay ni cch khc, b AE ch sa i
Thit k cc ng dng trn Kit FPGA Spartan III
45
46
Hnh 2. 14 : Hot ng ca khi ALU (a) Bng cc trng thi; (b) Bng chn tr ca LE;
(c) Bng chn tr ca AE; (d) Bng chn tr ca CE.
Trong hnh 2.14 cc ng tn hiu S 2 , S1 v S 0 c dng la chn s hot ng ca
khi ALU. S 2
S2
47
Hnh 2. 15 : Ba karnaugh, biu thc, s mch cho: (a) LE; (b) AE; (c) CE.
on m VHDL ca b ALU c vit theo cu trc behavioral c biu din trong hnh
2.16. Dng sng m phng cc thut ton ca khi ALU khi hai s ng vo l 5 v 3 c
biu din trong hnh 2.17.
Thit k cc ng dng trn Kit FPGA Spartan III
48
Hnh 2. 17 : Dng sng m phng cho 8 thut ton c bn ca khi ALU vi hai gi tr ng
vo l 5 v 3.
2.6
B gii m:
ng Enable cho php b gii m hot ng hay ngng hot ng. Khi E=0 th tt c
cc ng ra u mang gi tr 0. Khi E=1 th b gii m s hot ng, n s la chn ng ra
no a d liu n ty thuc vo cc ng vo la chn m. V d mt b gii m 3
sang 8. Nu ng vo a ch l 101 th th ng ra Y5 c la chn a d liu ra ( Y5 ln
mc cao), trong khi tt c cc ng ra cn li u khng c la chn (tch cc mc
thp).
Mt b gii m thng dng rt nhiu thnh phn v chng ta mun ti mi thi im ch
c mt thnh phn c cho php hot ng m thi. V d trong mt h thng nh ln s
dng nhiu con chip nh, ti mi thi im ch c mt con chip nh c tch cc cho php
hot ng m thi. Mt ng ra ca b gii m s c ni n mt ng vo tch cc trong
mi con chip. Mt a ch c to ra t b gii m s lm tch cc mt con chip nh tng
ng. Bng chn tr, s mch v k hiu logic ca b gii m 3 sang 8 c biu din
trong hnh 2.18.
Mt b gii m kch c ln c th s dng mt vi cc b gii m nh hn. V d trong
hnh 2.19 s dng 7 b gii m 1 sang 2 xy dng b gii m 3 sang 8.
Hnh 2. 18 : Mt b gii m 3 sang 8 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
50
51
2.7
B m ha:
Hnh 2. 20 : Mt b m ha 8 sang 3 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
Khuyt im ca b m ha ny l ch: Nu hai hay nhiu ng vo I i cng c tch cc
ti mt thi im, th ng ra s m ha sai ngay lp tc. V d nu ng vo 1 v 4 ca b
m ha 8 sang 3 cng c tch cc mt lc. Khi Y 2 va nhn gi tr 1 ca I 4 va mang
gi tr 0 ca I 1 . gii quyt vn ny, ngi ta mi t ra mt quy lut u tin cho th
t thc hin ca cc ng vo I i .
52
Suy ra
B ghp knh:
53
Hnh 2. 22 : B ghp knh t 2 sang 1 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
T vic gii thiu cch xy dng b ghp knh 2 sang 1 ta c th xy dng cc b ghp
knh c kch thc ln hn nh b ghp knh 8 sang 1 tng t nh cch lm trn. C
8 ng d liu ng vo cho nn s c 3 ng vo la chn. Ty thuc vo gi tr nh phn
ca 3 ng vo la chn m mt trong 8 ng vo d liu s c chn a gi tr t ng
vo y n ng ra. V d nu gi tr la chn l 101 th ng vo d 5 c chn v d liu
ca d 5 s c a n ng ra.
lp bng chn tr cho b ghp knh 8 sang 1 th ta ch c 3 bit la chn nn s c
Hnh 2. 23 : B ghp knh 8 sang 1 (a) Bng chn tr; (b) s mch; (c) k hiu logic.
Thit k cc ng dng trn Kit FPGA Spartan III
54
Hnh 2. 24 : B ghp knh 8 sang 1 c s dng (a) B gii m 3 sang 8; (b) 7 b ghp knh
2 sang 1.
Trong hnh 2.23(b) ta phi hiu rng cng AND ng vai tr l mt cng tc v n c
iu khin bt bi 3 ng vo la chn d liu. Khi cng AND ny c bt ln 1 d liu
d tng ng qua cng s c a ti chn y ti ng ra, cng thi im ny tt c cc
cng AND cn li u nhn gi tr 0.
Trong mch hnh 2.23(b) ta cn s dng cc cng AND 4 ng vo trong c 3 ng vo
la chn d liu tch cc cng. Chng ta cng c th s dng cng AND 2 ng vo nh
trong hnh 2.24(a), mt ng vo d liu v mt ng vo la chn c iu khin t ng ra
ca b gii m 3 sang 8. Ti mi thi im ch c mt trong 8 ng ra b gii m trng
thi tch cc cc ng ra cn li u mc thp.
Trong nhng b ghp knh ln hn ta c th c xt dng t cc b ghp knh nh hn.
V d b ghp knh 8 thnh 1 c th c xt dng bng 7 b ghp knh 2 thnh 1 nh
trong hnh 2.24(b), 4 b ghp knh 2 thnh 1 trn cng cung cp 8 ng vo d liu, v
chng c iu khin bi mt ng la chn duy nht l s 0 . cp ny n s la
chn mt t mi nhm hai ng vo d liu. Nhm cc b ghp knh gia cng lm nhim
v tng t nh 4 b ghp knh trn v c iu khin bi ng s1 . Cui cng l b
ghp knh di cng s dng ng iu khin l s 2 la chn mt trong hai ng ra
ca b ghp knh tng gia.
Ngn ng VHDL cho b ghp knh 4 thnh1 trong mi knh c 8 bit c biu din
di y. Hai cch vit khc nhau ca cng mt b ghp knh cng c th hin: Cch 1:
vit cp behavioral, dng mt cu lnh Process; Cch 2: vit theo cp Dataflow,
dng cu lnh gn tn hiu la chn ng thi.
55
56
B m ba trng thi:
57
Hnh 2. 26 : B m ba trng thi (a) bng chn tr; (b) k hiu logic; (c) bng chn tr cho
vic phn chia iu khin cho mch m ba trng thi; (d) s mch.
on m VHDL vit theo cu trc Behavioral cho b m ba trng thi.
2.10
B so snh:
58
2.27(b). trong hnh 2.27(b), 4 cng XOR c s dng, mi cng XOR s so snh mt cp
bit trong chui bit nh phn gm 4 bit. Ng ra ca cc cng XOR c ni n cng OR c
4 ng vo, v th nu mt trong cc cp bit tng ng ca hai s nh phn m khc nhau, th
kt qu ng ra F s bng 1. Tng t nh vy, mt b so snh bng nhau c th c xy
dng bng cch s dng cng XNOR. Ng ra cng XNOR bng 1 khi c hai ng vo ca
n c cng gi tr.
so snh ln hn v nh hn, chng ta c th xy dng mt bng chn tr v xy dng s
mch t phng php thng thng. V d so snh mt s X gm 4 bit nh hn 5, bng
chn tr, biu thc v s mch c biu din trong hnh 2.27(c).
Y ; (c) X<5.
59
li p i =0 nu hai bit so snh khng bng nhau. Ban u bit p 0 c bt ln 1, vic so snh
c thc hin t b so snh tng cp u tin n b so snh tng cp bit cui cng. Kt qu
cui cng, nu p 4 p3 p 2 p1 p 0 1 th hai s c so snh l bng nhau, cc
trng hp cn li hai s em so snh l khng bng nhau.
B dch v b xoay c s dng cho vic dch chuyn cc bit trong chui bit nh phn qua
phi hoc tri. S khc nhau gia b dch v b xoay c biu din trong hnh 2.29
60
Hnh 2. 30 : B dch / b xoay 4 bit: (a) Bng trng thi hot ng;(b) s mch; (c) k
hiu logic.
Trong v d trn, khi s1
s0
s0
0,
c ng ra l outi . Khi s1
0 v s 0
0 v s 0
1 , d 1 ca b ghp knh c la
c ng ra l outi 1 . Trong s
la chn ny, chng ta cng mun dch bit 0, v th d 1 ca b ghp knh mux 0 c ni
trc tip n 0.
Ngn ng VHDL cho b dch / b xoay 8 bit c vit theo cu trc Behavioral c chc
nng c gii thiu trong hnh 2.30(a).
61
2.12
B nhn
Trong trng hc, chng ta bit cch nhn hai s thp phn vi nhau da trn phng
php dch v cng. Bt k s l s thp phn hay l s nh phn cng u thc hin php
nhn tng t nhau. Trong thc t vic nhn hai s nh phn l d dng hn bi v bn ch
nhn hai gi tr 0 v 1, kt qu php nhn cng l 0 hoc 1. Hnh 2.31(a) biu din cch
nhn hai s 4 bit bng tay, tha s th nht M m3 m2 m1 m0 nhn vi tha s th hai
Q
q3 q 2 q1 q0 cho kt qu l tch P
p 7 p 6 p5 p 4 p3 p 2 p1 p 0 .
Cch nhn hai s nh phn c thc hin hon ton ging vi cch nhn hai s thp phn.
l phng php nhn, dch v cng. Trong b nhn chng ta phi s dng mt thanh ghi
lu tr gi tr trung gian v gi tr cui cng.
Php nhn cho kt qu nhanh hn trong cc mch kt hp c th c xy dng da trn
cng phng php trn. Trong cc mch kt hp cng, cc cng AND c s dng
nhn cc bit cho ra cc kt qu trung gian v cc b cng c dng cng tt c cc
kt qu trung gian ny li vi nhau cho ra kt qu cui cng. Chng ta thy rng vic
AND hai bit th cho cng mt kt qu vi nhn hai bit.
62
Hnh 2. 31 : Php nhn (a) nhn bng tay; (b) phng php thc hin; (c) s mch.
Thit k cc ng dng trn Kit FPGA Spartan III
63
2.13
64
65
Hnh 2.32a v 2.32b l mt mch mu tng ng ca mt Moore FSM v Mealy FSM. Hai
mch th ng nht ngoi tr ng ra ca chng. i vi Moore FSM, mch ng ra l mt
cng AND 2 ng vo m gi tr ng vo ca n ly t cc ng ra ca hai D flip-flop. Ch
trng thi FSM tng ng vi ni dung ca b nh trng thi, m ni dung l cc flipflop. Ni dung (hay trng thi) ca mt flip-flop tng ng vi gi tr ng ra Q ( hay Q').
T , mch ny ch ph thuc vo trng thi hin ti ca my. i vi Mealy FSM, mch
ng ra l mt cng AND 3 ng vo, m hai ng vo ca n ly t cc flip-flop, ng vo th
ba cng AND ny c ni ti ng vo C s cp. Vi kt ni ph ny, ng ra mch ny ty
thuc vo c hai trng thi hin ti v ng vo.
Vi c hai mch, b nh trng thi gm c hai D flip-flop. Vi hai flip-flop, tng ng vi
bn gi tr khc nhau. T , my trng thi- hu hn ny c th c bt k 1 trong 4 trng
thi khc nhau. Trng thi m FSM ny s i n tip theo ph thuc vo gi tr ti cc ng
vo D flip-flop.
Mi flip-flop trong b nh trng thi yu cu mt mch kt hp to mt gi tr trng thi
tip theo cho cc u vo ca n. V chng ta c 2 D flip-flop, mi ci c 1 ng vo D, bi
vy, trng thi logic tip theo ca mch gm c hai mch kt hp; mt cho u vo D 0 v
mt cho D1. Cc ng vo ti hai mch kt hp ny l Qs, n tng ng cho trng thi hin
ti cc flip-flop v ng vo s cp C. Ch l khng cn thit cho rng ng vo C l mt
ng vo ti tt c cc mch kt hp. Trong mch mu, ch duy nht mch kt hp di
ph thuc vo ng vo C.
Phn tch mch tun t (Analysis of Sequential Circuits):
Thng khi chng ta a ra mt mch tun t v cn bit s hot ng ca n. Phn tch
mch tun t l qu trnh trong ta a ra cho mt mch tun t v ta mun m t chnh
xc s hot ng ca mch ang c.Vic m t ca mt mch tun t c th l trong bng
trng thi tip theo / bng u ra, hay mt s trng thi. Cc bc phn tch ca cc
mch tun t nh sau:
1. Dn xut nhng phng trnh kch thch t mch trng thi logic tip theo.
2. Dn xut ra nhng phng trnh trng thi tip theo bng vic th nhng phng trnh
kch thch vo cc phng trnh c tnh ca flip-flop.
3. Dn xut bng trng thi tip theo- t cc phng trnh trng thi tip theo.
4. Dn xut nhng phng trnh ng ra (nu c) t mch lgic ng ra.
5. Dn xut bng ng ra (nu c) t nhng phng trnh ng ra.
6. V s trng thi t bng trng thi- k tip v bng ng ra.
66
(a)
(b)
Hnh 2. 33 : (a) S khi Moore FSM; (b) S khi Mealy FSM
2.13.2 Phng trnh kch thch (Excitation Equation):
Cc phng trnh kch thch l cc phng trnh ca mch logic trng thi tip theo trong
FSM. V trng thi logic tip theo l mt mch kt hp, bi vy, dn xut ra cc phng
trnh kch thch ch l phn tch mt mch kt hp nh c tho lun cc phn trn.
Mch trng thi tip theo c dn xut ra bi nhng phng trnh "kch thch" flip-flop
bng vic lm cho chng thay i trng thi. Nhng phng trnh ny cung cp nhng tn
hiu ti cc ng vo ca flip-flop, v c biu th nh mt chc nng ca trng thi hin
ti v cc ng vo n FSM. Trng thi hin thi c xc nh bi ni dung hin ti ca
flip-flop, ngha l, tn hiu ng ra ca flip-flop Q ( v Q'). C mt phng trnh cho mi
ng vo ca flip-flop.
Sau y l hai phng trnh kch thch mu cho 2 D flip-flop. Phng trnh u tin cung
cp mch trng thi tip theo cho ng vo ca D flip-flop 1, v phng trnh th 2 cung cp
mch cho ng vo ca D flip-flop 0.
D1 = Q1'Q0
(1)
D0 = Q1'Q0' + CQ1'
(2)
2.13.3 Phng trnh trng thi tip theo (Next-state Equation):
Cc phng trnh trng thi tip theo ch r trng thi tip theo ca cc flip-flop l ph
thuc vo ba th:
Thit k cc ng dng trn Kit FPGA Spartan III
67
68
69
chng. Cc ng c cc chuyn tip v iu kin t trng thi ny sang trng thi khc
s khng c nhn. Trong trng hp ny, ch c mt ng c th bt ngun t nt .
Chuyn tip c iu kin t mt trng thi s c hai ng theo 2 hng. Hai ng t
trng thi ny c gn nhn tng ng vi cc iu kin tn hiu ng vo - mt ng
vi nhn khi m iu kin l ng v ng khc vi nhn khi iu kin l sai.
Hnh 2.36a cho thy mt s trng thi nh vi bn trng thi, 00, 01, 10, v 11, v mt
tn hiu ng vo C. S trng thi ny c bt ngun t bng trng thi tip theo hnh
2.34 v bng u ra hnh 2.35a. C 3 chuyn tip v iu kin 00 ti 01, 10 ti 00, v 11
ti 00, v mt chuyn tip c iu kin t 01 n 10 hay 11. Vi chuyn tip c iu kin
t 01, nu iu kin C=0 l ng, khi chuyn tip t 01 n 10 c thc hin. Cn li,
nu iu kin C=0 l sai, ngha l C=1 l ng, khi chuyn tip t 01 n 11 c thc
hin.
70
Hnh 2.37 cho thy mt mch tun t n gin. Chng ta kt lun rng y l mt Moore
kiu FSM v ng ra lgic gm 1 cng AND 2 ng vo m cng ch ph thuc vo trng thi
hin ti Q1Q0. Chng ta s theo su bc trn phn tch chi tit ca mch ny.
71
ra t bc 1. T y, chng ta thay phng trnh kch thch vo trong phng trnh c tnh
cho mi flip-flop thu c phng trnh trng thi tip theo cho flip-flop . Vi hai
flip-flop trong v d, chng ta c hai phng trnh trng thi-tip theo, mt cho Q1next v
mt cho Q0next.
Bc 3 s dn xut ra bng trng thi tip theo. Cc gi tr trng thi tip theo trong bng
c c bng vic thay mi kt hp ca trng thi hin ti v nhng gi tr u vo trong
cc phng trnh trng thi tip theo thu c trong bc 2. Trong v d ca chng ta, c
hai flip-flop, Q1 v Q0, v ng vo C. T bng s c tm phn trng thi tip theo. C
hai bt cho cc phn bit u tin cho Q1next, v bit th 2 cho Q0next . Bng trng thi tip
theo
Bc 5 dn xut bng ng ra. Ging nh bng trng thi tip theo, bng u ra c c
bng vic thay tt c cc kt hp c kh nng ca cc gi tr trng thi hin ti vo trong
phng trnh ng ra cho Moore FSM. Bng ng ra cho v d Moore FSM l
72
Bc 6 s v s trng thi, c dn xut t bng trng thi tip theo v bng ng ra.
Mi trng thi trong bng trng thi tip theo s c mt nt tng ng c nhn vi trng
thi lp m trong s trng thi. Mi phn trng thi tip theo trong bng trng thi tip
theo, s tng ng vi mt hng i. Hng i ny bt ngun t nt c gn nhn vi
trng thi hin ti v cc kt thc ti nt c gn nhn vi phn trng thi tip theo.
Hng c nhn vi nhng iu kin u vo tng ng.
V d, trong bng trng thi tip theo, khi trng thi hin ti Q 1Q0 l 00 trng thi tip theo
Q1next Q0next l 01 vi ng vo C=1. T , trong s trng thi, c mt hng i t nt 00
ti nt 01 vi nhn C=1. i vi Moore FSM, cc ng ra ch ph thuc vo trng thi hin
ti, nh vy cc gi tr ng ra t bng ng ra c nm bn trong mi nt ca s trng
thi. S trng thi y cho v d ca chng ta c ch hnh 2.38.
73
Hai D flip-flop c dng trong mch kch cnh dng flip-flop v th chng thay i
trng thi ca chng ti mi cnh ln xung clock. u tin, chng ta gi thit rng hai flipflop ny trng thi 0. Cnh ln u tin thi gian t 0. Bnh thng, flip-flop s thay i
trng thi vo thi gian ny, tuy nhin, mt khi C=0 gi tr cc flip-flop vn khng i.
Vo thi gian t 1, C thay i C=1, ti cnh ln xung clock tip theo vo thi gian t 2, cc
gi tr flip-flop Q1Q0 thay i ti 01. thi gian t 4 khi Q1Q0=11, u ra Y cng thay i
n 1 v Y=Q1*Q0. Vo thi gian t 5, ng vo C ri xung 0 nhng ng ra Y vn l 1. Q1Q0
vn l 11 cho d c cnh ln xung clock tip theo v C=0. Vo thi gian t 6, C thay i thnh
1 v v th ti cnh ln xung clock tip theo vo thi gian t 7, Q1Q0 tng dn ln na ti 00
v chu trnh lp li.
Khi C=1, chu trnh FSM thng qua bn trng thi lp li. Khi C=0, FSM dng li ti
trng thi hin ti cho n khi C c tch cc li. Nu chng ta gii thch 4 trng thi m
ha nh 1 s thp phn, th chng ta c th kt lun rng mch hnh 2.37 l mt b m
ln modulo-4 m chu trnh thng qua 4 gi tr 0, 1, 2, v 3. Ng vo C cho php hoc khng
cho php m.
M VHDL theo hnh vi ca Moore FSM trong v d 2.1 nh sau v gin thi gian
hnh 2.39.
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY MooreFSM IS PORT (
clock: IN STD_LOGIC;
reset: IN STD_LOGIC;
C: IN STD_LOGIC;
Y: OUT STD_LOGIC);
END MooreFSM;
ARCHITECTURE Behavioral OF MooreFSM IS
TYPE state_type IS (s0, s1, s2, s3);
Thit k cc ng dng trn Kit FPGA Spartan III
74
75
y <= '0';
WHEN s1 =>
y <= '0';
WHEN s2 =>
y <= '0';
WHEN s3 =>
y <= '1';
END CASE;
END PROCESS;
END Behavioral;
76
Phn tch mch ny cng ging nh phn tch Moore FSM trong v d 2.1 trn to bng
trng thi tip theo trong bc 3. Ch khc l dn xut phng trnh ng ra v bng ng ra
trong bc 4 v 5. i vi Mealy FSM, phng trnh ng ra th ty thuc vo c trng thi
hin ti v trng thi ng vo. V mch ch c 1 tn hiu ng ra, chng ta c phng trnh
ng ra ph thuc vo C nh sau.
Hnh 2.41 ch bng kt qu ng ra c c bng cch thay tt c cc gi tr c th c ca
Q0, Q1, C vo phng trnh ng ra:
77
78
79
END PROCESS;
END Behavioral;
Trong h thng my tnh chng ta thng mun nhiu bit thng tin. Hn na chng ta
mun nhm 1 vi bit li vi nhau v xem chng nh 1 thnh phn, v d nh s nguyn
c thnh lp t 8 bit. Trong chng ny chng ta s xem xt cc thanh ghi v mch nh
lu tr nhiu bit thng tin.Cc thanh ghi c nhiu chc nng hn bng cch thm vo
cc chc nng m v dch bit. Chng ta s xem xt 1 vi b m v thanh ghi dch .
2.14.1 Cc thanh ghi (Registers):
Khi chng ta mun lu tr 1 byte d liu chng ta phi kt hp 8 flip-flop li vi nhau v
chng lm vic nh 1 thnh phn. Mt thanh ghi ch l mt mch vi 2 hay nhiu D flipflop kt hp li vi nhau bng cch ny tt c chng cng lm vic chnh xc vi nhau v
ng b vi 1 xung clock. Ch c 1 khc bit l mi flip-flop trong nhm c dng lu
tr 1 bit khc nhau ca d liu.
Hnh 2.45 ch ra 1 thanh ghi 4 bit vi mc xa khng ng b. Bn flip-flop D tch cc
mc thp v dng mc xa khng ng b. Ch trong mch cc ng vo iu khin Clk ,
WE, v Clear c ni chung sao cho khi ng vo ring bit c tch cc, th tt c cc
flip-flop s chy chnh xc vi nhau. 4 Bit d liu ng vo c kt ni t d 0 n d3, trong
khi 4 bit q0 n q3 xem nh 4 bit ng ra ca thanh ghi. Khi chn cho php ghi WE(write
enable) tch cc mc thp c tch cc. V d WE=0, d liu tng ng trn chn d
c lu tr vo thanh ghi (4 flip-flop) khi c cnh xung ca xung clock tip theo. Khi
WE khng tch cc, ni dung trong thanh ghi vn khng i. Thanh ghi c th c xa
khng ng b bng cch tch cc chn Clear. Ni dung ca thanh ghi lun c trn cc
chn q, v vy khng cn chn iu khin c d liu t thanh ghi.
80
81
q<=d;
END IF;
END IF;
END PROCESS;
END Behavior;
Tn hiu m phng cho thanh ghi ch hnh 2.47. Ch trong gin sng khi WE tch
cc 200ns, ng ra q khng i tc khc khi ng vo c gi tr 5. S thay i xut hin
cnh ln tip theo ca xung clock ti 300ns. Mt khc khi Clear tch cc ti 600ns, q c
reset xung 0 ngay.
82
Mch thanh ghi hnh 2.45 khng c chn iu khin cho vic c d liu ng ra. iu
khin khi ta mun d liu ng ra v t chn ng ra trng thi tr khng cao, chng ta
cn thm vo b m 3 trng thi mi ng ra. Tt c cc chn cho php ca b m 3
trng thi c kt ni chung khi chng ta mun iu khin tt c ng ra cng lc. Hn na
chng ta cn c 2 Port c. V d, 2 ng ra iu khin ca mi thanh ghi v th ta c th kt
ni 2 b m 3 trng thi n mi ng ra. Mch thanh ghi c sa i nh hnh 2.48.
83
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all; -- needed for CONV_INTEGER()
ENTITY regfile IS PORT (
clk: in STD_LOGIC; --clock
WE: in STD_LOGIC; --write enable
WA: in STD_LOGIC_VECTOR(1 DOWNTO 0); --write address
D: in STD_LOGIC_VECTOR(7 DOWNTO 0); --input
RAE, RBE: in STD_LOGIC; --read enable PORTsA&B
RAA, RBA: in STD_LOGIC_VECTOR(1 DOWNTO 0); --read address PORTA&B
A, B: out STD_LOGIC_VECTOR(7 DOWNTO 0)); --output PORTA&B
END regfile;
ARCHITECTURE Behavioral OF regfile IS
SUBTYPE reg IS STD_LOGIC_VECTOR(7 DOWNTO 0);
TYPE regArray IS ARRAY(0 to 3) OF reg;
SIGNAL RF: regArray; --register file contents
BEGIN
WritePort: PROCESS (clk)
BEGIN
IF (clk'EVENT AND clk = '1') then
IF (WE = '0') then
RF(CONV_INTEGER(WA)) <= D; --fn to convert from bit VECTOR to
integer
END IF;
END IF;
END PROCESS;
ReadPortA: PROCESS (RAA, RAE)
BEGIN
-- Read Port A
IF (RAE = '0') then
A <= RF(CONV_INTEGER(RAA)); --fn to convert from bit VECTOR to integer
ELSE
A <= (others => 'Z');
END IF;
END PROCESS;
ReadPortB: PROCESS (RBE, RBA)
Thit k cc ng dng trn Kit FPGA Spartan III
84
BEGIN
-- Read Port B
IF (RBE = '0') then
B <= RF(CONV_INTEGER(RBA)); --fn to convert from bit VECTOR to integer
ELSE
B <= (others => 'Z');
END IF;
END PROCESS;
END Behavioral;
Hnh 2.50 cho thy tn hiu m phng cho ghi 4x4 vi 1 Port ghi , 2 Port c
85
86
87
B m (Counters):
88
(a)
(b)
(c)
Hnh 2. 54 : B m ln nh phn (a) Bng chn tr; (b) S mch; (c) K hiu logic.
Cc b cng bn phn c th kt hp vng thnh b cng ton phn cng n-bit. Mi ng
vo ton hng n t thanh ghi. Tn hiu nh ng vo c0 ban u dng cho php tn hiu
m (count) v bit 1 trn c0 s dn ti tng mt gi tr trong thanh ghi v 0 s khng c.
Mt mch m ln 4-bit c ch nh hnh 2.55 vi bng chn tr v k hiu logic. Khi
count c tch cc, b m s tng gi tr mi xung clock cho n khi count khng c
tch cc. Khi count t n 2n-1, tng ng vi s nh phn c tt c 1, ln m tip
Thit k cc ng dng trn Kit FPGA Spartan III
89
90
91
Hnh 2. 57 : B cng ,tr bn phn (a) Bng chn tr; (b) S mch; (c) K hiu logic.
Mt b m ln xung 4 bit hnh 2.58a. Bng chn tr v k hiu logic hnh 2.58b v c.
Hnh 2. 58 : B m ln xung 4 bit: (a) S mch; (b) Bng chn tr; (c) K hiu logic.
M VHDL cho 1 b m ln xung 4 bit nh sau:
ENTITY counter IS PORT (
Clock: IN BIT;
Clear: IN BIT;
Count: IN BIT;
Thit k cc ng dng trn Kit FPGA Spartan III
92
Down: IN BIT;
Q: OUT INTEGER RANGE 0 TO 15);
END counter;
ARCHITECTURE Behavioral OF counter IS
BEGIN
PROCESS (Clock, Clear)
VARIABLE value: INTEGER RANGE 0 TO 15;
BEGIN
IF Clear = '1' THEN
value := 0;
ELSIF (Clock'EVENT AND Clock='1') THEN
IF Count = '1' THEN
IF Down = '0' THEN
value := value + 1;
ELSE
value := value - 1;
END IF;
END IF;
END IF;
Q <= value;
END PROCESS;
END Behavioral;
Tn hiu m phng hnh 2.59
93
Ch c 1 khc bit gia mch ny vi mch hnh 2.58a l tng ca 2 ng vo b ghp knh
chnh l ng ra s ca HAS v ng vo Di ca flip-flop. Bng cch lm ny ng vo ca flipflop c th c chn t gi tr ng vo bn ngoi nu Load c tch cc hoc t gi tr
m tip theo ng ra HAS nu Load khng c tch cc. Nu ng ra HAS c chn
khi mch lm vic chnh xc nh trc y. Nu ng vo bn ngoi c chn, khi
bt k gi tr no trn ng vo d liu cng c c vo thanh ghi. Bng hot ng v k
hiu ca mch hnh 2.60b v 2.60c.
Hnh 2. 60 : (a) S mch m ln xung 4 bit c sa i ; (b) Bng chn tr ; (c) k hiu
logic ca m ln xung 4 bit c sa i.
Chng ta phi gi chn Clear b m c th to gi tr ban u n 0 ti bt k thi im
no. Ch rng c s khc bit thi gian gia vic tch cc chn CLear reset b m v
0 khc vi tch cc chn Load c gi tr 0 v t d liu ng vo l 0. Trong trng
hp u tin, b m c reset v 0 ngay lp tc sau khi chn Clear c tch cc trong
khi trng hp sau s reset b m v 0 cnh ln xung clock tip theo .
94
Ging nh mch kt hp gia quay v dch chuyn. l cc thnh phn dch v quay tun
t. Mch thc hin chuyn dch v quay c xy dng cng ging nh vy. S khc
nhau duy nht trong phn tun t l nhng thao tc c thc hin trn gi tr c lu tr
trong mt thanh ghi. Cch dng chnh cho mt thanh ghi dch l chuyn i t mt dng
Thit k cc ng dng trn Kit FPGA Spartan III
95
d liu ng vo tun t thnh mt ng ra d liu song song hay ngc li. chuyn d
liu ni tip ra song song, cc bit c chuyn vo trong thanh ghi ti mi chu k xung
clock v khi tt c cc bit (thng 8 bits) c chuyn vo trong thanh ghi, thanh ghi 8-bit
c th c c xut 8 bit ng ra song song. chuyn t song song ra ni tip, trc
tin thanh ghi 8 bit c d liu ng vo, cc bit c dch ra ngoi tng bit mt, mi bit l
1 chu k xung clock.
2.16.1 Thanh ghi dch ni tip ra song song:
Hnh 2.62 ch mt b chuyn i 4 bit ni tip ra song song .Cc bit d liu ng vo c
a vo t ng Serial In. Khi chn Shift c tch cc, cc bit d liu c dch vo
trong. Ti xung Clock u, bit u tin c c vo trong Q3. Ti xung Clock th 2, bit
trong Q3 c c vo Q2 trong khi Q3 c bit tip theo ca dng d liu ng vo ni
tip. C tip tc ht 4 xung clock th 4 bits dc dch vo trong 4 flip-flop .
96
END PROCESS;
END Behavior;
-- 4-bit shift register
LIBRARY ieee;
USE IEEE.std_logic_1164.all;
ENTITY ShiftReg IS
PORT(Serialin, Clock, Shift : IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(3 downto 0));
END ShiftReg;
ARCHITECTURE Structural OF ShiftReg IS
SIGNAL N0, N1, N2, N3 : STD_LOGIC;
COMPONENT D_flipflop PORT (D, Clock,E:IN STD_LOGIC;
Q : OUT STD_LOGIC);
END COMPONENT;
BEGIN
U1: D_flipflop PORT MAP (Serialin, Clock, Shift, N3);
U2: D_flipflop PORT MAP (N3, Clock, Shift, N2);
U3: D_flipflop PORT MAP (N2, Clock, Shift, N1);
U4: D_flipflop PORT MAP (N1, Clock, Shift, N0);
Q(3) <= N3;
Q(2) <= N2;
Q(1) <= N1;
Q(0) <= N0;
END Structural;
Tn hiu m phng hnh 2.63
97
tip. Chng ta c th thc hin c hai chc nng vo trong mch ni tip ra song song t
phn trc 1 cch n gin bng vic thm mt chc nng Load song song vo mch nh
trong hnh 2.64a.
Bn b ghp knh lm vic vi nhau chn nhng flip-flop m bn mun gi li gi tr
hin ti, c vo mt gi tr mi hay dch nhng bit qua phi 1 v tr bit. Hot ng ca
mch ny ty thuc vo hai chn la chn SHSel1 V SHSel0, n iu khin ng vo ca
nhng b ghp knh c chn. Bng hot ng v k hiu lgic hnh 2.64b v 2.64c.
Hnh 2. 64 : (a) S mch thanh ghi dch ni tip ra song song v song song ra ni tip;
(b) Bng chn tr ; (c) k hiu logic ca thanh ghi dch ni tip ra song song v song song
ra ni tip.
Tn hiu m phng hnh 2.65:
Hnh 2. 65 : Tn hiu m phng thanh ghi dch ni tip ra song song v song song ra ni
tip.
Thit k cc ng dng trn Kit FPGA Spartan III
98
M VHDL m t cho thanh ghi dch ni tip ra song song v song song ra ni tip.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY shiftreg IS PORT (
Clock: IN STD_LOGIC;
SHSel: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
Serial_in: IN STD_LOGIC;
D: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Serial_out: OUT STD_LOGIC;
Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END shiftreg;
ARCHITECTURE Behavioral OF shiftreg IS
SIGNAL content: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(Clock)
BEGIN
IF (Clock'EVENT AND Clock='1') THEN
CASE SHSel IS
WHEN "01" => -- load
content <= D;
WHEN "10" => -- shift right, pad with bit from Serial_in
content <= Serial_in & content(3 DOWNTO 1);
WHEN OTHERS =>
NULL;
END CASE;
END IF;
END PROCESS;
Q <= content;
Serial_out <= content(0);
END Behavioral;
99
100
SRAM bt ng b :
101
C hai chip 256Kx16 SRAM cng chia s chung 18 ng iu khin a ch. Nhng
ng a ch ny cng c ni n 18 chn ca phn kt ni m rng A1 ca board
mch. S kt ni cc chn c biu hin r trong hnh 2.5.
102
103
104
Led 7 on:
105
bt 1 on trong LED 7 on sng ln, ta cho tn hiu iu khin ring bit cho on
tng ng xung mc 0 (dp = MSB , a = LSB) .
106
Cng VGA :
107
3.6
108
Bn phm :
109
RS 232 truyn v nhn tn hiu xut hin trn connector DB9 female, nhn J2. S dng
cp ni tip truyn thng t Kit FPGA n cng ni tip PC.
110
111
Hnh 3. 28 : Bng thit lp cc trng thi hot ng cho FPGA thng qua chn J8.
3.10
112
Default Option :
113
Disable Option :
Nu chn JP1 c tho ra th Platform Flash khng c cho php ; iu ny cho php
cu hnh m rng qua 1 board m rng kt ni n 1 trong cc connector m rng ca
Kit.
3.11
114
115
116
117
118
Mt chun giao tip quan trng c pht trin bi t chc phi li nhun chuyn tr
gip cc nh sn xut in t, gi tt l EIA (The Electronics Industries Association), l
EIA-232, n nh ngha cc c tnh c, in v chc nng ca giao tip gia mt DTE
v mt DCE. Trong DTE l thit b u cui d liu (Data Terminal Equipment) v
DCE l thit b u cui mch d liu (Data Circuit-terminating Equipment). Chun ny
c xut nm 1962 gi l RS-232. Mt trong cc cu hnh p dng c trnh by
trong hnh 3.1.
119
120
121
122
make-code = 12 .
Nhn A:
make-code = 1C
Nh A:
break-code = F0, 1C .
Nh SHIFT:
break-code = F0, 12 .
Bn phm PS2 giao tip bng giao thc ni tip bt ng b 2 chiu .Xung clock c
pht bi bn phm, tn s khong 10-16.7kHz .Cc trng thi hot ng:
Data=high, clock=high: trng thi rnh .
Data=high, clock=low: trng thi cm giao tip .
Data=low, clock=high: trng thi my ch c yu cu truyn d liu .
4.2.3.1
Cc bc thc hin:
Kim tra bus ang trng thi rnh .
Clock mc cao t nht 50us trc khi bn phm gi data .
Bn phm gi data tng khung d liu 11 bit .
D liu c c ti cnh xung ca clock .
My ch c th cm giao tip bng cch ko clock xung thp .
Khi clock c gii phng, bn phm li truyn tip d liu cha hon chnh .
M c truyn ni tip tng byte, vi khung truyn 11bit. Gi d liu gi t
Keyboard theo th t sau:
1 start bit = 0;
8 data bits (LSB truyn trc);
1 parity bit (if number of ones is even, then parity bit = 1);
1 stop bit = 1.
123
Cc bc thc hin:
My ch cm truyn t bn phm n bng cch ko clock xung thp.
My ch ko data xung thp v gii phng clock bo hiu bn phm pht xung
clock bt u truyn d liu.
D liu c c ti cnh ln ca clock .
Sau khi bn phm nhn stop bit Keyboard s truyn tn hiu ACK n my ch
kt thc qu trnh truyn d liu.
Data c truyn theo khung d liu gm 11-12bit nh sau:
1 start bit = 0 .
8 data bit (LSB truyn trc) .
1 parity bit .
1 stop bit = 1 .
1 acknowledge bit (host only) .
124
4.3
4.3.1 S chn kt ni :
125
hng ngang ca mnh 1 v sau quay ngc ln trn qut tip cc dng ca mnh 2 .
Mnh 1 gm cc dng t 1 n 262 , mnh 2 gm cc dng t 262 n 525.
NTSC
PAL
HDTV/SDTV
Vertical
Gn 480
dng (tng
s 525
dng)
Gn 575
dng (tng
s 625
dng)
1080 or 720
or 480 (18
nh dng
khc nhau )
480
768
1920 or 704
or 640 (18
nh dng
khc nhau )
640
1024
Resolution Format (s
dng trn 1 frame)
Horizontal
Resolution Format (s
pixel trn 1 dng)
Xc nh
Xc nh
bi bng
bi bng
thng t 320 thng t 320
n 650
n 650
Horizontal Rate(KHz)
15.734
15.625
33.75-45
31.5
60
30
25
30-60
60-80
60-80
126
Hnh 4. 12 : Thi gian thc hin ca tn hiu Vertical Sync v Horizontal Sync.
127
128
ng h v m sn phm :
SW6 : chn mode cho php nhp t bn phm chui k t hin th Led v thc
hin dch chui k t ny t phi qua tri .
129