MỤC LỤC
Trang
MỞ ĐẦU . . 1
Chương 1: TỔNG QUAN VỀTÍN HIỆU VÀ CHỌN LỌC TÍN HIỆU .4
1.1 Tín hiệu tương tự(Analog) và tín hiệu số(Digital) . .4
1.1.1.Khái niệm, phân loại tín hiệu và hệxửlý tín hiệu . . 4
1.1.2 Hệxửlý số. . . 12
1.2 Các bộbiến đổi tín hiệu tín hiệu tương tự-số(ADC)
và bộbiến đổi số-tương tự(DAC) . . 19
1.2.1 Bộbiến đổi DAC :. . 19
1.2.2 Bộbiến đổi ADC : . . 22
1.3 Bộlọc sốvà cơsởtoán học của nó . 24
1.3.1: Tổng quan vềbộlọc số: . . . 25
1.3.2: Công cụtoán học đểthiết kếbộlọc số . . . 28
Chương 2 : TỔNG QUAN VỀCẤU TRÚC FPGA CỦA HÃNG XILINX
VÀ PHẦN MỀM HỖTRỢTHIẾT KẾWEBPACK ISE . 32
2.1 Tổng quan vềcấu trỳc FPGA của XILINX . . 32
2.1.1. Sựhình thành và phát triển của FPGA và CPLD. . . 32
2.1.2. Giới thiệu các họthiết bịcủa Xilinx . 38
2.1.3. Cấu trúc FPGA của hãng Xilinx . 44
2.2 Phần mềm thiết kếWEBPACK ISE . 52
2.2.1. Giới thiệu sơlược: . 52
2.2.2. Cụng cụthiết kế: . 52
2.2.3. Lõi sởhữu trí tuệcủa Xilinx ( IP_Core ): . . 55
2.2.4. Giới thiệu ngôn ngữVHDL . . 55
Chương 3 : HỖTRỢTHIẾT KẾCỦA MATLAB VÀ EDA
VỚI BỘLỌC SỐ . 63
3.1 Phương pháp thiết kếtheo mô hình:. . 63
3.1.1.Giới thiệu: . . 63
3.1.2.Kết luận . . 68
3.2 Sựhỗtrợcủa Matlab với thiết kếbộlọc số(FDATool) . 68
3.2.1. Tổng quan vềhộp công cụthiết kếbộlọc số(FDATool) . 68
3.2.2. Thiết kếbộlọc theo phương pháp sửdụng các hàm chức năng: . . 73
3.2.3. Thiết kếbộlọc theo phương pháp sửdụng giao diện của
FDATool.:. 77
3.2.4. Phân tích một sốcấu trúc của các hàm thông dụng
trong thiết kếbộlọc: . . 83
3.3 Sựhỗtrợthiết kếcủa EDA (phần mềm ISE): . . 85
Chương 4 : THIẾT KẾBỘLỌC TÍN HIỆU SỐDẠNG FIR . . 87
4.1 Kết cấu cho các kiểu lọc tần sốdạng FIR: . 87
4.1.1. Bộlọc thông thấp lý tưởng . . 88
4.1.2. Bộlọc thông cao lý tưởng . . 90
4.1.3. Bộlọc dải thông lý tưởng . . 91
4.1.4. Bộlọc dải chặn lý tưởng . 93
4.1.5 .Nhận xét . . 95
4.2 Cấu hình tổng quát của bộlọc FIR . 92
4.3 Tổng hợp hệthống theo phương pháp mô hình hoá đối tượng . . 95
4.3.1. Giảthiết kỹthuật . 95
4.3.2. Thiết kếbộlọc số đáp ứng xung hữu hạn
theo phương pháp MBD. 95
4.3.3.Hiện thực hoá và mã đểhiện thực hoá . .105
4.3.4. Thửnghiệm và kiểm tra . . .112
ĐÁNH GIÁ VÀ KẾT LUẬN . . .114
1. Khảnăng thực hiện và hướng phát triển của đềtài . . .114
2. Khảnăng áp dụng vào thực tiễn . .114
TÀI LI ỆU THAM KH ẢO . 116
PHỤLỤC
132 trang |
Chia sẻ: lethao | Lượt xem: 2000 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn Thiết kế bộ lọc tín hiệu số trên công nghệ FPGA với công cụ Matlab và EDA cảu XILINX, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chip,
c¸c vßng kho¸ ®é gi÷ chËm cho phÐp qu¶n lý clock ë møc board vµ møc chip. H¬n
n÷a hä Spartan-IIE cã mét ý nghÜa gi¸ trÞ kh¸c ®ã lµ nã lo¹i bá sù cÇn thiÕt c¸c s¶n
phÈm tiªu chuÈn chuyªn dông ( ASSP ) víi c¸c øng dông ®¬n gi¶n, ch¼ng h¹n nh−
vßng kho¸ pha, FIFO, c¸c bé chuyÓn ®æi vµo ra, ®iÒu khiÓn Bus hÖ thèng, c¸c thµnh
phÇn nµy ®· kh«ng thÓ thiÕu ®Ó hoµn thiÖn mét thiÕt kÕ mµ nã ®· ®−îc dïng tr−íc
®©y.
- Hä Spartan-IIE lµ ®ßn bÈy c¬ b¶n cho c¸c tÝnh n¨ng vÒ cÊu tróc cña Virtex-E
®Ó ®−a ra nh÷ng tÝnh n¨ng næi tréi h¬n. CÊu tróc CLB (Configurable Logic Block -
Khèi logic cho phÐp ®Þnh cÊu h×nh) cã chøa RAM ®−îc ph©n phèi ®Ó thùc hiÖn c¸c
chøc n¨ng logic c¬ b¶n.
45
- Bèn DLL ( Delay Locked Loop ) vßng kho¸ ®é gi÷ chËm ®−îc sö dông cho
bé qu¶n lý ®ång hå vµ cã thÓ thùc hiÖn clock ®èi xøng lÖch vµ c¸c phÐp nh©n clock,
chia clock. Clock ®èi xøng lÖch cã thÓ ®−îc thùc hiÖn bªn ngoµi (Møc board) hoÆc ë
bªn trong ( Møc c¬ b¶n ) chip.
- C¸c khèi Block RAM gåm 4Kb cho mçi khèi cã thÓ ®−îc x¾p xÕp ®é réng tõ
1 ®Õn 16 bit.
- §Æc tÝnh Select I/O cho phÐp giao tiÕp víi nhiÒu chuÈn kh¸c nhau ®Ó thùc thi
trong c¸c vïng kÕt nèi víi c¸c chip cã chuÈn IO kh¸c nhau, kÕt nèi chip víi bé nhí,
kÕt nèi chip víi c¸c giao tiÕp Èn.
H×nh 2.8 CÊu tróc cña Spartan - IIE
- Hä Spartan-IIE FPGA ®−îc thùc thi víi cÊu tróc CLB cho phÐp lËp tr×nh linh
ho¹t, th«ng dông, mµ c¸c CLB nµy ®−îc bao bëi mét vßng c¸c khèi I/O lËp tr×nh
®−îc, c¸c ®−êng nèi ®−îc kÕt nèi bëi c¸c nguån tµi nguyªn ®Þnh tuyÕn ®a n¨ng. CÊu
tróc nµy còng ®−a ra c¸c chøc n¨ng ®−îc n©ng cao ch¼ng h¹n nh− khèi RAM vµ c¸c
khèi ®iÒu khiÓn clock.
46
H×nh 2.9 S¬ ®å khèi cña Spartan -IIE
H×nh 2.10 Khèi Input/Output Spartan -IIE (I/OB)
I/O Block
- C¸c ®Æc tÝnh I/OB cña c¸c ®Çu vµo vµ ®Çu ra ®−îc hç trî tíi 19 c¸c chuÈn tÝn
hiÖu kh¸c nhau, bao gåm LVDS, BLVDS, LVPECL, LVCMOS, HSTL, SSTL vµ
GTL .
47
- C¸c ®Çu vµo ra tèc ®é cao nµy cã kh¶ n¨ng hç trî víi tÊt c¶ c¸c bé nhí hiÖn
®¹i vµ giao tiÕp bus kh¸c. Chóng gåm ba thanh ghi chøc n¨ng hoÆc lµ c¸c flip - flop
lo¹i D ®−îc kÝch ho¹t b»ng s−ên hoÆc lµ c¸c bé chèt nh¹y møc (H×nh 2.10).
- Mçi mét IOB cã mét ®−êng CLK ®−îc ®−a tíi ba thanh ghi theo mét ®−êng
dïng chung vµ c¸c ®−êng CE cho mçi thanh ghi hoµn toµn ®éc lËp xem H×nh 2.10.
Ngoµi c¸c ®−êng CLK, CE, mçi thanh ghi ®Òu cã chung mét ®−êng
SET/RESET. Víi mçi thanh ghi b¹n cã thÓ ®Æt tÝn hiÖu Set/Reset nµy nh− tÝn hiÖu
Set ®ång bé, Reset ®ång bé, Preset kh«ng ®ång bé hoÆc mét tÝn hiÖu xo¸ (Clear)
kh«ng ®ång bé.
- Trong mét sè c¸c chuÈn I/O yªu cÇu ®iÖn ¸p Vcco hoÆc Vref, c¸c ®iÖn ¸p nµy
chóng ®−îc nèi tíi c¸c ch©n cña thiÕt bÞ khi thiÕt kÕ, c¸c ch©n nµy chóng t¹o thµnh
tõng nhãm cña c¸c khèi vµo ra vµ chóng ®−îc gäi lµ Bank.
- ChÝnh v× vËy, sù h¹n chÕ vÒ c¸c chuÈn vµo cña mét thiÕt bÞ sÏ do c¸c Bank
quyÕt ®Þnh. T¸m Bank vµo ra ®−îc t¸ch theo mçi c¹nh cña FPGA vµ ®−îc chia thµnh
hai Bank chÝnh (Xem h×nh 2.11). Mçi Bank cã nhiÒu ch©n ®iªn ¸p Vcco vµ tÊt c¶
chóng ®Òu ®−îc nèi tíi cïng mét ®−êng ®iÖn ¸p. §iÖn ¸p nµy ®−îc x¸c ®Þnh bëi c¸c
chuÈn ®Çu ra ng−êi dïng.
H×nh 2.11 C¸c Bank chuÈn vµo ra I/O cña Spartan -IIE
- Mét sè chuÈn ®Çu vµo mong muèn mét ®iÖn ¸p ng−ìng nµo ®ã mµ nã ®−îc
cung cÊp bëi ng−êi dïng ch¼ng h¹n nh− Vref. Tr−êng hîp nµy, c¸c ch©n I/O ng−êi
dïng ®−îc x¾p ®Æt tù ®éng nh− c¸c ®Çu vµo cho ®iÖn ¸p lÊy mÉu Vref. Kho¶ng mét
trong 6 c¸c ch©n vµo ra cña c¸c Bank ®ãng vai trß nµy. C¸c ch©n Vref trong mét
48
bank ®−îc nèi bªn trong vµ v× vËy chØ mét ®iÖn ¸p Vref cã thÓ ®−îc sö dông trong
mçi bank .TÊt c¶ c¸c ch©n Vref trong c¸c bank cÇn ph¶i ®−îc nèi víi nguån ®iÖn ¸p
bªn ngoµi ®Ó chóng ho¹t ®éng ®óng.
§Ó cã sù trao ®æi nhanh gi÷a c¸c tÝn hiÖu, c¸c ch©n tÝn hiÖu ®Çu vµo cÇn ph¶i
®−îc cung cÊp tr−íc khi nguån cÊp vµo ch©n Vccint vµ ch©n Vcco vµ ph¶i ®¶m b¶o
kh«ng cã ®−êng dÉn dßng ng−îc tõ c¸c ch©n I/O quay vÒ ®iÖn ¸p nguån cung cÊp
Vccint vµ Vcco (Cã nghÜa lµ ®¶m b¶o cho thiÕt bÞ cã thÓ ho¹t ®éng ë mét ®iÖn ¸p vµ
giao tiÕp ë mét ®iÖn ¸p, hai ®iÖn ¸p nµy cã thÓ kh¸c nhau ).
Configurable Logic Blok vµ Logic Cell
- C¸c ®¬n vÞ c¬ b¶n cña CLB (Khèi logÝc cho phÐp ®Þnh cÊu h×nh) thuéc hä
thiÕt bÞ Spartan-IIE chÝnh lµ c¸c Logic Cell mµ ta ®· biÕt. Mçi mét Logic Cell bao
gåm mét bé t¹o chøc n¨ng (Hay bé t¹o hµm) gåm 4 ®Çu vµo, phÇn tö logic nhí vµ
phÇn tö l−u tr÷ (Flip-Flop lo¹i D).
- §Çu ra cña bé t¹o chøc n¨ng cña mçi Logic Cell ®iÒu khiÓn c¶ ®Çu ra CLB
hoÆc ®Çu vµo D cña Flip-Flop. Mçi mét CLB cã chøa bèn Logic Cell vµ ®−îc tæ
chøc thµnh hai Slice t−¬ng tù nhau, mét slice ®¬n cã d¹ng nh− (H×nh 2.12). Thªm
vµo bèn bé LC c¬ b¶n, c¸c CLB cña Spartan-IIE cã chøa phÇn tö logic mµ nã kÕt
hîp víi c¸c bé t¹o chøc n¨ng ®Ó ®−a ra c¸c chøc n¨ng 5 hoÆc 6 ®Çu vµo .
Look-Up tables ( LUT )
- C¸c bé t¹o chøc n¨ng cña Spartan -IIE thùc hiÖn nh− LUT cã bèn ®Çu vµo.
§Ó ho¹t ®éng nh− mét bé t¹o chøc n¨ng, mçi mét LUT cã thÓ cung cÊp mét RAM
16x1bit ®ång bé.
H¬n n÷a hai LUT trong mét Slice cã thÓ ®−îc kÕt hîp ®Ó t¹o mét RAM 16x2
bit hoÆc 32x1 bit ®ång bé .
Storage Element
49
H×nh 2.12 CÊu tróc Logic Cell hay mét Slice ®¬n trong Spartan -IIE
- C¸c phÇn tö l−u tr÷ trong slice cña Spartan-IIE cã thÓ ®−îc xem nh− mét
Flip-Flop lo¹i D kÝch ho¹t b»ng s−ên, hoÆc nh− mét bé chèt nh¹y møc. C¸c ®Çu vµo
D cã thÓ ®−îc ®iÒu khiÓn hoÆc bëi bé t¹o chøc n¨ng trong slice hoÆc trùc tiÕp tõ ®Çu
vµo c¸c slice (bá qua bé t¹o chøc n¨ng). Thªm vµo c¸c ®−êng Clock (CLK) vµ Clock
Enable (CE) (xem H×nh 2.12), mçi Slice cã c¸c tÝn hiÖu set vµ reset ®ång bé (SR vµ
BY). §−êng SR Ðp c¸c phÇn tö l−u tr÷ vÒ tr¹ng th¸i khëi t¹o, ®Æc biÖt trong tr−êng
hîp nhåi cÊu h×nh. §−êng BY Ðp phÇn tö l−u tr÷ vÒ tr¹ng th¸i ng−îc l¹i. Cã thÓ lùa
chän hai ®−êng nµy ®Ó chóng ho¹t ®éng kh«ng ®ång bé.
TÊt c¶ c¸c tÝn hiÖu ®iÒu khiÓn cã thÓ ®¶o ng−îc mét c¸ch hoµn toµn ®éc lËp vµ
chóng ®−îc chia sÎ bëi hai Flip-Flop trong mét Slice.
- Arithmetic Logic Bé dån kªnh F5IN ë trong mçi Slice ®−îc kÕt hîp víi c¸c
®Çu ra bé t¹o chøc n¨ng ®−îc chØ ra ë h×nh d−íi ®©y.
50
H×nh 2.13 Bé dån kªnh F5 vµ F6
Sù kÕt hîp nµy sÏ ®−a ra hoÆc mét bé t¹o hµm mµ nã cã thÓ thùc thi bÊt kú 5
®Çu vµo chøc n¨ng nµo, hoÆc mét bé dån kªnh 4:1 hoÆc c¸c chøc n¨ng ®−îc chän
lùa cña chÝn ®Çu vµo. T−¬ng tù, bé dån kªnh F6 kÕt hîp c¸c ®Çu ra cña bèn bé t¹o
chøc n¨ng trong CLB b»ng viÖc chän mét trong hai ®Çu ra cña bé dån kªnh F5. §iÒu
nµy cho phÐp thùc thi bÊt kú mét hµm 6 ®Çu vµo nµo, mét bé dån kªnh 8:1, hoÆc
chøc n¨ng ®−îc chän lùa lªn ®Õn 19 ®Çu vµo.
Block RAM Hä Spartan-IIE FPGA hîp nhÊt mét vµi bé nhí RAM theo khèi
thµnh khèi lín h¬n (gäi lµ SelectRAM +), cã nghÜa lµ cÇn ph¶i bæ xung thªm c¸c
LUT RAM ®· ®−îc dïng. KiÕn tróc bé nhí kh«ng bÒn v÷ng nµy ®−îc thùc hiÖn
trong c¸c CLB. C¸c khèi bé nhí RAM Block chóng ®−îc tæ chøc theo c¸c cét . HÇu
hÕt hä Spartan -IIE cã chøa hai cét nh− nhau, mçi mét cét ®−îc bè trÝ däc theo chiÒu
®øng . Hä XC2S400E cã bèn cét RAM khèi, mçi cét nµy ®−îc kÐo dµi hÕt chiÒu cao
cña chip. Mçi mét khèi nhí chÝnh gåm bèn CLB cao vµ v× vËy mçi Spartan-IIE cã 8
CLB cao sÏ chøa hai khèi nhí trªn mçi cét vµ tæng céng cã bèn khèi .
Delay - locked loop (DLL) §−îc kÕt hîp víi mçi bé ®Öm ®Çu vµo clock toµn
côc vµ lµ mét vßng kho¸ ®é gi÷ chËm sè DLL mµ nã lo¹i trõ ®−îc sù lÖch gi÷a bé
®Öm ®Çu vµo clock vµ c¸c ch©n ®Çu vµo clock bªn trong thiÕt bÞ. Bé DLL gi¸m s¸t
toµn bé clock ®Çu vµo vµ clock ®−îc ph©n phèi, tù ®éng ®iÒu chØnh phÇn tö gi÷ chËm
51
clock. DLL cung cÊp c¸c pha vu«ng 900 cña clock nguån mµ cã thÓ nh©n ®«i, hoÆc
chia bëi c¸c hÖ sè 1.5 , 2, 2.5 , 3, 4 , 5 , 8 hoÆc 16 ( Xem h×nh d−íi ®©y ).
H×nh 2.14 Vßng gi÷ chËm DLL
H×nh 2.15 C¸c ®Æc tÝnh ®Çu ra cña DLL
52
2.2. PhÇn mÒm thiÕt kÕ WEBPACK ISE.
2.2.1. Giíi thiÖu s¬ l−îc :
ThiÕt bÞ logic lËp tr×nh ngµy nay ®· ph¸t triÓn ë møc ®é cao c¶ vÒ dung l−îng
cæng còng nh− tèc ®é xö lý cña hÖ thèng víi mËt ®é lªn ®Õn hµng triÖu cæng vµ tèc
®é xö lý lªn ®Õn hµng GHz.
H·ng Xilinx ®· ®−a ra c¸c c«ng cô thiÕt kÕ ®iÖn tö hoµn toµn ®Çy ®ñ nã cho
phÐp thùc hiÖn c¸c thiÕt kÕ trong hä PLD cña Xilinx. C¸c gi¶i ph¸p ph¸t triÓn kÕt
hîp víi c¸c kü thuËt m¹nh t¹o ra mét sù linh ho¹t, mÒm dÎo, giao tiÕp ®å ho¹ dÔ sö
dông gióp b¹n cã ®−îc c¸c thiÕt kÕ tèt nhÊt cã thÓ trong mét dù ¸n lín. C«ng cô
phÇn mÒm thiÕt kÕ ISE (Integrated Sofware Enviroment- M«i tr−êng phÇn mÒm tÝch
hîp) lµ c«ng cô thiÕt kÕ tæng thÓ, bao hµm c¸c c«ng cô phÇn mÒm thiÕt kÕ chuyªn
dông kh¸c nhau vµ ®©y còng lµ c«ng cô ®−îc sö dông nhiÒu nhÊt trong thiÕt kÕ c¸c
PLD (Programmable Logic Device) cña Xilinx.
2.2.2. C«ng cô thiÕt kÕ:
PhÇn mÒm ISE c¶i thiÖn ®¸ng kÓ thêi gian ®−a mét s¶n phÈm ra thÞ tr−êng bëi viÖc
t¨ng tèc qu¸ tr×nh nhËp thiÕt kÕ. C¸c b−íc thùc hiÖn mét thiÕt kÕ ®−îc cung cÊp
trong phÇn mÒm ISE, ngoµi ra chóng cßn ®−îc hç trî thªm bëi c¸c phÇn mÒm bæ
xung kh¸c. §Ó tiÖn cho viÖc n¾m b¾t vµ ph©n lo¹i c¸c lo¹i phÇn mÒm chóng ta sÏ ®i
m« t¶ phÇn nµy theo thø tù thùc hiÖn cña mét thiÕt kÕ .
2.2.2.1. NhËp thiÕt kÕ :
C¸c c«ng cô hç trî c¸c ph−¬ng ph¸p phæ biÕn nhÊt ngµy nay ®Ó viÖc t¹o ra
mét thiÕt kÕ bao gåm : NhËp thiÕt kÕ b»ng s¬ ®å, b»ng ng«n ng÷ HDL, b»ng viÖc
tÝch hîp c¸c lâi IP, hç trî m¹nh mÏ viÖc t¸i sö dông c¸c lâi IP. Sù ®a d¹ng cña viÖc
nhËp mét thiÕt kÕ ®· ®−a ra mét m«i tr−êng thiÕt kÕ dÔ sö dông nhÊt vµ cho phÐp víi
tÊt c¶ c¸c thiÕt kÕ logic. Nã bao gåm c¸c c«ng cô thiÕt kÕ sau: Schematic Editor,
HDL Editor, State Diagram Editor, Core Generator ™ System, PACE (Pinout and
Area Constraint Editor), Architecture Wizard (DCM - Digital Clock Management,
MGT - Multi_Gigabit Transceiver), Xilinx System Generator for DSP.
2.2.2.2. Tæng hîp thiÕt kÕ :
53
ISE c¶i tiÕn bé m¸y tæng hîp HDL ®Ó ®−a ra kÕt qu¶ tèi −u ho¸ cho viÖc tæng
hîp trªn c¸c PLD, ®©y lµ mét trong c¸c b−íc c¬ b¶n nhÊt trong ph−¬ng ph¸p thiÕt
kÕ. Nã lÊy c¸c ®Þnh nghÜa cña thiÕt kÕ trªn HDL vµ t¹o ra sù m« t¶ vËt lý hoÆc hÖ
logic cho thiÕt bÞ .
Bé m¸y tæng hîp tiªn tiÕn ®−a ra mét kÕt qu¶ tèi −u ho¸ cao víi mét thêi gian
®iÒu chØnh vµ thêi gian dÞch nhanh. §Ó phï hîp víi yªu cÇu nµy, bé m¸y tæng hîp
cÇn ph¶i ®−îc tÝch hîp chÆt chÏ víi c«ng cô thùc hiÖn vËt lý, h¬n n÷a sù bá qua viÖc
th¨m dß gi÷a th«ng tin thiÕt kÕ vËt lý vµ m· thiÕt kÕ HDL ®· c¶i thiÖn ®−îc thêi gian
biÕn ®æi thiÕt kÕ.
PhÇn mÒm ISE ®−a ra mét sù tÝch hîp g¾n liÒn víi c¸c bé m¸y tæng hîp chñ
®¹o nh− : Mentor Graphics Leonardo Spectrum, Exempla, Synopsys vµ Synplicity
Synplify/Pro, ABEL, XST ( Xilinx Synthesis Technology ) .
2.2.2.3 Thùc thi vµ n¹p cÊu h×nh :
ViÖc thùc hiÖn thiÕt kÕ logic lËp tr×nh ®−îc lµ g¸n c¸c chøc n¨ng logic ®−îc
t¹o trong suèt qu¸ tr×nh nhËp thiÕt kÕ vµ tæng hîp chóng vµo trong tµi nguyªn vËt lý
cô thÓ. ThuËt ng÷ " X¾p ®Æt vµ ®Þnh tuyÕn " ®−îc sö dông ®Ó m« t¶ qu¸ tr×nh thùc
hiÖn cho FPGA, cßn " L¾p ®Æt " ®−îc sö dông cho CPLD. Thùc thi chÝnh lµ n¹p cÊu
h×nh cho thiÕt bÞ, mµ sù thùc thi nµy chÝnh lµ t¹o vµ t¶i mét luång c¸c bit ®−îc t¹o ra
tõ th«ng tin x¾p ®Æt vµ ®Þnh tuyÕn vµo trong c¸c thiÕt bÞ ®Ých PLD. §Ó thùc hiÖn
phÇn nµy cã c¸c c«ng cô hç trî sau: FloorPlanner, Constraints Editor, Timing
Driven Place & Route, Modular Design, Timing Improvent Wizard .
2.2.2.4 TÝch hîp møc Board : PhÇn mÒm ISE ®−a ra sù hç trî m¹nh mÏ ®Ó
gióp ng−êi thiÕt kÕ ®¶m b¶o thiÕt kÕ logic lËp tr×nh lµm viÖc trong mét hÖ thèng.
Xilinx dù b¸o tr−íc ®−îc c¸c kÕt qu¶ chÝnh, ch¼ng h¹n nh− viÖc x¾p ®Æt mét board
m¹ch phøc t¹p, tÝch hîp c¸c tÝn hiÖu, giao tiÕp Bus tèc ®é cao, ®é réng d¶i th«ng vµo
ra, c¸c nhiÔu ®iÖn tõ cho ng−êi thiÕt kÕ møc hÖ thèng. §Ó cã thÓ dÔ dµng thùc hiÖn
c¸c b−íc nµy Xilinx ®· cung cÊp c¸c kü thuËt chñ ®¹o cho FPGA:
- XCITE ( Trë kh¸ng ®iÒu khiÓn sè ).
- DCM Bé qu¶n lý xung ®ång hå cña hÖ thèng .
- EMI Bé qu¶n lý nhiÔu ®iÖn tõ tr−êng .
54
- Th«ng tin ®ãng gãi cho sù tÝch hîp ë møc Board .
- KiÓm tra ë møc Board ISE.
Nã bao gåm c¸c phÇn mÒm sau:
- IBIS Models.
- STAMP Models.
- LMG Models.
- ChipScope™ ILA
2.2.2.5 Kü thuËt kiÓm tra :
PhÇn mÒm ISE ®−a ra viÖc kiÓm tra mµ nã hç trî trong tÊt c¶ c¸c giai ®o¹n
cña thiÕt kÕ, tõ khi vµo thiÕt kÕ cho ®Õn khi tÝch hîp chóng trªn board.
* KiÓm tra tÜnh : C«ng cô kiÓm tra tÜnh cho phÐp ng−êi thiÕt kÕ kiÓm tra thiÕt kÕ
ngoµi yªu cÇu. ViÖc kiÓm tra cã thÓ thùc hiÖn ë mäi khÝa c¹nh hoÆc kiÓm tra theo sù
chän lùa, cho phÐp t×m lçi trong qu¸ tr×nh thùc thi. C«ng cô kiÓm tra tÜnh còng ®−a
ra c¸c kh¶ n¨ng gì rèi vµ ph©n tÝch m¹nh mÏ. C¸c c«ng cô kiÓm tra tÜnh :
- Constraint Editor
- Delay Calculator
- Trace
- Timing Analyzer
- Prime Time
- XPower
- Formality
- Conformal™ LEC
- DRC
- Chip Viewer
* KiÓm tra ®éng : Bao gåm c¸c c«ng cô sau
- HDL Bencher™
- ModelSim XE
- State Bench
- HDL Simulation Libraries
55
* KiÓm tra møc Board :
ViÖc sö dông c«ng cô kiÓm tra t¹i møc board nh»m ®Ó ®¶m b¶o r»ng thiÕt kÕ
thùc hiÖn ®óng theo dù ®Þnh vµ chóng ®−îc tÝch hîp víi phÇn cßn l¹i cña hÖ thèng.
C¸c c«ng cô nµy bao gåm :
- IBIS Models
- Tau
- BLAST
- Stamp Models
- Impact
2.2.3. Lâi së h÷u trÝ tuÖ cña Xilinx ( IP_Core ):
C¸c Website cña Xilinx cã mét c¬ së d÷ liÖu tæng hîp cña tÊt c¶ c¸c lâi logic
(Logic Core) mµ c¸c lâi nµy ®· ®−îc kiÓm tra vµ ch¹y thö . B¹n cã thÓ tham kh¶o t¹i
trang Web trung t©m së h÷u trÝ tuÖ IP (Intellectual Property ) www.Xilinx.com/ipcenter.
C«ng cô CORE Generator tõ Xilinx ®−a ra c¸c lâi logic ®−îc tèi −u ho¸ cao,
Nã ®−îc viÕt theo môc tiªu khèi chøc n¨ng vµ nã t−¬ng thÝch víi c¸c ph−¬ng ph¸p
thiÕt kÕ tiªu chuÈn cho Xilinx FPGA. C«ng cô nµy rÊt dÔ sö dông vµ ®Æc biÖt lµ nã
®−îc øng dông nhiÒu trong ph−¬ng ph¸p thiÕt kÕ theo m« h×nh (MBD) mµ chóng ta
sÏ ®Ò cËp ®Õn ë c¸c ch−¬ng sau.
2.2.4. Giíi thiÖu ng«n ng÷ VHDL
2.2.4.1. Giíi thiÖu chung:
VHDL (VHSIC Hardware Description Laguage) lµ mét ng«n ng÷ ®−îc dïng
®Ó m« t¶ c¸c hÖ thèng ®iÖn tö sè. Nã ®−îc ch−¬ng tr×nh quèc gia vÒ c¸c m¹ch tÝch
hîp tèc ®é rÊt cao - VHSIC (Very High Speed Integrated Circuits) do chÝnh phñ Mü
khëi x−íng vµo ®Çu nh÷ng n¨m 1980. C¸c c«ng ty tham gia ch−¬ng tr×nh VHSIC
nhËn thÊy r»ng hä cÇn ph¶i cã mét c«ng cô nµo ®ã ®Ó thiÕt kÕ c¸c gi¶n ®å ®Çu vµo
cho c¸c IC chuyªn dông cì lín, vµ hä ®· ®Ò xuÊt viÖc lËp ra mét ng«n ng÷ m« t¶
phÇn cøng dïng ®Ó m« t¶ cÊu tróc vµ chøc n¨ng cña c¸c m¹ch tÝch hîp (cßn ®−îc
gäi lµ IC - Integrated Circuits).
KÓ tõ ®ã, VHDL ra ®êi vµ ®−îc ph¸t triÓn, råi sau ®ã ®−îc HiÖp héi c¸c kü s−
§iÖn vµ §iÖn tö - IEEE (Institude of Electrical and Electronic Engineers) chÊp nhËn
56
coi nh− lµ tiªu chuÈn t¹i Mü. Phiªn b¶n ®Çu tiªn lµ Tiªu chuÈn IEEE 1076-1987 (cßn
®−îc gäi lµ VHDL-87). Phiªn b¶n nµy ®−îc bæ sung söa ®æi n¨m 1993 thµnh IEEE
1076-1993 (cßn ®−îc gäi lµ VHDL-93).
* M« t¶ cÊu tróc
Mét hÖ thèng ®iÖn tö sè cã thÓ ®−îc m« t¶ thµnh c¸c khèi - cßn gäi lµ module
víi c¸c ®Çu vµo vµ ®Çu ra. C¸c gi¸ trÞ ®iÖn ë ®Çu ra cã mèi quan hÖ víi c¸c gi¸ trÞ
trªn c¸c ®Çu vµo. H×nh 2.16a biÓu diÔn mét vÝ dô nh− vËy. Khèi F cã hai ®Çu vµo A
vµ B, vµ cã mét ®Çu ra Y.
Sö dông ng«n ng÷ VHDL ®Ó m« t¶ khèi F, th× ta gäi khèi F lµ mét thùc thÓ
(entity) thiÕt kÕ, vµ c¸c ®Çu vµo vµ ®Çu ra lµ c¸c cæng (port).
Cã mét c¸ch ®Ó m« t¶ chøc n¨ng cña khèi F, ®ã lµ chóng ta m« t¶ c¸c khèi con
(sub-module) thµnh phÇn cña nã. Mçi mét khèi con ®−îc gäi lµ mét tËp hîp
(instance) cña mét sè thùc thÓ, vµ c¸c cæng cña c¸c tËp hîp ®ã ®−îc nèi l¹i b»ng c¸c
®−êng tÝn hiÖu (signal).
H×nh 2.16b m« t¶ khèi F lµ mét tËp hîp gåm c¸c thùc thÓ G, H vµ I. KiÓu m«
t¶ nµy ®−îc gäi lµ m« t¶ cÊu tróc (structural). C¸c thùc thÓ G, H vµ I còng ®−îc m«
t¶ theo cÊu tróc t−¬ng tù nh− vËy.
H×nh 2.16 S¬ ®å khèi mét module
(a) Khèi F cã hai ®Çu vµo vµ mét ®Çu ra; (b) Khèi F gåm cã 3 thùc thÓ G, H, I
* M« t¶ ho¹t ®éng
Trong nhiÒu tr−êng hîp, viÖc m« t¶ cÊu tróc kh«ng t−¬ng øng víi viÖc m« t¶
ho¹t ®éng. Ng−êi ta th−êng dïng c¸ch m« t¶ ho¹t ®éng theo kiÓu tõ d−íi lªn dùa
vµo m« t¶ cÊu tróc. VÝ dô, khi chóng ta thiÕt kÕ hÖ thèng ®iÖn tö th× kh«ng cÇn ph¶i
57
m« t¶ cô thÓ cÊu tróc bªn trong cña tõng con IC mµ chØ cÇn m« t¶ theo chøc n¨ng
cña c¸c khèi cña hÖ thèng mµ th«i. Tr−êng hîp nµy ®−îc gäi lµ m« t¶ chøc n¨ng
(fuctional) hoÆc m« t¶ ho¹t ®éng (behavioural).
§Ó minh ho¹ cho ®iÒu nµy, chóng ta gi¶ sö r»ng chøc n¨ng cña thùc thÓ F
trong H×nh 2.16a lµ mét m¹ch OR ®¶o. Khi m« t¶ ho¹t ®éng cña F ta cã thÓ biÕn®æi
theo ®¹i sè Boolean nh− sau:
BABAY .. +=
§èi víi c¸c m¹ch cã chøc n¨ng ho¹t ®éng phøc t¹p h¬n, th× kh«ng thÓ biÓn
diÔn theo c¸c chøc n¨ng ®Çu vµo ®−îc. Trong c¸c hÖ thèng cã ph¶n håi ng−îc, ®Çu
ra th−êng lµ c¸c hµm chøc n¨ng theo thêi gian. Ng«n ng÷ VHDL cho phÐp gi¶i
quyÕt vÊn ®Ò nµy b»ng c¸ch m« t¶ ho¹t ®éng theo khu«n d¹ng ch−¬ng tr×nh lËp
tr×nh.
* M« t¶ sù kiÖn rêi r¹c theo thêi gian
Khi chøc n¨ng ho¹t ®éng vµ cÊu tróc cña khèi ®· ®−îc chØ ®Þnh râ, th× ng−êi ta
cã thÓ m« pháng khèi b»ng c¸ch kÝch ho¹t theo m« t¶ ho¹t ®éng cña nã. §iÒu nµy
cã thÓ thùc hiÖn ®−îc b»ng c¸ch m« pháng qu¸ tr×nh ho¹t ®éng ®· ®−îc rêi r¹c
thµnh c¸c b−íc theo thêi gian. T¹i mét vµi thêi ®iÓm m« pháng, khèi ®Çu vµo ®−îc
kÝch ho¹t b»ng c¸ch thay ®æi gi¸ trÞ trªn cæng ®Çu vµo. Khèi nµy ph¶n øng l¹i b»ng
c¸ch thùc hiÖn m· lÖnh theo m« t¶ ho¹t ®éng cña nã ®· ®−îc g¸n vµ t¹o ra c¸c gi¸ trÞ
míi ®−a ®Õn ®−êng tÝn hiÖu ®Ó göi tíi c¸c cæng ®Çu ra cña nã t¹i c¸c thêi ®iÓm m«
pháng tiÕp theo sau. ViÖc nµy ®−îc gäi lµ kÕ ho¹ch giao t¸c (scheluding a
transaction) trªn tÝn hiÖu ®ã. NÕu gi¸ trÞ míi kh¸c gi¸ trÞ tr−íc ®ã ®· cã trªn ®−êng
tÝn hiÖu, th× sÏ cã mét sù kiÖn (event) x¶y ra, vµ c¸c khèi kh¸c víi c¸c ®Çu vµo ®·
®−îc kÕt nèi víi ®−êng tÝn hiÖu ®ã cã thÓ sÏ ®−îc kÝch ho¹t.
Qu¸ tr×nh m« pháng b¾t ®Çu víi mét pha ®−îc gäi lµ pha khëi ®éng
(initialisatoin phase), vµ sau ®ã c¸c qu¸ tr×nh ®−îc thùc hiÖn lÆp l¹i hai giai ®o¹n
trong mét chu kú m« pháng (simulation cycle). Trong pha khëi ®éng, tÊt c¶ c¸c tÝn
hiÖu ®−îc cung cÊp s½n c¸c gi¸ trÞ khëi ®éng, thêi gian m« pháng ®−îc ®−a vÒ 0, vµ
mçi mét ch−¬ng tr×nh ho¹t ®éng cña mét khèi ®−îc kÝch ho¹t.
Trong giai ®o¹n ®Çu tiªn cña chu kú m« pháng, thêi gian m« pháng ®−îc n©ng
58
lªn thµnh thêi gian sím nhÊt t¹i thêi ®iÓm mµ giao t¸c ®· ®−îc thùc hiÖn. TÊt c¶ c¸c
giao t¸c ®−îc ®−a vµo t¹i thêi ®iÓm nµy ®Òu ®−îc kÝch ho¹t, vµ ®iÒu nµy cã thÓ g©y
ra mét sè sù kiÖn nµo ®ã.
Trong gian ®o¹n thø hai cña chu kú m« pháng, tÊt c¶ c¸c khèi ph¶n øng l¹i ®èi
víi c¸c sù kiÖn võa x¶y ra trong giai ®o¹n mét sÏ kÝch ho¹t ch−¬ng tr×nh ho¹t ®éng
cña chóng. C¸c ch−¬ng tr×nh ®ã th−êng lµ kÕ ho¹ch giao t¸c trªn c¸c tÝn hiÖu ®Çu ra
cña chóng. Khi tÊt c¶ c¸c ch−¬ng tr×nh kÕt thóc ho¹t ®éng, chu kú m« pháng ®−îc
lÆp l¹i. NÕu kh«ng cã thªm giao t¸c nµo th× qu¸ tr×nh m« pháng ®· hoµn thµnh.
Môc ®Ých cña viÖc m« pháng lµ ®Ó biÕt thªm th«ng tin vÒ sù thay ®æi trong hÖ
thèng t¹i tõng thêi ®iÓm. ViÖc nµy cã thÓ thùc hiÖn ®−îc gi¸m s¸t bëi ch−¬ng tr×nh
gi¸m s¸t m« pháng (simulation monitor). Ch−¬ng tr×nh nµy nh»m môc ®Ých ghi l¹i
qu¸ tr×nh ho¹t ®éng theo tõng thêi ®iÓm t¹i c¸c ®iÓm ®Ó dïng vµo viÖc ph©n tÝch vÒ
sau.
2.2.4.2. Có ph¸p vµ ng÷ nghÜa:
Nh− vÊn ®Ò ®· ®Ò cËp trong môc d1, ho¹t ®éng cña mét module cã thÓ ®−îc
m« t¶ theo d¹ng ng«n ng÷ lËp tr×nh. Trong môc d.2 nµy sÏ giíi thiÖu vÒ có ph¸p vµ
ng÷ nghÜa cña c¸c kh¸i b¸o trong ng«n ng÷ VHDL.
* C¸c biÓu thøc vµ to¸n tö
C¸c biÓu thøc trong VHDL hoµn toµn t−¬ng tù nh− c¸c biÓu thøc trong c¸c
ng«n ng÷ lËp tr×nh kh¸c. Mét biÓu thøc lµ mét c«ng thøc kÕt hîp c¸c ®a thøc víi c¸c
to¸n tö. C¸c ®a thøc bao gåm tªn c¸c ®èi sè, ký hiÖu b»ng ch÷, c¸c hµm gäi vµ c¸c
dÊu ngoÆc cña biÓu thøc. C¸c to¸n tö ®−îc liÖt kª trong B¶ng 2.2.1 theo thø tù −u
tiªn.
B¶ng 2.3. C¸c to¸n tö vµ thø tù −u tiªn
¦u tiªn cao nhÊt: **; abs; not;
¦u tiªn gi¶m dÇn *; /; mod; rem;
¦u tiªn gi¶m dÇn + (sign); - (sign)
¦u tiªn gi¶m dÇn +; -; &;
¦u tiªn gi¶m dÇn =; /=; ; >=;
¦u tiªn thÊp nhÊt: And; or; nand; nor; xor;
C¸c to¸n tö logic and, or, nand, nor, xor vµ not ho¹t ®éng trªn c¸c gi¸ trÞ kiÓu
59
bit hoÆc lµ boolean, vµ trªn c¸c m¶ng 1 chiÒu cña c¸c kiÓu ®ã. §èi víi c¸c to¸n h¹ng
m¶ng (array), sù ho¹t ®éng tu©n theo c¸c phÇn tö t−¬ng øng cña tõng m¶ng, th−êng
®é lín cña m¶ng cã cïng ®é lín víi kÕt qu¶. §èi víi c¸c to¸n h¹ng bit vµ boolean,
c¸c to¸n tö and, or, nand vµ nor lµ c¸c to¸n tö “ng¾n m¹ch” (short-circuit), do chóng
chØ −u tiªn h¬n so víi to¸n h¹ng bªn ph¶i cña chóng nÕu to¸n h¹ng bªn tr¸i kh«ng
x¸c ®Þnh ®−îc kÕt qu¶. Do and vµ nand chØ −u tiªn h¬n so víi to¸n h¹ng bªn ph¶i
nÕu to¸n h¹ng bªn tr¸i lµ “true” hoÆc “1”, cßn or vµ nor chØ −u tiªn h¬n to¸n h¹ng
bªn ph¶i nÕu to¸n h¹ng bªn tr¸i lµ “false” hoÆc “0”.
C¸c to¸n tö quan hÖ =, /=, vµ >= ph¶i cã c¸c to¸n h¹ng ë hai ®Çu cïng
kiÓu, vµ th−êng cho c¸c kÕt qu¶ theo kiÓu boolean. C¸c to¸n tö b»ng (= vµ /=) cã thÓ
cã c¸c to¸n h¹ng theo bÊt kú kiÓu nµo. §èi víi c¸c to¸n tö so s¸nh, hai gi¸ trÞ b»ng
nhau nÕu tÊt c¶ c¸c phÇn tö t−¬ng øng cña chóng b»ng nhau. C¸c to¸n tö dÊu (+, -),
c¸c to¸n tö céng (+) vµ trõ (-) cã c¸ch sö dông cña chóng trªn c¸c to¸n h¹ng d¹ng
sè. To¸n tö kÕt nèi (&) lµm viÖc trªn c¸c m¶ng mét chiÒu thµnh d¹ng mét m¶ng míi
víi néi dung cña to¸n h¹ng bªn ph¶i kÕ tiÕp to¸n h¹ng tr¸i. Nã cã thÓ mãc nèi mét
phÇn tö ®¬n vµo mét m¶ng hoÆc hai phÇn tö ®éc lËp ®Ó thµnh mét m¶ng míi.
C¸c to¸n tö nh©n (*) vµ chia (/) lµm viÖc víi c¸c sè nguyªn, sè dÊu phÈy ®éng
vµ c¸c kiÓu ®¬n vÞ vËt lý. C¸c to¸n tö chia lÊy phÇn nguyªn (mod- modulus) vµ chia
lÊy phÇn d− (rem - remainder) chØ lµm viÖc víi kiÓu sè nguyªn. To¸n tö gi¸ trÞ tuyÖt
®èi (abs) chØ lµm viÖc víi bÊt kú kiÓu sè nµo. Cuèi cïng to¸n tö mò (**) cã thÓ lµm
viÖc víi kiÓu sè nguyªn vµ to¸n h¹ng tr¸i cña kiÓu sè dÊu phÈy ®éng, nh−ng ph¶i cã
mét sè nguyªn ë to¸n h¹ng ph¶i, cßn to¸n h¹ng ph¶i mµ cã gi¸ trÞ ©m chØ ®−îc phÐp
nÕu to¸n h¹ng tr¸i lµ mét sè dÊu phÈy ®éng d¹ng sè.
* C¸c khai b¸o tuÇn tù
VHDL cung cÊp mét c«ng cô hiÖu qu¶ cho viÖc kiÓm tra tr¹ng th¸i cña c¸c ®èi
t−îng vµ ®iÒu khiÓn luång ho¹t ®éng cña c¸c m« h×nh – ®ã lµ c¸c phÐp g¸n.
1. PhÐp g¸n biÕn
Nh− c¸c ng«n ng÷ lËp tr×nh kh¸c, mét biÕn ®−îc g¸n mét gi¸ trÞ míi b»ng c¸ch
sö dông phÐp khai b¸o g¸n.
Khai b¸o biÕn trong process cã ph¹m vi chØ trong process ®ã. BiÕn cã thÓ khai
60
b¸o trong ch−¬ng tr×nh con. Khai b¸o biÕn bªn ngoµi process hoÆc ch−¬ng tr×nh con
th× gäi lµ shared variable. C¸c biÕn nµy cã thÓ cËp nhËt vµ ®äc nhiÒu process.
L−u ý tÝn hiÖu kh«ng ®−îc khai b¸o trong process. C¸c ph¸t biÓu g¸n tÝn hiÖu
xuÊt hiÖn trong process ®−îc gäi lµ ph¸t biÓu g¸n tÝn hiÖu tuÇn tù, kÓ c¶ ph¸t biÓu
g¸n biÕn, thùc hiÖn tuÇn tù ®éc lËp víi viÖc xuÊt hiÖn c¸c sù kiÖn trªn mçi tÝn hiÖu
trong biÓu thøc bªn ph¶i, kh¸c víi viÖc thùc thi cña c¸c ph¸t biÓu g¸n tÝn hiÖu ®ång
thêi trong phÇn tr−íc.
Khai b¸o biÕn (b¾t ®Çu b»ng tõ variable) khai b¸o biÕn kh¸c víi tÝn hiÖu lµ nã
lu«n ®−îc g¸n gi¸ trÞ ngay tøc kh¾c vµ phÐp g¸n tÝn hiÖu lµ := tæ hîp ký hiÖu, nã
®−îc g¸n gi¸ trÞ sau kho¶ng delay ( x¸c ®Þnh do ng−êi sö dông hoÆc mÆc nhiªn lµ
kho¶ng delta) vµ phÐp g¸n ®iÒu khiÓn viÖc g¸n gi¸ trÞ cho biÕn <= tæ hîp symbol.
Có ph¸p lµ:
khai b¸o g¸n biÕn : ®Ých := biÓu thøc;
Trong tr−êng hîp ®¬n gi¶n nhÊt, ®Ých cña phÐp g¸n lµ mét tªn ®èi t−îng, vµ gi¸ trÞ
cña biÓu thøc ®−îc g¸n theo tªn ®èi t−îng. §èi t−îng vµ gi¸ trÞ ph¶i cã cïng mét
kiÓu.
2. Khai b¸o If (nÕu)
Khai b¸o If cho phÐp lùa chän c¸c khai b¸o ®Ó kÝch ho¹t, phô thuéc vµo mét
hoÆc nhiÒu ®iÒu kiÖn. Có ph¸p nh− sau:
khai b¸o if :
if ®iÒu kiÖn then
chuçi c¸c khai b¸o
{ elsif ®iÒu kiÖn then
chuçi c¸c khai b¸o
[ else
chuçi c¸c khai b¸o }
end if;
C¸c ®iÒu kiÖn lµ c¸c biÓu thøc tr¶ vÒ gi¸ trÞ boolean. C¸c ®iÒu kiÖn ®−îc ®¸nh
gi¸ lµ ®óng khi cã mét gi¸ trÞ ®−îc tr¶ vÒ “true”. Ng−îc l¹i th× mÖnh ®Ò else ®−îc
thùc hiÖn, vµ khai b¸o cña nã ®−îc kÝch ho¹t.
61
3. Khai b¸o Case
D¹ng cña ph¸t biÓu case lµ:
case expression is
when choices=> sequential -statement –branch 1#
when choices=> sequential -statement –branch 2#
--cã thÓ cã nhiÒu nh¸nh
{when others=> sequential-statement}—last branch
end case;
Ph¸t biÓu case lùa chän mét trong nh÷ng nh¸nh cho viÖc thùc thi dùa trªn gi¸
trÞ cña biÓu thøc. Gi¸ trÞ biÓu thøc ph¶i thuéc kiÓu trõu t−îng hoÆc kiÓu m¶ng mét
chiÒu. Sù chän lùa cã thÓ ®−îc thÓ hiÖn nh− gi¸ trÞ ®¬n, vïng gi¸ trÞ bëi viÖc sö dông
dÊu | hoÆc sö dông mÖnh ®Ò kh¸c. TÊt c¶ c¸c gi¸ trÞ cã thÓ cã cña biÓu thøc ph¶i
®−îc thÓ hiÖn trong ph¸t biÓu case ®óng 1 lÇn. C¸c mÖnh ®Ò kh¸c cã thÓ ®−îc sö
dông ®Ó bao qu¸t tÊt c¶ c¸c gi¸ trÞ, vµ nÕu cã, ph¶i lµ nh¸nh cuèi cïng trong ph¸t
biÓu case.
4. C¸c khai b¸o vßng lÆp
VHDL cung cÊp kiÓu khai b¸o vßng lÆp c¬ b¶n cã thÓ sö dông c¸c vßng lÆp
while
Các file đính kèm theo tài liệu này:
- lv_sonsua.pdf