
X©y dùng ch¬ng tr×nh øng dông cho c¸c pld
cã trong phßng thÝ nghiÖm cña khoa kT§T 1
I.TÝnh cÊp thiÕt cña ®Ò tµi
HiÖn nay t¹i phßng thÝ nghiÖm cña khoa KÜ thuËt §iÖn tö 1 ®îc
trang bÞ c¸c thiÕt bÞ dïng ®Ó lËp tr×nh cho c¸c cÊu kiÖn PLDs
(Programmable Logic Devices). ViÖc nghiªn cøu triÓn khai c¸c øng dông cña
PLD cho sinh viªn thùc hµnh lµ rÊt cÇn thiÕt. Tuy nhiªn, cho ®Õn nay chØ
cã mét sè øng dông cña PLD ®îc ®a vµo mét sè bµi thÝ nghiÖm thuéc m«n
häc KÜ thuËt sè ë khoa KÜ thuËt §iÖn tö 1. §Ò tµi nµy ngoµi viÖc t¹o ®iÒu
kiÖn cho sinh viªn (nhÊt lµ sinh viªn ®¹i häc) ®îc tiÕp xóc còng nh ph¸t
triÓn c¸c øng dông cña PLD vÉn cßn bÞ h¹n chÕ ë trong khoa (lËp tr×nh cho
c¸c PLD vµ ch¹y c¸c øng dông trªn c¸c tÊm m¹ch cã s½n trong phßng thÝ
nghiÖm) nã cßn gãp phÇn nghiªn cøu, triÓn khai c¸c øng dông míi cho PLD.
KÕt qu¶ cña ®Ò tµi gióp cho c¸c sinh viªn Ýt cã ®iÒu kiÖn tiÕp xóc víi tµi
liÖu vµ c¸c thiÕt bÞ vÒ PLD cã thÓ n¾m ®îc ph¬ng ph¸p lËp tr×nh cho PLD
(sö dông phÇn mÒm SNAP) vµ c¸ch triÓn khai c¸c øng dông lªn c¸c tÊm ch¹y
thö.
II. Néi dung khoa häc
1. Tæng quan vÒ PLD
C¸c cÊu kiÖn lËp tr×nh ®îc (PLD) lµ c¸c m¶ng cæng logic tiªu chuÈn, cã
thÓ ®îc cÊu h×nh b»ng c¸c ph¬ng tr×nh kh¸c nhau ®Ó thùc hiÖn nhiÒu
hµm logic. §¬n gi¶n nhÊt lµ c¸c m¹ch logic liªn hîp nh bé gi¶i m· hoÆc ghÐp
kªnh, sau ®ã lµ c¸c bé ghi, phøc t¹p h¬n n÷a lµ c¸c m« h×nh tr¹ng th¸i ®îc
dïng trong ®iÒu khiÓn hÖ thèng. Trong phßng thÝ nghiÖm hiÖn nay cã
tÊm øng dông PLD 28-110, nã cho phÐp tiÕn hµnh víi hai lo¹i cÊu kiÖn kh¸c
nhau lµ PLC18V8Z vµ PLC42VA12 (hai lo¹i nµy dÔ ph©n biÖt víi nhau v×
PLC18V8Z cã 20 ch©n, cßn PLC41VA12 cã 24 ch©n).

§Ó tiÖn dïng trªn tÊm øng dông 28-110, c¸c PLD ®· ®îc l¾p s½n theo
modul. Modul 28-110 g¾n s½n PLC18V8Z, modul 28-102 g¾n s½n
PLC42VA12.
2. PhÇn mÒm SNAP
2.1 Giíi thiÖu.
SNAP (Synthesis Netlist Analysis & Program software) lµ mét ch¬ng
tr×nh phÇn mÒm cña h·ng Philips Semiconductors ®îc dïng ®Ó thiÕt kÕ
m¹ch logic trªn nh÷ng cÊu kiÖn cã thÓ lËp tr×nh ®îc cña Philips. Quy c¸ch
x©y dùng ph¬ng tr×nh logic th× kh«ng phô thuéc vµo lo¹i cÊu kiÖn PLD.
Sau khi m« pháng vµ gì rèi cho mét m¹ch logic, tr íc hÕt ta cã thÓ x¸c ®Þnh
râ b¶n thiÕt kÕ m¹ch, sau ®ã chän bé thiÕt bÞ PLD.
2.2 C¸c b íc tiÕn hµnh trong SNAP
SNAP lµ mét ch¬ng tr×nh phÇn mÒm ®iÒu khiÓn thùc ®¬n cã tÝnh t¸c
®éng qua l¹i. S¬ ®å menu cho phÐp ta chän lo¹i h×nh ho¹t ®éng trong SNAP
nh mong muèn.

SNAP 1.90 Copyright 1993 PHILIPS SEMICONDUCTOR All rights
reserved
Project : DEMO
Use cursor keys to select
modul
Use function keys to
enter
1:HELP 2:RUN 3:PROJECT 4:STATUS 5:SETUP 6:SAVE 7:DOS 8:EDIT 9:PRINT
Minimize
r
Equations
Abel2Sna
p
ScCapture
NetConv Edif NetGen MacSel
Merger
Waveforms SimNet Compiler
TestVector SimScl SimFlt ModGen DPI
SimPrt Plot

10:EXIT
C¸c hép trªn h×nh vÏ trªn thÓ hiÖn c¸c ho¹t ®éng trong Snap ®Ó ta cã
thÓ lùa chän ë bÊt cø thêi ®iÓm nµo mµ kh«ng cÇn ph¶i theo thø tù.
3. Ph¬ng ph¸p thiÕt kÕ PLD.
Con ®êng h÷u hiÖu nhÊt ®Ó thiÕt kÕ khi sö dông logic lËp tr×nh lµ
tiÖm cËn hép ®en. Tríc hÕt, ta vÏ mét hép ®en ®Ó thÓ hiÖn chøc n¨ng,
thªm c¸c lèi vµo ra cÇn thiÕt ®ã x¸c lËp c¸c mèi liªn quan cña c¸c ®Çu ra víi
tæ hîp kh¸c nhau cña c¸c ®Çu vµo. §Æc tÝnh ®Çu ra cã thÓ ®îc biÓu diÔn
theo c¸c biÓu thøc logic hoÆc b»ng sù chuyÓn ®æi c¸c tr¹ng th¸i cña m¹ch.
-C¸c bíc tuÇn tù ®Ó thiÕt kÕ logic lËp tr×nh:
1. X¸c ®Þnh chøc n¨ng.
2. T¹o c¸c ph¬ng tr×nh.

3. §a c¸c ph¬ng tr×nh vµo m¸y tÝnh.
4. M« pháng vµ kiÓm tra.
5. Biªn dÞch.
6. LËp tr×nh cho cÊu kiÖn.
7. KiÓm tra chøc n¨ng.
Sau khi hoµn thµnh bíc1, bíc 2 ta thùc hiÖn bíc 3 nh sau:
Nh ta ®· biÕt ph¬ng tr×nh logic vµ ph¬ng tr×nh tr¹ng th¸i ®Òu n»m
trong file ENQ. Do ®ã, ta t¹o mét ®Ò ¸n míi dïng phÝm F3 (project), Snap t¹o
ra file mÉu cho ph¬ng tr×nh <project>, ENQ file míi nµy cã néi dung nh sau:
@PINLIST
@GROUPS
@TRUTHTABLE
@LOGIC EQUATIONS
@INPUT VECTORS
@OUTPUT VECTORS
@STATE VECTORS
@TRANSITIONS
4. Mét vÝ dô cô thÓ: MUX/DEMUX 4:4
4.1 Chøc n¨ng:
MUX/DEMUX 4:4 thùc hiÖn chøc n¨ng ph©n kªnh vµ ghÐp kªnh víi bèn
lèi vµo vµ bèn lèi ra tuú chän.
4.2 LËp tr×nh: ë thÝ dô nµy ta lËp tr×nh b»ng ph¬ng ph¸p ph¬ng tr×nh
logic
@PINLIST
ena I; "§Çu vµo kiÓm so¸t lèi ra cho phÐp,nhËn tÝch cùc thÊp
"
dcs I; "§Çu vµo ®iÒu khiÓn híng tÝn hiÖu: “dcs=0 x to y dcs=1
y to x"
xa0 I; "§Çu vµo ®Þa chØ cña kªnh x"
xa1 I; "§Çu vµo ®Þa chØ cña kªnh x"

