Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
251,68 KB
Nội dung
I H C QU C GIA HÀ N I TR NGă I H C CÔNG NGH Tr n Hi u NGHIÊN C U, THI T K VI X LÝ BÍT D A TRÊN CÔNG NGH FPGA LU NăV NăTH CăS Hà N i - 2008 I H C QU C GIA HÀ N I TR NGă I H C CÔNG NGH Tr n Hi u NGHIÊN C U, THI T K VI X LÝ BÍT D A TRÊN CÔNG NGH FPGA Ngành: Công ngh i n t - Vi n thông Chuyênăngành:ăK ăthu tă i n t Mã s : 60 52 70 LU NăV NăTH CăS Ng iăh ng d n khoa h c: PSG.TS Tr n Quang Vinh Hà N i - 2008 L i c mă n có th hoàn thành t t lu năv nănày,ătôiăxinăđ c bày t s bi tă năt i PGS.TS Tr n QuangăVinhăđãăh ng d n, ch b o t n tình dành th iăgianăquýăbáuăgiúpăđ hoàn thành lu năv n Xinăđ c g i l i c mă năt i cán b phòng thí nghi măSISăđãăgiúpăđ cho nh ng kinh nghi m quý báu làm th c nhi m Tôiăc ngăxinăđ c g i l i c mă năt iăgiaăđình,ăc ăquanăvàăb năbèăđãăluônăbênătôi,ăh tr , giúpăđ su t trình h c t păc ngănh ăquáătrìnhălàm lu năv n M CL C DANH M C B NG DANH M C HÌNH V L I NÓI CH U NG T NG QUAN V FPGA 10 1.1 Gi i thi u chung 10 1.2 T ng quan v thi t b logic kh trình ậ PLD 10 1.3 Thi t b logic kh trìnhăđ năgi n ậ Simple PLD Error! Bookmark not defined 1.4 Thi t b logic kh trình ph c t p ậ Complex PLD Error! Bookmark not defined 1.5 FPGA ậ Field Programmable Gate Arrays Error! Bookmark not defined CH NG THI T K T P L NH ERROR! BOOKMARK NOT DEFINED 2.1 Mô t chung v t p l nh Error! Bookmark not defined 2.2 Thi t k chi ti t t p l nh Error! Bookmark not defined CH NG THI T K KI N TRÚC VI X LÍ ERROR! BOOKMARK NOT DEFINED 3.1 Gi i thi u Error! Bookmark not defined 3.2 Thi t k datapathăvàăđi u n cho RICS Error! Bookmark not defined 3.4 Xây d ngămoduleăđi u n Error! Bookmark not defined 3.5 T ch c b nh Error! Bookmark not defined CH NG 4: THI T K TESTBENCH VÀ PH NG PHÁP MÔ PH NG TRÊN MODELSIM ERROR! BOOKMARK NOT DEFINED 4.1 Gi i thi u Error! Bookmark not defined 4.2 Thi t k h mô ph ng Error! Bookmark not defined 4.3 Mô ph ngăđ ki m tra thi t k Error! Bookmark not defined CH NG 5: THI T K CHI TI T CH C N NG C A VI I U KHI N VÀ MÔ PH NG TRÊN MODELSIM ERROR! BOOKMARK NOT DEFINED 5.1 Gi i thi u chung Error! Bookmark not defined 5.2 Thi t k mô ph ng ch ngăc aăcácămoduleăc ăb n vi x lý Error! Bookmark not defined 5.3 Thi t k b mô ph ng h th ng t đ ng Error! Bookmark not defined 5.4 Mô ph ngăviăđi u n th c hi n m tăđo năch ngătrìnhăđ năgi n, ki m tra ch ngăcácămoduleă trongăviăđi u n Error! Bookmark not defined CH NG TRI N KHAI TRÊN KÍT DE2 VÀ M T BOOKMARK NOT DEFINED NG D NG N GI N ERROR! 6.1 T ng quan v Kit DE2 Error! Bookmark not defined 6.2 Tri n khai ch y th kít DE2 Error! Bookmark not defined 6.3 M t ng d ng nh s d ngăviăđi u n bít Error! Bookmark not defined K T LU N ERROR! BOOKMARK NOT DEFINED TÀI LI U THAM KH O 11 Ph l că1:ăCácăch ngătrìnhătestăbenchădùngăđ mô ph ng ki m tra ch ngăc aăviăđi u n Error! Bookmark not defined Ph l c Mã ngu n Verilog c aănhânăviăđi u n Error! Bookmark not defined DANH M C B NG B ng - 1: Tóm t t v thi t b PLD Error! Bookmark not defined B ng - Altera CPLD Error! Bookmark not defined B ng - Xilinx CPLD Error! Bookmark not defined B ng 2- 1: Các l nh h ng byte c a vi u n Error! Bookmark not defined B ng 2- 2: Các l nh h ng bít c a vi u n Error! Bookmark not defined B ng 2- 3: Các l nh r nhánh c a vi u n Error! Bookmark not defined B ng - 1: Các ghi ch c n ng đ c bi t Error! Bookmark not defined B ng - 2: Thanh ghi tr ng thái c a vi u n Error! Bookmark not defined B ng - 1: L i vào u n c a ALU Error! Bookmark not defined B ng - 2: Mã ngu n ch ng trình đ c mô ph ng Error! Bookmark not defined B ng - 3: Các testbench đ c dùng đ mô ph ng ki m tra ch c n ng c a vi u n Error! Bookmark not defined DANH M C HÌNH V Hình - C u trúc m t thi t b PAL Error! Bookmark not defined Hình - C u trúc m t thi t b PLA Error! Bookmark not defined Hình - 3: C u trúc chip GAL 16V8 Error! Bookmark not defined Hình - 4: C u trúc chung c a m t CPLD Error! Bookmark not defined Hình - C u trúc CPLD XC9500 c a Xilinx Error! Bookmark not defined Hình - 6: C u trúc chung c a FPGA Error! Bookmark not defined Hình - 7: C u trúc m t CLB FPGA h XC40000E Error! Bookmark not defined Hình - 8: C u trúc m t Logic Cell Spartan-IIE Error! Bookmark not defined Hình - C u trúc IOB Spartan-IIE Error! Bookmark not defined Hình - 10: Liên k t m t chuy n m ch Error! Bookmark not defined Hình - 11 M ng liên k t gi a CLB Error! Bookmark not defined Hình - 12 Các k t n i tr c ti p gi a kh i FPGA Error! Bookmark not defined Hình - 13 FPGA Spartan IIE c a Xilinx Error! Bookmark not defined Hình 2- 1: Hình 2- nh d ng l nh h nh d ng l nh h ng byte Error! Bookmark not defined ng bít Error! Bookmark not defined Hình 2- 3: nh d ng l nh r nhánh Error! Bookmark not defined Hình 2- 4: nh d ng c a l nh goto Error! Bookmark not defined Hình 3- 1: M t datapath đ n gi n mô đun u n t defined ng ng Error! Bookmark not Hình 3- 2: T ng quan v ki n trúc c a vi u n Error! Bookmark not defined Hình 3- 3: Mô hình u n datapath Error! Bookmark not defined Hình 3- 4: B nh ch ng trình, PC module tính PC+1 đ c k t n i v i t o thành datapath đ n gi n Error! Bookmark not defined Hình 3- 5: T p ghi (register file) Error! Bookmark not defined Hình 3- 6: B logic s h c ALU Error! Bookmark not defined Hình 3- 7: K t n i b logic s h c v i register file Error! Bookmark not defined Hình 3- 8: Datapath đ n gi n sau k t n i thành ph n c a vi u n v i Error! Bookmark not defined Hình 3- 9: Datapath c a vi u n sau đ c thêm vào ghi pipeline đ có th th c hi n đ c k thu t x lý đ ng ng Error! Bookmark not defined Hình 3- 10: Tr ng thái c a datapath th c hi n pha đ u tiên, tìm n p l nh Error! Bookmark not defined Hình 3- 11: Tr ng thái c a datapath th c hi n b c gi i mã l nh đ c d li u t register file Error! Bookmark not defined Hình 3- 12: Tr ng thái c a datapath th c hi n b defined c th c thi l nh Error! Bookmark not Hình 3- 13: Datapath sau thêm kh i u n Error! Bookmark not defined Hình 3- 14: T ch c b nh ch ng trình c a vi u n Error! Bookmark not defined Hình 3- 15: Ti n trình th c hi n l nh GOTO Error! Bookmark not defined Hình 3- 16: Ti n trình th c hi n l nh CALL Error! Bookmark not defined Hình 3- 17: T ch c b nh d li u, bao g m c ghi ch c n ng đ c bi t ghi ch c n ng chung Error! Bookmark not defined Hình 3- 18: S đ ki n trúc c a vi x lý Error! Bookmark not defined Hình - Môi tr ng đ ng mô ph ng đ ng nh t Error! Bookmark not defined Hình - Môi tr ng đ ng mô ph ng không đ ng nh t Error! Bookmark not defined Hình - 1: B lô gic s h c ALU Error! Bookmark not defined Hình - MUX l a ch n l i vào cho S1 c a b ALU Error! Bookmark not defined Hình - 3: B nh RAM single port đ defined Hình - 4: S đ kh i c a b nh ch c dùng làm b nh ch ng trình Error! Bookmark not ng trình Error! Bookmark not defined Hình - 5: S đ kh i c a b chia t n s Error! Bookmark not defined Hình - 6: S đ kh i c a b nh ch Hình - 7: IP core đ ng trình Error! Bookmark not defined c dùng đ làm b nh ch ng trình Error! Bookmark not defined Hình - 8: S đ bên c a register file Error! Bookmark not defined Hình - 9: B nh Stack Error! Bookmark not defined Hình - 10: K t qu mô ph ng PC b nh ch not defined ng trình c a vi u n Error! Bookmark Hình - 11: K t qu mô ph ng kh i ALU Error! Bookmark not defined Hình - 12: K t qu mô ph ng register file Error! Bookmark not defined Hình - S đ thành ph n kít phát tri n DE2 Error! Bookmark not defined Hình - 2: L u đ thu t toán th c hi n ch y ch LCD Error! Bookmark not defined L I NÓI U V iăxuăh ng phát tri n r t nhanh c a b vi x lýăc ngănh ăyêuăc u ngày cao c aăng i dùng, vi c phát tri n m t m t b vi x lý v i t căđ tính toán th t m nh đãă vàăđangălàăyêu c u kh n thi tăđ i v i nh ng nhà phát tri n công ngh Vi c thi t k b vi x lý có kh n ngătínhătoánăcaoăkhôngăcònălàăm t v năđ m i m th gi i,ănh ngă v i Vi t Nam v nă đòiăh i ph iăv t qua nh ngăkhóăkh nănh tă đ nh Trong lu năv nă tác gi tham v ng thi t k m t b vi x lý có kh n ngătínhătoánăcaoămàăch y u t p trung vào phân tích ki n trúc thi t k m t vi x lýăđ năgi n M căđíchăchínhă c a tác gi n măđ c ki n trúc, quy trình thi t k , tri n khai ki măđ nh m t vi x lý Trênăc ăs đóătácăgi s m r ng, c i ti n m tăvàiămôăđun,ăch ngăc a vi x lýăđ nâng cao d n hi u su t tính toán c a vi x lý K t qu c a lu năv năs ti năđ đ tác gi có th phát tri n nh ng vi x lý m i có t căđ x lýăcaoăh n Lu năv n s b tăđ u v i vi c tìm hi u v xuăh ngăc ngănh ănh ng lo i thi t b lôgic l pătrìnhăđ c hi n nay, tìm hi u, thi t k t p l nh, datapath b u n cho m t vi x lý bítăđ năgi n d a ki n trúc RISC v i 33 l nh t p l nh, ti n hành tri n khai b ng ngôn ng Verilog mô ph ng ki m tra ch ngăc a vi x lý b ng ph n m m ModelSim M că đíchăchínhăc a ph nă đ u hi u v quy trình thi t k xây d ngămôiătr ng phát tri n Sauăđóătácăgi s c i ti n d n vi x lýăđ có th có kh n ngă tính toán t tăh n,ănh ăápăd ngăk ăthu tăđ ng ng pipeline, nângăđ sâu c a b nh stack, m r ng không gian nh c a b nh ch ngă trìnhă vàă b nh d li uă dùngă k ă thu t banking Cu i th c hi n t ng h p thi t k kít FPGA DE2 c a Altera ch y th cácăch ngătrìnhănh Ph n cu i tác gi s trình bày v m t ng d ng nh s d ng viă u n v aă đ c thi t k K t qu cho th y,ă viă u n có th th c hi nă đúngă đ c nh ng ch ngăc ăb n Ch ng T NG QUAN V FPGA 1.1 Gi i thi u chung Ngày vi c s d ng m t h FPGAăđangălàăm tăđ tài r tăđ gi i, s d ănh ăv yălàădoăcácălýădoăc ăb n sau: c quan tâm th - Do s phát tri n r t nhanh c a công ngh bán d n, giá thành c a chip FPGA ngày r - Vi c s d ngă chipăFPGAăđ phát tri n s n ph m s rút ng nă đ c r t nhi u th i gian thi t k c ngănh ăth iăgianăđ aăs n ph n th tr ng so v i m t s ph ngă pháp thi t k truy n th ngănh ăASIC - S d ng công ngh FPGAăđ verification m t thi t k ASICăc ngă rútăng năđ c r t nhi u th iă giană simulationă c ngă nh ă gi mă đ c nhi u giá thành công s c thi t k D iăđâyătrìnhăbàyăs ăl c v thi t b logic kh trình c ngănh quy trình thi t k d a công ngh FPGA, s d tác gi ch t p trung vào gi i thi u quy trình thi t k d a công ngh FPGA tác gi s s d ng chip FPGA c aă Alteraă đ th Prototype thi t k c a tác gi Ph năđ u tiên c a ch ngănàyăs gi i thi u v thi t b PLD: khái ni m PLD, trình phát tri n c a thi t b PLD, c u trúc c a m t vài lo i thi t b PLD FPGA, công ngh ch t oăc ngănh ătínhăn ngăvàă ng d ng 1.2 T ng quan v thi t b logic kh trình – PLD Field Programmable Device (FPD) ậ M t thu t ng chungă đ ch b t c lo i m ch tích h pănàoăđ c s d ngăđ th c thi m t ph n c ng s , mà đóăconăchipăcóăth đ c c u hình l i b iăng i dùng cu i nh măthuăđ c m t thi t k m i.ăNg i dùng có th c u hình l i cho thi t b t iăn iăthi t b đ c s d ng mà không c năđemăthi t b cho nhà s n xu t th c hi n vi c c u hình L p trình cho thi t b bao g m vi căđ aă chip vào m t thi t b l pătrìnhăđ c bi t (n p c uăhình),ănh ngăm t s khác có th c u hình h th ng (ISP ậ In System Programming) M t tên g i khác c a FPD Programmable Logic Devices (PLD) Sauă đâyă taă s điă tìmă hi u k h nă v thi t b PLDs c th PLD ậ Programable Logic Device thi t b logic s l pătrìnhăđ c,ăPLDăđ c đ aăraăgi i thi u vào kho ng gi a th p k 70, b t ngu n t ýăt ng ch t o m t m ch logic t h p có kh n ngătáiăl p trình l i ph n c ng (kh trình), nh m ph c v cho vi c th nghi m, t o m u, phát tri n ng d ng, s n xu t quy mô nh TÀI LI U THAM KH O David A Patterson, John L Hennesly, Computer organization and design the hardware software interface 3rd 2004 David A Patterson, John L Hennesly, Computer Architecture a Quantiative Aprroach Thomasă&ăMoorby’săTheăverilog Hardware Discription Laguage, fifth edition Zainalabedin, Digital Design and Implimentation with Field Programable Devices Nicola Bombieri, Hardware Design and Simulation for Verification The 6th international school on Formal Methods for Design of Computer, Communication, and Software Systems, SFM 2006 Bertinolo, Italy, May, 2006 Volnei A Pedroni, Circuit Design with VHDL, MIT Press, 2004 Xilinx , MicroBlaze Processor reference guide www.microchip.com [43] Ghosh, S., Chakraborty, T.: On behavior fault modeling for digital design International Journal of Electronic Testing: Theory and application (1991) 10 http://www.opencores.org ...I H C QU C GIA HÀ N I TR NGă I H C CÔNG NGH Tr n Hi u NGHIÊN C U, THI T K VI X LÝ BÍT D A TRÊN CÔNG NGH FPGA Ngành: Công ngh i n t - Vi n thông Chuyênăngành:ăK ăthu tă i n t Mã s :... t vi x lý Trên c ăs đóătácăgi s m r ng, c i ti n m tăvàiămôăđun,ăch ngăc a vi x lý đ nâng cao d n hi u su t tính toán c a vi x lý K t qu c a lu năv năs ti năđ đ tác gi có th phát tri n nh ng vi. .. b vi x lý c ngănh ăyêuăc u ngày cao c aăng i dùng, vi c phát tri n m t m t b vi x lý v i t căđ tính toán th t m nh đãă vàăđangălàăyêu c u kh n thi tăđ i v i nh ng nhà phát tri n công ngh Vi