63
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÀI TẬP LỚN MÔN THIẾT KẾ TỔNG HỢP HỆ THÔNG SỐ ĐỀ TÀI: Thiết kế khối số học số thực dấu phẩy động Giáo viên hướng dẫn : TS. Võ Lê Cường. Nhóm 20: Sinh viên Đinh Văn Nam 20091814 ĐTVT 01 K54 Nguyễn Mạnh Trung 20115803 CNĐT-TT 1-k56 1

Thiết kế khối số học số thực dấu phẩy động

Embed Size (px)

DESCRIPTION

Khối số thực dấu phẩy động rất thông dụng trong bộ đồng xử lý toán học. Nó là một phần của một hệ thống máy tính được thiết kế đặc biệt để thực hiện các hoạt động tính toán trên các số thực dấu chấm động. Một số hoạt động tính toán trên khối FPU như: cộng, trừ, nhân, chia. Mục đích là để xây dựng một CPU hiệu quả để thực hiện các chức năng cơ bản cũng như chức năng siêu việt với việc làm giảm độ phức tạp của logic được sử dụng làm giảm hoặc ít nhất giới hạn thời gian tương đương như dòng x87 và làm giảm bộ nhớ càng nhiều càng tốt. Để thực hiện các chức năng như: cộng, trừ, nhân , chia…. các số thực dấu phẩy động phải chuyển đổi dữ liệu sang định dạng chuẩn IEEE 754. Tất cả thuật toán trên đã được đồng bộ hóa và đánh giá theo môi trường Spartan 3E Synthesis. Tất cả các chức năng được xây dựng bởi các thuật toán có hiệu quả với một số thay đổi kết hợp ở cuối trong phạm vi cho phép.

Citation preview

TRNG I HC BCH KHOA H NIVIN IN T - VIN THNG

BI TP LN MN THIT K TNG HP H THNG S TI: Thit k khi s hc s thc du phy ng Gio vin hng dn : TS. V L Cng. Nhm 20:Sinh vin inh Vn Nam 20091814 TVT 01 K54 Nguyn Mnh Trung 20115803 CNT-TT 1-k56

H Ni, 12/2014

Mc Lc.

Mc Lc 1Danh mc hnh nh. ..2Li cm n 3Tm tt. 4Chng 1. Gii thiu. ..51.1 Gii thiu51.2 FPU l g? ..51.3 Tiu chun IEEE754 ..71.4 Gii thiu ti..81.5 Kt lun chng. 9Chng 2. L Thuyt. 102.1 Gii thiu. ..102.2 S thc du phy ng 102.3 Biu din s thc du chm ng thc hin trong d n.112.3.1 Biu din s b 2 ca s nhi phn 4 bt. 11a. Phn phn s F(fraction). ..12b. Phn s m E(exponent).132.4 Nhn hai s thc du phy ng. 132.5 Cng s thc du phy ng.182.6 Tr hai s thc du phy ng. 192.7Kt lun chng21Chng 3 M phng v kt qu..223.1 Gii thiu chng22.3.2 S khi233.3 Kt qu m phng243.3.1 Kt qu m phng trn quartus243.3.2 Kt qu m phng trn Modulesim..253.4 Kt lun chng..29Chng 4 Kt Lun30Ti liu tham kho32Ph Lc 33

Danh mc hnh nh, bng biu.Hnh v, Bng biuM t

Hnh 2.1Thut ton nhn s thc du phy ng.

Hnh 2.2Thut ton nhn hai s nguyn khng du

Hnh 2.3Thut ton cng s thc du phy ng.

Hnh 2.4Thut ton tr s thc du phy ng.

Hnh 3.1S khi ca chng trnh.

Bng 3.1M t chn d liu trong s khi.

Bng 3.2Bng m t gi tr ca m php ton.

Bng 3.3Bng chuyn i s nh phn 4 bt hin th trn led 7 thanh.

Hnh 3.1Kt qu m phng thnh cng trn quartus

Hnh 3.4S lung d liu dataflow

Hnh 3.5Bng kt qu trancript.

Bng 3.4Tng hp kt qu m phng.

Li cm n.Chng ti mun by t lng bit n chn thnh i vi ngi hng dn ca chng ti TS V L Cng, Vin in T Vin Thng, i Hc Bch Khoa H Ni gim st, to ng lc v trn tt c l s gip trong ton b thi gian ca d n ca chng ti m nu khng c th d n khng th hon thnh. Chng ti thc s bit n n tt c bn b ca chng ti, nhng ngi c nhng gp qu bu trong thi gian chng ti lm d n. Chng ti cng phi tha nhn cc ngun ti nguyn hc tp m chng ti nhn c t nhiu ngun khc nhau.Chng ti xin gi li cm n ti gia nh, chnh l ngun lc ng vin chng ti phn u trong hc tp v cuc sng. Tuy c nhiu c gng trong qu trnh hc tp cng nh thi gian lm d n nhng khng th trnh khi nhng thiu st, ti rt mong c s gp qu bu ca tt c cc thy c gio v cc bn d n ca chng ti c hon thin.Chng ti xin chn thnh cm n!! H Ni, ngy 4 thng 5 nm 2015. Sinh Vin inh Vn Nam Nguyn Mnh Trung

Tm tt.

Khi s thc du phy ng rt thng dng trong b ng x l ton hc. N l mt phn ca mt h thng my tnh c thit k c bit thc hin cc hot ng tnh ton trn cc s thc du chm ng. Mt s hot ng tnh ton trn khi FPU nh: cng, tr, nhn, chia. Mc ch l xy dng mt CPU hiu qu thc hin cc chc nng c bn cng nh chc nng siu vit vi vic lm gim phc tp ca logic c s dng lm gim hoc t nht gii hn thi gian tng ng nh dng x87 v lm gim b nh cng nhiu cng tt. thc hin cc chc nng nh: cng, tr, nhn , chia. cc s thc du phy ng phi chuyn i d liu sang nh dng chun IEEE 754. Tt c thut ton trn c ng b ha v nh gi theo mi trng Spartan 3E Synthesis. Tt c cc chc nng c xy dng bi cc thut ton c hiu qu vi mt s thay i kt hp cui trong phm vi cho php.

Chng 1. Gii thiu.1.1 Gii thiu chng.Khi s thc du phy ng rt thng dng trong b ng x l ton hc. N c thit k thc hin cc hot ng tnh ton trn s thc du phy ng. Mt s hot ng tnh ton trn khi FPU nh: cng, tr, nhn, chia. FPU cng c thc hin mt s hot ng tnh ton khc nh: hm m, lng gic. Cc s thc du phy ng c chun ha theo chun IEE754. chng ny chng ti gii thiu nhng ni dung sau:FPU l g? trong mc 1.2.Gii thiu tiu chun IEEE754 trongmc 1.3.Sau tm tt v d n trong mc 1.4.Tm tt chng, mc 1.5.1.2 FPU l g?Khi mt CPU thc hin mt chng trnh c gi n mt s thc du phy ng (FP) hot ng, c ba cch n c th thc hin. Th nht, n c th gi l mt s thc du phy ng gi lp, l mt th vin s thc du phy ng, s dng mt lot cc php tnh s hc s thc du phy ng c thc hin trn khi ALU. Cc gi lp c th lu trn cc phn cng b sung ca mt FPU nhng chm ng k. Th hai, n c th s dng mt thm mt FPU c hon ton tch bit vi CPU, n ch cn thit tng tc tnh ton . Cn li l s dng tch hp FPU c trong h thng. FPU c thit k bi vi chnh xc theo tiu chun IEEE754. N khng ch gii quyt cc php tnh c bn vi s thc du phy ng nh: cng, tr, nhn, chia m cn c th x l cc hot ng nh dch, xc nh cn bc v cc chc nng siu vit nh sin, cos.1.3 Tiu chun IEEE754.IEEE754 l tiu chun cng ngh c thnh lp bi t chc IEEE754 v n c s dng rng ri trong vic tnh ton s thc du phy ng, theo sau bi nhiu phn cng( CPU v FPU) v thc hin trn phn mm. nh dng mt s thc du phy ng chim 32 bit trong b nh ca my tnh. Phin bn hin ti, IEEE 754-2008 ra mt vo thng Tm nm 2008. Trong phin bn IEEE754-2008 Trong IEEE 754-2008, 32-bit vi 2 nh dng chnh thc l: single precision hoc binary32. Cc tiu chun IEEE754 quy nh mt s tc du phy ng l c bt du hiu c chiu di 1 bt,mt s m c chiu di 8 bit v phn nh tr c chiu di 24 bit trong 23 bit l c lu tr mt cch r rng v 1bt l tim n .Bt du xc nh du ca s thc du chm ng. Bng 0 th s mang du dng, bng 1 s mang du m. Phn m s dng s nguyn 8 bt c gi tr t -128 n 127 hoc dng s nguyn khng m c gi tr t 0 n 255. Phn nh tr cha 23 bt phn bn phi ca im nh phn v bt tim n(nm bn tri im nh phn). Vi s c gi tr bng 1 th tt c cc bt phn m u bng 0. Nh vy ch c 23 bit xut hin phn nh tr trong cc nh dng b nh nhng tng cng chnh xc l 24 bit. V d:SEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFF

31 30 23 22 0IEEE 754 nh ngha v cc inh dng nht nh n l mt tp hp cc i din ca cc gi tr v k hiu ca s. nh ngha cc tiu chun [4]: nh dng s hc m l tp hp cc s du chm ng nh phn v thp phn, trong bao gm cc s hu hn v s khng, mt gi tr c bit c gi l "khng phi l mt con s" (NaN) v v hn. nh dng trao i l mt chui bt (m ha) c s dng trao i mtd liu s thc du phy ng trong mt hnh thc thu gn v hiu qu. Quy tc lm trn l gi tr ca s thc u phy ng phi c a v gi tr ph hp khi lm php tnh s hc .Trng hp ngoi l l ch ra cc trng hp c bit (nh chia cho s khng, trn bt trn, trn bt di, vv) xy ra trong qu trnh thc hin php tnh.Trong nm trng hp ngoi l. Tt cc gi tr u c a v gi tr mc nh. Nm trng hp ngoi l c l: Php tnh khng chnh xc l cn bc hai vi s m, u ra trong khng tn ti Chia cho khng l mt php tnh trn mt ton hng hu hn trong kt qu l v hn v d, 1/0 hoc log (0) mc nh tr v v cng m hoc v cng dng. Trn bt xy ra khi mt php tnh c kt qu qu ln nm ngoi di g tr cho php. Kt qu tr v gi tr mc nh( lm trn n gi tr gn nht). Underflow xy ra khi mt php tnh c kt qu qu nh nm ngoi khong gi tr thng thng v khng chnh xc theo mc nh.

1.4 Gii thiu ti.Thit k khi s hc s thc du phy ng(Floating Point Arithmetic unit) . Mi mt s thc du phy ng gm c 4 bt biu din phn gi tr s thc v 4 bt biu din phn s m, vi s m biu din dng b 2. Khi s hc s thc du phy ng c cc khi lnh sau: 010 FPA Cng cc ton hng s thc du phy ng. 011 FBS Tr cc ton hng s thc du phy ng. 100 FBM Nhn cc ton hng s thc du phy ng. 101 FPD Chia cc ton hng s thc du phy ng.Kt qu s c th hin dng s thc du phy ng dng c chun ha v c hin th trn LED 7 thanh. S dng LED 7 thanh ch ra phn trn b nh.D liu u vo ca khi s thc du phy ng s c ly t bn phm in thoi kch thc 4x4. Gi s cc u vo u dng chun hoc bng 0. H thng phi gm c khi phn s thc, khi phn s m, khi iu khin, v khi hin th chuyn s nh phn 4 bt hin th trn led 7 thanh.1.5 Kt lun chng.Chng ny m t ngn gn ngha ca khi FPU v tiu chun IEEE 754, ch lm trn s, nh dng s hc, trng hp ngoi l v hon i nh dng. Chng ny cng a ra mt ci nhn tng quan ca d n.

Chng 2. L thuyt.2.1 Gii thiu chng. Trong chng ny, phn 2.2 gii thiu tng qut v s thc du chm ng, phn 2.3 gii thiu v s thc du chm ng thc hin trong ti, phn 2.4 gii thiu v thut ton nhn s thc du phy ng, phn 2.5 gii thiu v thut ton cng hai s thc du chm ng, phn 2.6 gii thiu v thut ton tr hai s thc du phy ng V cui cng, phn 2.7 a ra mt bn tm tt ca chng.2.2 S thc du phy ng.S thc du phy ng(Floating Point Number) biu din cho s thc .Tng qut: mt s thc X c biu din theo kiu s du phy ng nh sau:X = M * M l phn nh tr (Mantissa), R l c s (Radix), E l phn m (Exponent). Chun IEEE 754. C s R = 2 Cc dng: Dng 32-bit Dng 44-bit Dng 64-bit Dng 80-bit.

V d dng 32 bt. 31 30 23 22 0Sem

S l bit du: S = 0 s dng S = 1 s m e (8 bit) l m excess-127 ca phn m E: e = E+127 E = e 127 gi tr 127 gi l l lch (bias) m (23 bit) l phn l ca phn nh tr M: M = 1.m Cng thc xc nh gi tr ca s thc: X = *1.m * .2.3 Biu din s thc du chm ng thc hin trong d n. 2.3.1Biu din s b 2 ca s nhi phn 4 bt. a.Phn phn s F(fraction).Chng ta s biu din phn phn s bng s b hai nh sau:= .= Bt ngoi cng bn tay tri l bt du. Nu bt du bng 0 th s mang du dng con bng 1 th s mang du m. Nhn chung s F(fraction) mang gi tr m c biu din dng b 2 s c tnh nh sau: . V d -5/8 c hiu l: 10.000-0.101=1.011 . Khi dch chuyn n-1 bt sang bn tri th gi tr ca s phi chia cho . phn phn s th s 1.000 l mt trng hp c bit l 2-1=1 do 10.000-1.000=1.000 nhng chng ta khng th biu din s +1 dng b hai v s dng ln nht trong h thng s phn s l 0.111(7/8).b. Phn s m E(exponent).Chng ta biu din phn s m bng s b hai nh sau:= .= Bt bn ngoi cng bn tri l bt du nu bt du bng 0 th s mang du dng cn nu bt du bng 1 th s mang du m. Di gi tr ca phn s m nm trong khong t n tng ng t n .2.3.2 Biu din s thc du phy ng trong d n.S thc du phy ng N c xy dng t phn phn s F(fraction) v s m E(exponent). Khi N= F*. Phn phn s v s m c trnh by dng nh phn b 2. c trng s thc du phy ng trong h thng th chiu di ca F l t 16 n 64 bt, chiu di ca E l 8 n 15 bt. Nhng trong d n ny, d dng thc hin chng ti ch s dng 4 bt cho phn thp phn v 4 bt cho phn s m. V d nh sau: FEN

0.1010101(5/8)*

1.0111011(-5/8)*

1.0001000(-1)*

Nu F khng dng chun chng ta c th chuyn v dng chun bng cch dch v bn phi cho n khi bt du v bt k tip ca n khc nhau. Vic dch bt v bn tay phi ng ngha vi vic gi tr ca F c nhn thm vi 2 v vy chng ta phi gim gi tr ca E xung 1 gi tr ca N khng thay i. Sau khi chun ha xong . Sau y l mt s v d v vic chun ha F:

Bng 2.1 Chun ha F.Trng thiFEN

Cha chun ha(Unnormalized)0.01010011(5/16)*=5/2

Chun ha(Normalized)0.1010010(5/8)*=5/2

Cha chun ha(Unnormalized)1.110111100(-5/32)*=5*

Dch tri F1.10111011(-5/16)*=5*

Chun ha(Normalized)1.0111010(-5/8)*=5*

S 0 khng th chun ha c, V vy khi F=0 khi N=0. Do s c rt nhiu gi tr s m E c th c dung biu din s N, cho nn thng nht mt cch biu din ngi ta ly s m c gi tr m nh nht trong di gi tr ca E( 1000 n 0111) l 1000. V vy khi F v E biu din bng s nh phn 4 bt th s khng c biu din nh sau:F=0.000 E=1000 N=0S thc du phy ng dng nh nht biu din trong d n ny c gi tr l 0.001x . Mt s h thng s thc du phy ng s dng h s m biased nh l E=0 i km vi F=0 khi biu din s 0.2.4 Nhn hai s thc du phy ng.Trong phn ny chng ta s thit k b nhn cho s thc du phy ng. Chng ta s dng s nh 4 bt cho phn F(fraction) v 4 bt cho phn E( exponent) , vi s m th c biu din dng s b 2. Cng thc tng qut khi thc hin nhn 2 s thc du phy ng nh sau:**=) x=F*.Gi s u vo chng ta c v c chun ha v chng ta mun kt qu u ra cng c chun ha. Khi thc hin nhn phn phn s( fraction) v cng phn s m s xy ra mt s trng hp c bit cn phi ch .u tin nu F=0 th mc nh gi tr E=1000(-8).Th hai khi nhn -1 vi -1 (1.000 x 1.000) khi kt qu s l +1 nhng chng ta khng th biu din s 1 dng b 2 phn phn s. Chng ta gi l trng hp fraction overflow . gii quyt vn ny chng ta gn F=1/2(0.100) v cng 1 vo E( E=E+1). Khi nhn phn phn s(fraction) th kt qu s cha chun ha. V d:**=) x=0.100*.Trong v d trn chng ta chun ha kt qu bng vic dch tri phn phn s mt v tr v tr i mt phn s m. Kt thc nu phn s m khng nm trong di cho php ca phn s m trong h thng th s xy ra trng hp trn bt phn s m. Chng ta s dng 4 bt cho phn s m th di gi tr cho php l: 1000 n 0111(-8 n 7). Khi xy ra trn bt th s c tn hiu bo trn. Sau y l s thut ton cho vic nhn s thc du phy ng.Vi u vo l 2 s thc du phy ng v kt qu l N.N= F*.= *.= *.Vi , , u l s nh phn 4 bt c biu din dng b 2 c trnh by mc 2.3.1

Hnh 2.1 Thut ton nhn hai s thc du phy ng.Sau y l thut ton khi nhn hai s khng m :Vi C bt nh, A l tng.Hnh 2.2 Thut ton nhn hai s nguyn khng du.V d v nhn hai s nguyn khng du:

Khi nhn hai s nguyn c du th ta s lm cc bc nh sau:Bc 1. Chuyn i s b nhn v s nhn thnh s dng tng ngBc 2. Nhn hai s dng bng thut gii nhn s nguyn khng du, c tch ca hai s dng.Bc 3. Hiu chnh du ca tch: Nu hai tha s ban u cng du th gi nguyn kt qu bc 2. Nu hai tha s ban u l khc du th odu kt qu ca bc 2.

Khi cng phn s m th s c mt s trng hp c th xy ra trn bt nh sau: Nu v l s dng m tng E l s m. Nu v l s m m tng E l s dng.Kt qu biu din dng s b 2 s th xy ra trn bt.Tuy nhin mt s trng hp c th chnh sa trn bt s m bng cch cng hoc tr 1 n v trong khi chun ha kt qu phn phn s(fraction) . Trong trng hp cho php. Chng ta s to thanh ghi X c chiu di 5 bt. Khi ti s m t thnh ghi X th chng ta s m rng bt du. V vy chng ta c th biu din s dng b 2. Nu c 2 bt du th khi cng v trong trng hp xy ra trn bt th bt du thp nht s b thay i cn bt du cao nht khng thay i. Sau y l mt s v d:7+6= 00111 +00110=01101=13 (gi tr ln nht l 7).(-7)+(-6)=11001+11010=-13(gi tr nh nht l -8).Tuy nhin sau y l mt trng hp c bit trong trng hp ch ra trn bt phn s m v trn bt phn phn s nhng vic trn b phn s m c th sa li sau khi chnh sa trn b phn phn s.1.000*x 1.000*=1.000*=0.100*.2.5 Cng s thc du phy ng.Khi cng hai s thc du chm ng th s c cng theo cng thc sau:**=Fx. Gi s v u c chun ha v Nu bng th ta ch cn cng hai v sau chun ha kt qu. Nu khng bng th chng ta phi dch chuyn thay i phn s m ca s c s m nh hn v dch chuyn phn phn s ca s m nh hn v bn phi. Chng ta s x l thng qua v d sau:*= 0.111x. *=0.101x.Do # nn dch chuyn sang phi 2 n v v cng 2 vo . 0.101x=0.0101x.= 0.00101x.Sau khi dch phi mt n v th gi tr ca s s chia cho 2 nn cn phi cng vo s m 1 gi tr ca s khng thay i. Sau khi dch chuyn cho 2 s m bng nhau chng ta tin hnh cng phn phn s(fraction). 0.111x + 0.00101x= 01.00001x.Lc ny chng ta thy phn phn s (fraction) xy ra hin tng fraction overflow. Nn chun ha chng ta dch phi 1 phn phn s v cng them 1 phn s m.Fx=0.100001x. Khi mt trong hai s v l s m th khi cng phn phn s s xy ra hin tng kt qu cng phn phn s cha c chun ha. V d:1.100x+0.100x = 1.110x+0.100x(sau khi dch phi 1 ca ) = 0.010x (kt qu cha chun ha) = 0.100x (sau khi dch tri phn phn s 1 v tr 1 phn s m).Tm li th vic cng hai s thc du phy ng s thc hin theo cc bc sau:Bc 1: Nu hai phn m khng bng nhau th dch chuyn sang bn phi phn phn s, s c s m nh hn 1 n v v cng vo s m nh hn 1 n v. Lp li cc bc trn cho n khi hai s m bng nhau.Bc 2: Cng phn phn s.Bc 3: Xy ra 3 trng hp.a. Khi s F b trn th dch phi F 1 n v v cng thm 1 vo phn s m s li trn bt.b. Khi F cha chun h th dch tri F 1 oen v v tr phn s m E i 1.c. Nu F bng 0 th gn E=-1.Bc 4: Kim tra trn s m.Nu >> v l s dng th tt c cc bt ca s tr thnh 0 ngay sau khi chng ta dch chuyn v bn phi hai s m bng nhau v kt qu l F= v E=. Nu >> v l s m th tt c cc bt ca s tr thnh 1 khi chng ta dch chuyn v bn phi hai s m bng nhau. V th khi cng hai phn fraction s cho kt qu sai. V vy trnh vn ny xy ra th khi >> ta c: F= v E=. Nu th F= v E=. Trong d n ny chng ta s dng 4 bt cho c phn fraction v exponent nn khi |- b qua phn dch chuyn sang bn phi.Sau y l thut ton cho vic cng hai s thc du phy ng.N= F*.= *.= *.Vi , , u l s nh phn 4 bt c biu din dng b 2 c trnh by mc 2.3.1

Hnh 2.3 S thut ton cng hai s thc du phy ng.2.6 Tr hai s thc du phy ng.Khi tr hai s thc du chm ng th s c cng theo cng thc sau:**=Fx.Cc bc tr hai s thc du chm ng cng ging nh trong cng hai s thc du phy ng ch khc bc 2 ta chuyn vic cng phn fraction thnh tr. Sau y l thut ton tr hai s thc du chm ng vi cc thng s sau:N= F*.= *.= *.Vi , , u l s nh phn 4 bt c biu din dng b 2 c trnh by mc 2.3.1

Hnh 2.4 Thut ton tr hai s thc du phy ng.

2.7 Kt lun chng trong chng hai chng ti trnh by tng qut v s thc du phy ng, gii thiu v s thc du phy ng c thc hin trong ti. ng thi cng gii thiu c v thut ton cng, tr, nhn hai s thc du chm ng.

Chng 3 M phng v kt qu.3.1 Gii thiu chng. chng ny s gii thiu v s khi ca chng trnh phn 3.2, phn 3.3 gii thiu v cc phn mm s dng dng vit chng trnh v m phng, phn 3.3 l kt qu m phng v gii thch kt qu. Cui cng phn 3.4 l kt lun ca chng.3.2 S khi.

Hnh 3.1 S khi ca chng trnh.u vo ca chng trnh bao gm 2 ton hng = *, = *. v m php ton (opcode) . Mi ton hng gm c hng gm c 2 phn: phn phn s(fraction) v phn s m(exponent). u ra gm 3 thng s gm c: chn bo hiu trn bt (led_overflow), kt qu phn phn s trn led 7 thanh(led_frac) v kt qu phn s m trn led 7 thanh(led_exp).Hot ng ca chng trnh l: Khi mt trong cc thng s u vo thay i th s c kt qu u ra tng ng.

Bng 3.1 M t chn d liu trong s khi.Tn chn rng(bt)LoiM t

4InputPhn phn s (fraction) ca s th nht

4InputPhn phn s (fraction) ca s th nht

4InputPhn phn s (fraction) ca s th nht

4InputPhn phn s (fraction) ca s th nht

opcode3OutputM php ton

led_overflow1OutputNu kt qu nm ngoi gi tr cho php s bo trn

led_frac7OutputKt qu php ton phn phn s(fraction)

led_exp7OutputKt qu php ton phn s m(exponet)

Bng 3.2 Bng m t gi tr ca m php ton.M php ton(Opcode)Php ton

010Cng

011Tr

100Nhn

101Chia

Bng 3.3 Bng chuyn i s nh phn 4 bt hin th trn led 7 thanh.S nh phn 4 bt(a)Gi tr led dng nh phn(seg)Gi tr hin th

0000000_00010

0001100_11111

0010001_00102

0011000_01103

0100100_11004

0101010_01005

0110010_00006

0111000_11117

1000000_0000-8

1001000_0100-7

1010000_1000-6

1011110_0000-5

1100011_0001-4

1101100_0010-3

1110011_0000-2

1111100_1111-1

3.3 Kt qu m phng.Trong d n s dng phn mm ModelSim PE student Edition 10.4a. v phn mm Quartus 9.0 .3.3.1 Kt qu m phng trn quartus.Kt qu m phng thnh cng trn quartus.

Hnh 3.1 Kt qu m phng thnh cng trn quartusS khi module display.

Hnh 3.2 S khi module display.T s khi ta thy module display c 1 u vo ACC c di 8 bt v 3 u ra gm c led_exp v led_frac c di 6 bt v led_overflow c di 1 bt.Module cng cha 2 module khc l led7.S khi module led7 .

Hnh 3.3 S khi module led7.Module c chc nng chuyn t s nh phn 4 bt hin th trn led 7 thanh.3.3.2 Kt qu m phng trn Modulesim.S dng d liu dataflow

Hnh 3.4 S lung d liu dataflow.Bng kt qu trancript.

Hnh 3.5 Bng kt qu trancript.T bng kt qu trancript kt hp vi bng 3.3, bng 3.2 ta c bng tng kt sau:Bng 3.4 Tng hp kt qu m phng.STT

opcodeFEOverflowBiu thc

001110001011100110100100010000.111x+0.111x.= 0.100x.

510001101100010010101000110101.000x+1.000x.= 1.000x.

1010100111101000100101010011101.010x+1.110x.= 1.010x.

1510010111100101110101001100011.001x+0.111x.= 1.001x.

2000000011100110010101101100100.000x+1.001x.= 1.001x.

2500000011000010010100000100000.000x+0.000x.= 0.000x

3010010011010001110100000100001.001x+0.111x.= 0.000x.

3511001110010011110100100111001.100x+0.100x.= 0.100x.

4001110001011100110111010001100.111x-0.111x.= 0.100x.

4510001101100010010111000110101.000x-1.000x.= 1.000x.

5010100111101000100111010011101.010x-1.110x.= 1.010x.

5510010111100101110110000100001.001x-0.111x.= 0.000x.

6000000011100110010110011100100.000x-1.001x.= 0.011x.

6501110001011110001000110100100.111x*0.111x=0.110x.

7010011001101100011000100101001.001x*1.011x.= 0.100x.

7510000111100010011000100000101.000x*1.000x.= 0.100x.

8001010111101110011001001111100.101x*1.011x.= 1.001x.

8500001000000010001000000100000.000x*0.000x.= 0.000x.

9001110111100100111000000100010.111x*1.001x.= 1.000x.

9501100111101010011001011000000.110x*1.010x.= 1.011x.

Nhn xt: Kt qu m phng ng vi kt qu tnh ton thc t sau khi lm trn.3.4 Kt lun chng.Qua chng ny nhn vo kt qu m phng chng ta hiu r l thuyt hn. Nhn vo kt qu m phng chng ta nhn thy kt qu m phng ng vi kt qu tnh ton thc t sau khi lm trn.

Chng 4 Kt Lun.Khi s thc du phy ng rt thng dng trong b ng x l ton hc. N l mt phn ca mt h thng my tnh c thit k c bit thc hin cc hot ng tnh ton trn cc s thc du chm ng. Mt s hot ng tnh ton trn khi FPU nh: cng, tr, nhn, chia. Mc ch l xy dng mt CPU hiu qu thc hin cc chc nng c bn cng nh chc nng siu vit vi vic lm gim phc tp ca logic c s dng lm gim hoc t nht gii hn thi gian tng ng nh dng x87 v lm gim b nh cng nhiu cng tt. Chnh v th m vn ny nhn c s quan tm rt ln ca cc c nhn, t chc, trng i hc v nhiu vin nghin cu trn th gii. Trong d n ny tm hiu v: Thit k khi s hc s thc du phy ng. C th d n t c cc kt qu sau. Nhng iu t c.-Trnh by l thuyt khi FPU trong my tinh.-Tm hiu l thuyt chun ha IEEE754 trong tnh ton s hc s thc du phy ng.-Trnh by thut ton cng, tr, nhn, chia s thc du phy ng vi 4 bt phn nh tr v 4 bt phn s m. Tt c s m phn nh tr v s m c th hin dng nh phn b hai.-Vit c chng trnh cho khi s hc s thc du phy ng bng verilog HDL vi cc php tnh cng, tr, nhn. Nhng hn ch.-Chng trnh cha thc hin cho php tnh chia hai s thc du phy ng.-Cha vit c khi keypad dng nhp s t bn phm in thoi kch thc 4x4.-Code chng trnh cn di, cha ti u c mt s on code c th rt gn. Hng pht trin ca ti.-Xy dng chng trnh hon thin hn, d liu nhp c t thit b ngoi vi nh bn phm in thoi...-Ti u code chng trnh ngn gn v d hnh dung hn.-Tm hiu v vit thm phn php tnh chia cho khi s hc s thc du phy ng.V thi gian nghin cu c hn, trnh hiu bit ca bn chng em cn nhiu hn ch nn bi bo co ca chng em khng trnh khi nhng thiu st, em rt mong nhn c s gp qu bu ca tt c cc thy c gio bo co ca chng em c hon thin hn. Chng em xin chn thnh cm n!

Ti liu tham kho.

1. Digital Systems Design Using VHDL Hardcover March 30, 2007 by Jr. Charles H. Roth (Author), Lizy K. John (Author) .2. Advanced Digital Design with the VERILOG HDL by Michael D. Cileti.3. Digital Design and Computer Architecture By Julius Marpaung Lab 5: Introduction to 4x4 Matrix Keypad and Verilog.4. Design of a Floating-Point Fused Add-Subtract Unit Using VerilogMayank Sharma, Prince Nagar, Ghanshyam Kumar Singh & Ram Mohan Mehra ,Department of Electronics and Communication Engineering School of Engineering & Technology Sharda University, Knowledge Park-III, Greater Noida, (UP), India.5. Slide Bi ging kin trc my tinh-Chng 3-Nguyn Kim Khnh - HBKHN6. IMPLEMENTATION OF FLOATING POINT ARITHMETIC ON FPGA - DIGITAL SYSTEM ARCHITECTUREWINTER SEMESTER-2010 by SUBHASH C (200911005); A N MANOJ KUMAR (200911030); PARTH GOSWAMI (200911049)7. Design of Floating Point Multiplier for Signal Processing Applications -A. Rakesh Babu, R. Saikiran and Sivanantham S. School of Electronics Engineering, VIT UniversityVellore 632014, Tamilnadu, India. {rakesh40622348,saikiran.18692}@gmail.com , [email protected]

Ph Lc

1. Code file alu.vmodule alu(F1,E1,F2,E2,opcode, led_overflow, led_frac, led_exp); input [3:0] F1,E1,F2,E2; input [2:0] opcode; output led_overflow; output [6:0] led_frac, led_exp; reg [4:0] shift_F; reg [7:0] F; reg [6:0] f; reg [4:0] E; reg [8:0] ACC; reg [7:0] f1,f2; reg [4:0] e1,e2; reg overflow;//tran bit reg sosanh;//so sanh hai so mu reg [3:0] a,b,c,f11,f21; reg [4:0] addout; // cong 4 bit nen can 5 bit de luu tru reg [2:0] i; parameter add = 3'b010, sub = 3'b011, mult= 3'b100, div = 3'b101; always @(*) begin a=0; b=0;c=0; addout = 0; i =0; f1=0; f2=0;e1 =0; e2 =0; shift_F=0; overflow=0; sosanh=0; F=0;E=0; f11=0; f21=0; f=0; if(E1[3]) begin if(E2[3]) begin if(E1[2:0]>E2[2:0]) sosanh =1'b1; else sosanh=1'b0; end else sosanh=1'b0;//E2[3]=1'b0 end else begin if(E2[3]) sosanh=1'b1; else begin if(E1[2:0]>E2[2:0]) sosanh=1'b1; else sosanh=1'b0; end end case(opcode) add,sub: begin if(F1==4'b0000) begin if(F2==4'b000) begin F=8'b0000_0000; E=5'b01000; overflow=1'b0; end else begin if(opcode==add) begin F = {F2[3], F2, 3'b000}; E = {E2[3], E2}; overflow=1'b0; end else begin c=~F2+1; F = {c[3], c, 3'b000}; E = {E2[3], E2}; overflow=1'b0; end end end else if(F2==4'b0000) begin F = {F1[3], F1, 3'b000}; E = {E1[3], E1}; overflow=1'b0; end else begin if(E1 == E2)begin E = {E1[3], E1}; shift_F =0; f1 = {F1[3], F1, 3'b000}; f2 = {F2[3], F2, 3'b000}; if(opcode==add) F = f1 + f2; else F = f1 - f2; if(F == 8'b0000_0000) begin E= 5'b01000; overflow = 1'b0; end else if(F[7]!=F[6]) //tran phan dinh tri begin E=E+1;//cong phan so mu 1 don vi F = {F[7], F[7-:7]};//dich phai 1 don vi if(E[4] != E[3] ) overflow = 1'b1;//tran so mu else overflow = 1'b0;end else if (F[6] == F[5]) begin //chuan hoa if(E != 5'b01000) begin F = F > shift_F; if(F2[3]) f2 = f2 + ({8'b1111_1111} > 1; E=E+1; if(E[4] != E[3] ) overflow = 1'b1;//tran so mu else overflow = 1'b0; end else if (F[6] == F[5]) begin //chuan hoa if(E != 5'b01000) begin F = F