Tải bản đầy đủ (.pdf) (11 trang)

Nghiên cứu, thiết kế vi xử lý 8 bit dựa trên công nghệ FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (251.68 KB, 11 trang )

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Ý 8 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Ý 8 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 và dành th iăgianăquýăbáuăgiúpăđ tôi hoàn
thành lu năv n.
Xinăđ

c g i l i c mă năt i các cán b phòng thí nghi măSISăđãăgiúpăđ và cho tôi nh ng


kinh nghi m quý báu trong khi 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ăđ tôi trong su t quá 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 .......................................................................................................... 6
DANH M C HÌNH V ......................................................................................................7
L I NÓI
CH

U ................................................................................................................... 9

NG 1 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 2 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 3 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 khi n cho RICS............................................................ Error! Bookmark not defined.
3.4. Xây d ngămoduleăđi u khi 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 và mô ph ng ch căn ngăc aăcácămoduleăc ăb n trong 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 khi n th c hi n m tăđo năch ngătrìnhăđ năgi n, ki m tra ch căn ngăcácămoduleă
trongăviăđi u khi n. ......................................................................................................... Error! Bookmark not defined.

CH
NG 6 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 và ch y th trên kít DE2. ...................................................................... Error! Bookmark not defined.
6.3 M t ng d ng nh s d ngăviăđi u khi n 8 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 và ki m tra ch căn ngăc aăviăđi u khi n......... Error!
Bookmark not defined.
Ph l c 2. Mã ngu n Verilog c aănhânăviăđi u khi n. ................................................. Error! Bookmark not defined.


DANH M C B NG
B ng 1 - 1: Tóm t t v các thi t b PLD ............................. Error! Bookmark not defined.
B ng 1 - 2 Altera CPLD. .................................................... Error! Bookmark not defined.
B ng 1 - 3 Xilinx CPLD. ..................................................... Error! Bookmark not defined.
B ng 2- 1: Các l nh h


ng byte c a vi đi u khi n ............ Error! Bookmark not defined.

B ng 2- 2: Các l nh h

ng bít c a vi đi u khi n ............... Error! Bookmark not defined.

B ng 2- 3: Các l nh r nhánh c a vi đi u khi n ................ Error! Bookmark not defined.
B ng 3 - 1: Các thanh ghi ch c n ng đ c bi t ................... Error! Bookmark not defined.
B ng 3 - 2: Thanh ghi tr ng thái c a vi đi u khi n. .......... Error! Bookmark not defined.
B ng 5 - 1: L i vào đi u khi n c a ALU ............................ Error! Bookmark not defined.
B ng 5 - 2: Mã ngu n ch

ng trình đ

c mô ph ng. ........ Error! Bookmark not defined.

B ng 5 - 3: Các testbench đ c dùng đ mô ph ng và ki m tra ch c n ng c a vi đi u
khi n.................................................................................... Error! Bookmark not defined.


DANH M C HÌNH V
Hình 1 - 1 C u trúc m t thi t b PAL. ............................................ Error! Bookmark not defined.
Hình 1 - 2 C u trúc m t thi t b PLA. ............................................ Error! Bookmark not defined.
Hình 1 - 3: C u trúc chip GAL 16V8.............................................. Error! Bookmark not defined.
Hình 1 - 4: C u trúc chung c a m t CPLD. ................................... Error! Bookmark not defined.
Hình 1 - 5 C u trúc CPLD XC9500 c a Xilinx .............................. Error! Bookmark not defined.
Hình 1 - 6: C u trúc chung c a FPGA. .......................................... Error! Bookmark not defined.
Hình 1 - 7: C u trúc m t CLB trong FPGA h XC40000E ............ Error! Bookmark not defined.
Hình 1 - 8: C u trúc m t Logic Cell trong Spartan-IIE ................. Error! Bookmark not defined.

Hình 1 - 9 C u trúc IOB trong Spartan-IIE. .................................. Error! Bookmark not defined.
Hình 1 - 10: Liên k t trong m t chuy n m ch. ............................... Error! Bookmark not defined.
Hình 1 - 11 M ng liên k t gi a các CLB. ....................................... Error! Bookmark not defined.
Hình 1 - 12 Các k t n i tr c ti p gi a các kh i trong FPGA. ....... Error! Bookmark not defined.
Hình 1 - 13 FPGA Spartan IIE c a Xilinx...................................... Error! Bookmark not defined.
Hình 2- 1:
Hình 2- 2

nh d ng các l nh h
nh d ng các l nh h

ng byte .................................... Error! Bookmark not defined.
ng bít ........................................ Error! Bookmark not defined.

Hình 2- 3:

nh d ng các 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 và mô đun đi u khi n t
defined.

ng ng ........... Error! Bookmark not

Hình 3- 2: T ng quan v ki n trúc c a vi đi u khi n ..................... Error! Bookmark not defined.
Hình 3- 3: Mô hình đi u khi n datapath ........................................ Error! Bookmark not defined.
Hình 3- 4: B nh ch ng trình, PC và module tính PC+1 đ c k t n i v i nhau t o thành

datapath đ n gi n ........................................................................... Error! Bookmark not defined.
Hình 3- 5: T p thanh ghi (register file) .......................................... Error! Bookmark not defined.
Hình 3- 6: B logic và s h c ALU ................................................ Error! Bookmark not defined.
Hình 3- 7: K t n i b logic và s h c v i register file ................... Error! Bookmark not defined.
Hình 3- 8: Datapath đ n gi n sau khi đã k t n i các thành ph n c a vi đi u khi n v i nhau.
........................................................................................................ Error! Bookmark not defined.
Hình 3- 9: Datapath c a vi đi u khi n sau khi đã đ c thêm vào các thanh 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 khi th c hi n pha đ u tiên, tìm và n p l nh. ............... Error!
Bookmark not defined.


Hình 3- 11: Tr ng thái c a datapath khi th c hi n b c gi i mã l nh và đ c d li u t register
file. .................................................................................................. Error! Bookmark not defined.
Hình 3- 12: Tr ng thái c a datapath khi th c hi n b
defined.

c th c thi l nh. ...... Error! Bookmark not

Hình 3- 13: Datapath sau khi đã thêm kh i đi u khi n. ................. Error! Bookmark not defined.
Hình 3- 14: T ch c b nh ch

ng trình c a vi đi u khi 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 thanh ghi ch c n ng đ c bi t và thanh 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 4 - 1 Môi tr


ng đ ng mô ph ng đ ng nh t. ........................ Error! Bookmark not defined.

Hình 4 - 2 Môi tr

ng đ ng mô ph ng không đ ng nh t ............... Error! Bookmark not defined.

Hình 5 - 1: B lô gic và s h c ALU .............................................. Error! Bookmark not defined.
Hình 5 - 2 MUX l a ch n l i vào cho S1 c a b ALU. .................. Error! Bookmark not defined.
Hình 5 - 3: B nh RAM single port đ
defined.
Hình 5 - 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 - 5: S đ kh i c a b chia t n s ...................................... Error! Bookmark not defined.
Hình 5 - 6: S đ kh i c a b nh ch
Hình 5 - 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 5 - 8: S đ bên trong c a register file .................................. Error! Bookmark not defined.

Hình 5 - 9: B nh Stack ................................................................ Error! Bookmark not defined.
Hình 5 - 10: K t qu mô ph ng PC và b nh ch
not defined.

ng trình c a vi đi u khi n . Error! Bookmark

Hình 5 - 11: K t qu mô ph ng kh i ALU...................................... Error! Bookmark not defined.
Hình 5 - 12: K t qu mô ph ng register file................................... Error! Bookmark not defined.
Hình 6 - 1 S đ các thành ph n trên kít phát tri n DE2............... Error! Bookmark not defined.
Hình 6 - 2: L u đ thu t toán th c hi n ch y ch trên LCD. ........ Error! Bookmark not defined.


L I NÓI

U

V iăxuăh ng phát tri n r t nhanh c a các b vi x lýăc ngănh ăyêuăc u ngày càng
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 các 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 trên th gi i,ănh ngă
v i Vi t Nam nó v nă đòiăh i ph iăv t qua nh ngăkhóăkh nănh tă đ nh. Trong lu năv nă
này tác gi không có 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 và thi t k m t vi x lýăđ năgi n. M căđíchăchínhă
c a tác gi là n măđ c ki n trúc, quy trình thi t k , tri n khai và 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 căn 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 là 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 và b đi u khi n cho
m t vi x lý 8 bítăđ năgi n d a trên ki n trúc RISC v i 33 l nh trong t p l nh, ti n hành

tri n khai b ng ngôn ng Verilog và mô ph ng ki m tra ch căn ngăc a vi x lý b ng ph n
m m ModelSim. M că đíchăchínhăc a ph nă đ u này là hi u v quy trình thi t k và 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 cùng th c hi n t ng h p thi t k trên kít FPGA DE2 c a Altera và ch y th
cácăch ngătrìnhănh . Ph n cu i cùng tác gi s trình bày v m t ng d ng nh s d ng
viă đi u khi n v aă đ c thi t k . K t qu cho th y,ă viă đi u khi n có th th c hi nă đúngă
đ c nh ng ch căn ngăc ăb n.


Ch

ng 1 T NG QUAN V FPGA

1.1. Gi i thi u chung
Ngày nay 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 trên 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
càng 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 ra 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 và công s c
thi t k .

D iăđâyătrìnhăbàyăs ăl c v các thi t b logic kh trình c ngănh quy trình thi t
k d a trên 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 trên công ngh FPGA là do 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 các thi t b
PLD: khái ni m PLD, quá trình phát tri n c a các thi t b PLD, c u trúc c a m t vài lo i
thi t b PLD và 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 ngay 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 các thi t b trên bao g m vi căđ aă
con 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 ngay trên h th ng (ISP ậ In System Programming). M t tên g i khác c a FPD là
Programmable Logic Devices (PLD). Sauă đâyă taă s điă tìmă hi u k h nă v các thi t b
PLDs c th .
PLD ậ Programable Logic Device là 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 ra 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
1. David A. Patterson, John L. Hennesly, Computer organization and design the
hardware software interface 3rd 2004.
2. David A. Patterson, John L. Hennesly, Computer Architecture a Quantiative
Aprroach.
3. Thomasă&ăMoorby’săTheăverilog Hardware Discription Laguage, fifth edition.
4. Zainalabedin, Digital Design and Implimentation with Field Programable Devices.
5. 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.
6. Volnei A. Pedroni, Circuit Design with VHDL, MIT Press, 2004
7. Xilinx , MicroBlaze Processor reference guide
8. www.microchip.com
9. [43] Ghosh, S., Chakraborty, T.: On behavior fault modeling for digital design.
International Journal of Electronic Testing: Theory and application. (1991).
10.



×