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

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

pdf132 trang | Chia sẻ: lethao | Lượt xem: 1897 | Lượt tải: 5download
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:

  • pdflv_sonsua.pdf