Title: CPLD
1CPLD
MaxplusII
? ? ? ? ? ?
Design by ??? ??
2? ?
??? ??(??????)----------P5 1???????
2????? 3????? ??(CPLD????)---------P12
1???CPLD 2???CPLD????? ?? (?????????)---P16
3??(VHDL??????) -----P20 1??????VHDL??
2?VHDL????????? 3?????Mapping
4???
5????????
6????????
1????? ????????????,????????????????????
??????????,?????????????,??????????,???????????
?????????????????????,??????,?????????,??????,????
??0???1????
7 ????,?????????????,???????????,???????????????
??????,?????????????????????????????????,????
???????,??????,??????????,??????????,?????????????
????????????????,????????????,???????
82????? ??????,??????????,????(AND)???(OR)??
?(NOT)?????(XOR)???,???????(??)??,???????(??),????
????????
(??)
(??)
(??)
(????)
9???????
1???
YAB
2???
YAB
10???????
3?????
YA B
4???
113????? ?????????????,???????????????????????
,???????,????????????,???????,???????,????????????
???????,????????????????,?????????????????????????
?????,????????????????????????,???????????????????
????? ???????????????,??????(Flip-Flop)??
12??CPLD ????
13??CPLD ????
1???CPLD ??????????,?????????????????????
?????????????????????????,??????????????????,?????
??????,??????????????,??????????
?????????????????,??????????????????????,?????????
?????????????????????
14 ???????,?????????????????,????????,???????
????,?????????,????????????????????
?????????????????,???????????????,????????????????
??,?????????????,?????????(EDA)?????,?????????????
??????????????,??????????????????????
15?PLD(Programmable Logic Device)
????????????????????????????????(PLD)?????????????
????????(Standard Logic)???????(ASIC)???PLD?ASIC?
??? PLD????????????/???PLD(Simple
PLD)????PLD(Complex PLD)?????????(FPGA)?
????????PLD??,?????? CPLD?????,??????
16?????? ? ????
17???????(?)
?????????????????? ????????????????????
????????????????? SSI (Small
Scale Integrated Circuit) ?????????????????????
??,?????? Decoder ???? ?
Demultiplexer ???? Multiplexer ? ???
Adder ???? Flip Flop ?? ????Shift
Register ????Counter ???????
MSI(Medium Scale
Integrated Circuit)
18???????? MSI ????????? ??????? LSI
?VLSI ? ?????????????,??????
???????????????? ????????????????
????(??????)????? ?????????????,??
?????????????,??
??????????(Programmable
Logic Device) PLD???????? ?(Filed
Programmavle Gate Array) FPGA
????(Micro Controller) ????? (Micro
Processor)????????ASIC
(Application Specific Integrated Circuit) ?
????????
19??VHDL??????
20???? VHDL ?????????
Library ??
USE ??
PACKAGE ??
Entity ??
Architecture ??????? . . . Begin DataFlow
?? Behavior ?? Structure ?? end
Configuration??
21Architecture ?
??????
22??????? (Architecture Describe)
VHDL ????????? ???????? ( Data Flow
Description) ?????????????????Assignmen
t ?????????????????,????????? VHDL
???????????? 1????????? lt 2????
conditional ????? when else 3???? Selected
????? with select when
23??? ?????(Behavior Description) ,????????
process?????????????????Behavior Model
????????????????,?process ???????????????
Sequential??,?????????????,????????????,??????????
?????????????? process ?????????????,?????
Architecture ???,???????? Label
process ( Sensitivity List )
Declaration area
begin
Behavior statement end
process Label
24IF T HEN END IF if then endif
???????????????( ????? ELSE ?? ) ,??????
if ?? then ??? end if
??? if then endif ??????????? D
???? ?????? Architecture ??? if
( CK event ) and ( CK 1 ) then
Q lt D end
if
25IF T HEN ELSE END IF if then
else end if ??????????????( ????? ELSE ??
) ,?????? if ?? then ???
T else ??? F end if
??? if then else end if
????????? ?????? Architecture ???
if A B then F lt
1 then
F lt 0 end if
26??? ?????? (Structure Description)
,???? ??????????????????????? ,???????????????????
??? ????????????Component? ???????????????????? ?
??(Hierarcky)?????????????? ????????????(??),?????
?? ????????,?????????????? ???????????????????????
??????????????????????? ???,????????????,?????
271????????Component Declaration? 2??????????Mapping
? ????Component Declaration Component
Component_name port ( Signal_name 1 mode Data
type Signal_name 2 mode Data
type Signal_name n mode Data
type ) end Component
28 ????Mapping???????,????
??? ??????Mapping By name LABEL1
Component_name port map( Signal_name 1 gt
Signal_name 1, Signal_name 2 gt Signal_name
2, Signal_name n gt Signal_name
n, ) end Component
29 1?LABEL ?????? 2?Component_name????????,
? ??????????? 3?port map(
)????????????
?????????????????
???????,????????? ???,?????????????
,??? gt ?????
30 ??????Mapping By position
Label1Component_name port map ( Signal1,
Signal2,,Signal n )
1?LABEL ?????? 2?Component_name????????,?
??????????? 3?port map(
)????????????
?????????????????
?port???????????,??? ???,???????????
31???????(?)
1?SSI(Small Scale Integrated
Circuit) ??????????,?????, ??????????????
??????????????? ?,?NOT?AND?OR?NOR?
???????SSI?
32- 1-1
- ?SSI(??SN74XX???
- SN54XX???)
- ?????????? IC,??
- SN7404 ? SN7408??
- SN7432????????
- ???,????????
- ????????????
- ????????????
- ???,?????????
332?MSI(Medium Scale Integrated
Circuit) ???????????????? ???(Karnaugh-Map)??
?, ?????? Decoder ???? ??( De-mulplexer
)???? ??( Shift Register )????
??(counter)???????, ?????MSI?
34- 2-1
- ? MSI?SSI??????????
- ,?????????,??
- ??????? Minterm
- ??? OR ???????
- ??,?????????
- ??????Minterm??
- ????,???????
- ??,????? ??? ?
- ????OR???????,
- ??????MSI?
353?LSI(Large Scale Integrated
Circuit) ?? ?????,????MSI?????
???????????????, LSI?VLSI?????????
????,?????????? ????????,?????? ??PLD????
363-1 ? LSI??MSI???,?????
????????????? ???????,?????
?,???????LSI?? ?VLSI,?????PLD?
?,?PROM?PLA?PAL?
GAL?PEEL?FPGA???, ?????????????
????,????????, ?????????????
374?PLD(Programmable Logic Device)
?? ?????????????????, ???????????PLD???
???????FPGA????MC? ????MP??????IC,?? ???????
38- 4-1
- ?PLD(PROM?PLA?PAL?FPGA)
- ? PROM?????????PROM
- ?????? PLD ??,
- ????????????
- ???,??????ROM
- ???????? (?NOT
- ?AND??????,??
- ?AND?????????
- ?????Minterm ),??
- ????????OR???
39- 4-2
- ?PLD(PROM?PLA?PAL?FPGA)
- ? PLA????????PLA
- (Programmable Logic Array)??
- ????PROM??,?
- ????????PLA?
- AND ?? OR ??????
- ????????????
- ????????????
- ?,??????PROM
- ????
40- 4-3
- ?PLD(PROM?PLA?PAL?FPGA)
- ? PAL????????PLA
- (Programmable Array Logic)??
- ???? PROM? PLA?
- ?,??????PAL??
- AND ?????,?O R ?
- ????????PAL??
- ????,?????PLD
- ??????,?????
- ????????
41- 4-4
- ?PLD(PROM?PLA?PAL?FPGA)
- ?PEEL????????????
- ???PEEL (Programmable
- Electrically Erasable Array
Logic) - ??????PAL??,?
- ??????AND ?? OR
- ????????OR???
- ????????MACRO
- CELL ?????????
- ??????????
42- ?????????FPGA
- (Field Programmable GateArray)
- ????????????
- ?,???PEEL????
- ???????,?FPGA
- ???????????,
- ???????????
- FPGA ????????IC
- ????????????
43- 4-5
- ?PLD(PROM?PLA?PAL?FPGA)
- ?FPGA?????,??????
- ???CLB (Configurable Logic
- Block) ,IC???CLB???
- ????????????
- ??????????CLB
- ???????,????
- ?????????- ??
- ???IOB,??????
- ??????
44??? ???-------?? ???-------CPLD?????? ???-------C
PLD???????? ???-------CPLD????????? ???-------CPLD
??????
45???---??
46??CPLD?????
a?????? ???????????,??????
??(?????P38-P45)? b?????? ???????P7-P36???? c?
?????,??????(HDL) CPLD??????AHDL?VHDL?
47AHDLVHDL(????)
? AHDL???? SUBDESIGN __design_name (
_input_name INPUT _output_name
OUTPUT ) BEGIN logic
describe END
??? SUBDESIGN ???
??? LOGIC ???
48??1 SUBDESIGN TEST1 ( A , B
INPUT Y OUTPUT )
BEGIN --?? A ? B ?????
Y AB ??????????? END
49 ??? 1??????? 2??????? 3???????LU 4???????
--??? 5??????? 6????????? 7?BCD????????? 8????(Fli
p-Flop) 9??????????????? 10?????????????
50GDF(???) ? AHDL(???????)
51GDF(???)
52???
?????
53???
????????
54???
??????(LU)
55???
??????--???
56???
??????
57A H D L (??????)
58???
????????
SUBDESIGN Unit6 ( a7..0,b7..0,s2
..0 INPUtT d OUTPUT
) BEGIN CASE s IS WHEN
0gt dab
59 WHEN 1gt
dab WHEN 2gt
dab WHEN 3gt
dab WHEN 4gt
dab WHEN 5gt
dab WHEN 6gt
dab WHEN 7gt
dab WHEN OTHERSgt
da END CASE END
60???
BCD?????????
SUBDESIGN Unit7 ( i3..0
INPUtT a,b,c,d,e,f,g
OUTPUT ) BEGIN
???????????
61 TABLE i3..0 gt a,b,c,d,e,f,g
H0 gt 1,1,1,1,1,1,0 H1 gt
1,1,1,1,1,1,0 H2 gt 1,1,1,1,1,1,0
H3 gt 1,1,1,1,1,1,0 H4
gt 1,1,1,1,1,1,0 H5 gt
1,1,1,1,1,1,0 H6 gt 1,1,1,1,1,1,0
H7 gt 1,1,1,1,1,1,0 H8
gt 1,1,1,1,1,1,0 H9 gt
1,1,1,1,1,1,0 HA gt 1,1,1,1,1,1,0
HB gt 1,1,1,1,1,1,0 HC
gt 1,1,1,1,1,1,0 HD gt
1,1,1,1,1,1,0 HE gt 1,1,1,1,1,1,0
HF gt 1,1,1,1,1,1,0 END
TABLE END
62???
???
SUBDESIGN Unit8 ( S,R,CLK,PRN,CLRN
INPUtT Q,/Q OUTPUT
) VARIABLE ff srff
BEGIN ff.s ff.r ff.clk ff.prn
Qff.q /Q!ff.q END
63???
??????????????
FUNCTION 7segd (x3..0) RETURNS (s6..0)
SUBDESIGN Unit9 ( clk,load,d7..0
INPUtT dpl6..0,dp26..0
OUTPUT ) VARIABLE ff7..0
DFFE sd1,sd2 7segd
64???????????? BEGIN ff.clk
clk ff.ena load ff.d
d sd1.x ff7..4.q sd2.x
ff3..0.q dp1 sd1.s dp2
sd2.s END
65???
????????????
FUNCTION 7segd (x3..0) RETURNS (s6..0)
SUBDESIGN Unit10 ( clk,en,rst
INPUtT dpl6..0,q4..1
OUTPUT ) VARIABLE ff4..1 TFF
sd1 7segd
66???????????? BEGIN q
ff.q ff.t en ff.clrn
rst ff1.clk clk ff2.clk
ff1.q ff3.clk ff2.q ff4.clk
ff3.q sd1.x ff.q dp1 sd1.s
END
67THE END
68??????
69? ? ? ? ? ?
CPLD
? ? ? ? ? ?
?
?
?
?
?
?
?
?
?? ?? ?? ?? ?? ????
MaxplusII
70????
(??????????????)
71??(??)??
??(??)
(??????????????)