Chuyên ngành: Kỹ thuật Công nghệ ĐiệnĐiện tửViễn thông Sơ lược: Báo cáo đồ án môn học Thiết kế mạch nhờ máy tính Chương 1: Giới thiệu Chương 2. Cấu trúc mã Chương 3: Kiểu dữ liệu Chương 4: Toán tử và thuộc tính Chương 5: Mã song song Chương 6: Mã tuần tự Chương 7: Signal và Variable Chương 8: Máy trạng thái Chương 9: Thiết kế thêm các mạch Tài liệu tham khảo
Trờng Đại học bách khoa H Nội Khoa công nghệ thông tin Bộ môn kỹ thuật máy tính báo cáo đồ án môn học Thiết kế mạch nhờ máy tính Đề ti: Thiết kế mạch VHDL Giỏo viờn hng dn: th.s nguyễn phú bình Nhúm sinh viờn thc hin: Lê tuấn anh Nghiêm kim phơng Nguyễn quốc việt Nguyễn ngọc linh Lp: ktmt - K46 H Ni, 10/2005 http://www.ebook.edu.vn Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Mc lc Trang Mc lc - Danh mc hỡnh: - Danh mc bng: - Chng 1: Gii thiu - 1.1 Gii thiu v VHDL - 1.2 Gii thiu cụng ngh (v ng dng) thit k mch bng VHDL - 1.2.1 ng dng ca cụng ngh thit k mch bng VHDL - 1.2.2 Quy trinh thit k mch bng VHDL - 1.2.3 Cụng c EDA - 1.2.4 Chuyn mó VHDL vo mch - Chng Cu trỳc mó - 12 2.1 Cỏc n v VHDL c bn - 12 2.2 Khai bỏo Library - 12 2.3 Entity ( thc th) - 14 2.4 ARCHITECTURE ( cu trỳc) - 14 2.5 Cỏc vớ d m u - 17 Chng 3: Kiu d liu - 20 3.1 Cỏc kiu d liu tin nh ngha - 20 3.2 Cỏc kiu d liu ngi dựng nh ngha - 23 3.3 Cỏc kiu (Subtypes) - 23 3.4 Mng (Arrays) - 24 3.5 Mng cng ( Port Array) - 27 3.6 Kiu bn ghi (Records) - 28 3.7 Kiu d liu cú du v khụng du ( Signed and Unsigned) - 28 3.8 Chuyn i d liu - 29 3.9 Túm tt - 31 3.10 Cỏc vớ d - 31 Chng 4: Toỏn t v thuc tớnh - 36 4.1 Toỏn t - 36 4.1.1 Toỏn t gỏn - 36 4.1.2 Toỏn t Logic - 36 4.1.3 Toỏn t toỏn hc - 36 4.1.4 Toỏn t so sỏnh - 37 4.1.5 Toỏn t dch - 37 4.2 Thuc tớnh - 37 4.1.1 Thuc tớnh d liu - 37 4.1.2 Thuc tớnh tớn hiu - 38 4.3 Thuc tớnh c nh ngha bi ngi dựng - 38 4.4 Chng toỏn t - 38 4.5 GENERIC - 39 4.6 Vớ d - 39 Chng 5: Mó song song - 44 5.1 Song song v tun t - 44 5.1.1 Mch t hp v mch dóy - 44 5.1.2 Mó song song v mó tun t - 44 5.2 S dng cỏc toỏn t - 45 5.3 Mnh WHEN - 46 - http://www.ebook.edu.vn -1- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm 5.4 GENERATE - 52 5.5 BLOCK - 53 5.5.1 Simple BLOCK - 53 5.5.2 Guarded BLOCK - 54 Chng 6: Mó tun t - 56 6.1 PROCESS - 56 6.2 Signals v Variables - 57 6.3 IF - 57 6.4 WAIT - 59 6.5 CASE - 62 6.6 LOOP - 66 6.7 Bad Clocking - 71 6.8 S dng mó tun t thit k cỏc mch t hp - 73 Chng 7: Signal v Variable - 76 7.1 CONSTANT - 76 7.2 SIGNAL - 76 7.3 VARIABLE - 78 7.4 S ghi - 84 Chng 8: Mỏy trng thỏi - 93 8.1 Gii thiu - 93 8.2 Thit k theo kiu (thit k theo mụ hỡnh may moore) - 94 8.3 Thit k kiu - 100 8.4 Kiu mó hoỏ: t nh phõn sang Onehot - 110 Chng 9: Thit k thờm cỏc mch - 112 9.1 Barrel Shifter - 112 9.2 B so sỏnh khụng du v cú du - 114 9.3 B cng Carry Ripple v b cng Carry Look Ahead - 116 9.4 B chia du chm tnh - 120 9.5 B iu khin mỏy bỏn hng - 123 9.6 B nhn d liu ni tip - 126 9.7 B chuyn song song thnh ni tip - 128 9.8 Trũ chi trờn led - 129 9.9 B phỏt tớn hiu - 132 9.10 Thit k b nh - 134 Ti liu tham kho: - 140 Phõn cụng cụng vic: - 140 - http://www.ebook.edu.vn -2- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Danh mc hỡnh: Trang Hỡnh 1.1 Túm tt quy trỡnh thit k VHDL - Hinh 1.2.a S tng quỏt v b cng y - Hỡnh 1.2.b Bng chõn lý ca b cng y - Hỡnh 1.3 Mó thit k b cng - 10 Hỡnh 1.4.a.Cỏc vớ d v s mch cú th cú ng vi mó nh hỡnh 1.3 - 10 Hỡnh 1.4.b: Kt qu mụ phng b cng c thit k theo hỡnh 1.3 - 11 Hỡnh 2.2: Cỏc phn c bn ca mt Library - 13 Hỡnh 2.3 Cỏc ch tớn hiu Hỡnh 2.4 Cng NAND - 14 Hỡnh 2.5.a S ca trigo RS - 16 Hỡnh 2.5.b S ca DFF khụng ng b - 18 Hỡnh 2.6: Kt qu mụ phng ca vớ d 2.1 - 18 Hỡnh 2.7 DFF kt hp vi cng NAND - 19 Hỡnh 2.8 Kt qu mụ phng ca vớ d 2.2 - 19 Hỡnh 3.1: Minh scalar (a), 1D (b), 1Dx1D (c), v 2D (d) - 24 Hỡnh 3.2 M ch c suy t mó ca v d 3.2 - 34 Hỡnh 3.2.a Kt qu mụ phng cho on mó 1ca vớ d 3.2 - 34 Hỡnh 3.2.b Kt qu mụ phng cho on mó 1ca vớ d 3.2 - 34 Hỡnh 3.3 B cng bit cho vớ d 3.3 - 34 Hỡnh 3.4 Kt qu mụ phng cho vớ d 3.3 - 35 Hỡnh 4.1 B mó hoỏ cho vớ d 4.1 - 40 Hỡnh 4.2 Mụ phng kt qu ca b mó hoỏ - 41 Hỡnh 4.3 B phỏt hin bớt chón l - 41 Hỡnh 4.4 Mụ phng kt qu ca hỡnh 4.2 - 42 Hỡnh 4.5 B phỏt bit chn l ca vớ d 4.3 - 42 Hỡnh 4.6 Mụ phng kt qu ca vớ d 4.3 - 43 Hỡnh 5.1 Mch t hp v mch dóy - 44 Hỡnh 5.2 B dn kờnh - 45 Hỡnh 5.3 Mụ phng kt qu ca vớ d 5.1 - 46 Hỡnh 5.4 B dn knh cho vớ d - 47 Hỡnh 5.5 B m trng thỏi - 48 Hỡnh 5.6 Kt qu mụ phng cho vớ d 5.3 - 48 Hỡnh 5.7 B mó hoỏ cho vớ d 5.4 - 49 Hỡnh 5.8 Kt qu mụ phng cho vớ d 5.4 - 50 Hỡnh 5.9 ALU - 50 Hỡnh 5.9.b Hot ng chinh ca cỏc phn t ALU - 50 Hỡnh 5.10 Kt qu mụ phng ca vớ d 5.5 - 51 Hỡnh 5.11 Kt qu mụ phng ca vớ d 5.6 - 53 Hỡnh 5.12 Kt qu mụ phng cho vớ d 5.7 - 55 Hỡnh 5.13 Kt qu mụ phng ca vớ d 5.8 - 55 Hỡnh 6.1a.1 DFF vi tớn hiu reset khụng ng b - 56 Hỡnh 6.1a.2 Kt qu mụ phng - 56 Hỡnh 6.2a.1 B m ch s thp phõn - 58 Hỡnh 6.2a.2 Kt qu mụ phng - 58 Hỡnh 6.3b.1 Thanh ghi dch bit - 59 Hỡnh 6.3b.2 Kt qu mụ phng - 59 Hỡnh 6.4a.1 Kt qu mụ phng - 61 Hỡnh 6.4b.1 Kt qu mụ phng - 61 - http://www.ebook.edu.vn -3- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Hỡnh 6.5a.1 Kt qu mụ phng - 64 Hỡnh 6.5b.1 B m ch s thp phõn - 64 Hỡnh 6.5b.2 Kt qu mụ phng - 65 Hỡnh 6.6a.1 B cng cú nh bit khụng du - 67 Hỡnh 6.6a.2 Kt qu mụ phng - 67 Hỡnh 6.6b.1 B dich n gin - 69 Hỡnh 6.6b.2 Kt qu mụ phng - 69 Hỡnh 6.6c.1 Kt qu mụ phng - 70 Hỡnh 6.7a.1 RAM - 72 Hỡnh 6.7a.2 Kt qu mụ phng - 72 Hỡnh 6.8a.1 Mch t hp sai v cỏc bng tht - 74 Hỡnh 6.8a.2 Kt qu mụ phng - 74 Hỡnh 7.2a.1 Kt qu mụ phng - 77 Hỡnh 7.3a.1 Kt qu mụ phng - 78 Hỡnh 7.3b.1 B dn kờnh 4-1 - 79 Hỡnh 7.3b.2 Kt qu mụ phng cỏch v - 81 Hỡnh 7.3c.1 DFF - 81 Hỡnh 7.3c.2 Kt qu mụ phng cỏch v - 83 Hỡnh 7.3d.1 B chia tn - 83 Hỡnh 7.3d.2 Kt qu mụ phng - 83 Hỡnh 7.4a.1 Cỏc mch suy t mó ca cỏch v - 85 Hỡnh 7.4a.2 Kt qu mụ phng cỏch v - 85 Hỡnh 7.4b.1 B m - 87 Hỡnh 7.4b.2 Kt qu mụ phng cỏch v - 88 Hỡnh 7.4c.1 Thanh ghi dch cp - 88 Hỡnh 7.4c.2 Kt qu mụ phng cỏch 1, 2, v - 90 Hỡnh 7.4d.1 Thanh ghi dch bit - 90 Hỡnh 7.4d.2 Kt qu mụ phng - 92 Hỡnh 8.1 S mỏy trng thỏi - 93 Hỡnh 8.2 S trng thỏi ca b m BCD - 97 Hỡnh 8.3 Kt qu mụ phng ca b m BCD - 99 Hỡnh 8.4 Mỏy trng thỏi ca vớ d 8.2 - 99 Hỡnh 8.5 Kt qu mụ phng cho vớ d 8.2 - 100 Hỡnh 8.6.1 S mch kiu - Hỡnh 8.6.2 S mch kiu - 101 Hỡnh 8.7.Kt qu mụ phng cho vớ d 8.3 - 103 Hỡnh 8.8 S trng thỏi ca b phỏt hin chui - 104 Hỡnh 8.9.Kt qu mụ phng cho b oỏn nhn xõu - 105 Hỡnh 8.10.a S nguyờn lý hot ng ca TLC - 105 Hỡnh 8.10.b hỡnh trng thỏi ca TLC - 106 Hỡnh 8.11.a Kt qu mụ phng TLC ch hd bỡnh thng - 108 Hỡnh 8.11.b Kt qu mụ phng TLC ch kim tra - 108 Hỡnh 8.12.Dng tớn hiu cn to - 108 Hỡnh 8.13.Kt qu mụ phng cho vớ d 8.6 - 110 Hỡnh 9.1 B dch barrel - 112 Hỡnh 9.2.Kt qu mụ phng cho b dch barrel - 114 Hỡnh 9.3.Mụ hỡnh ca b so sỏnh - 114 Hỡnh 9.4 Kt qu mụ phng b so sỏnh cú du - 115 Hỡnh 9.5.1.Kt qu b so sỏnh khụng du - 115 Hỡnh 9.5.2 Kt qu ca b so sỏnh khụng du2 - 116 Hỡnh 9.6 S b cng ripple carry - 117 - http://www.ebook.edu.vn -4- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Hỡnh 9.7 Kt qu mụ phng cho b cng ripple carry - 117 Hỡnh 9.8.1 S b cng carry look ahead - 118 Hỡnh 9.8.2 Kt qu mụ phng cho b cng carry look ahead - 119 Hỡnh 9.9 Thut toỏn chia - 120 Hỡnh 9.10.1 Kt qu mụ phng b chia - 121 Hỡnh 9.10.2.Kt qu mụ phong b chia th - 122 Hỡnh 9.11 hỡnh trng thỏi ca b iu khin mỏy bỏn hng - 123 Hỡnh 9.12.Kt qu mụ phng b iu khin mỏy bỏn hng - 126 Hỡnh 9.13 S b nhn d liu ni tip - 126 Hỡnh 9.14.Kt qu mụ phng b nhn d liu - 128 Hỡnh 9.15.B chuyn song song thnh ni tip - 128 Hỡnh 9.16.Kt qu mụ phng cho b chuyn song song thnh ni tip - 129 Hỡnh 9.17 S ca SSD - 130 Hỡnh 9.18 hỡnh trng thỏi - 130 Hỡnh 9.19 Kt qu mụ phng cho trũ chi trờn SSD - 132 Hỡnh 9.20 Hỡnh dng súng cn phỏt - 132 Hỡnh 9.2.1 Kt qu mụ phng to súng - 133 Hỡnh 9.22Kt qu mụ phng to súng theo phng phỏp truyn thng- 134 Hỡnh 9.23.S ca ROM - 135 Hỡnh 9.24 Kt qu mụ phng thit k ROM - 135 Hỡnh 9.25 RAM vi ng d liu tỏch ri - 136 Hỡnh 9.26Kt qu mụ phng RAM cú ng d liu vo khỏc nhau- 137 Hỡnh 9.27 RAM vi ng d liu chung - 137 - Danh mc bng: Trang Bng 3.1 H thng logic gii c - 21 Bng 3.2 Tng hp cỏc kiu d liu - 31 Bng 5.1 Cỏc toỏn t - 45 Bng 6.1 So sỏnh gia WHEN v CASE - 63 Bng 7.1 So sỏnh gia SIGNAL v VARIABLE - 79 Bng 8.1.Mó hoỏ trng thỏi cho mỏy FSM trng thỏi - 110 - http://www.ebook.edu.vn -5- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Chng 1: Gii thiu 1.1 Gii thiu v VHDL VHDL l ngụn ng mụ t phn cng cho cỏc mch tớch hp tc rt cao, l mt loi ngụn ng mụ t phn cng c phỏt trin dựng cho trng trỡnh VHSIC( Very High Speed Itergrated Circuit) ca b quc phũng M Mc tiờu ca vic phỏt trin VHDL l cú c mt ngụn ng mụ phng phn cng tiờu chun v thng nht cho phộp th nghim cỏc h thng s nhanh hn cng nh cho phộp d dng a cỏc h thng ú vo ng dng thc t Ngụn ng VHDL c ba cụng ty Intermetics, IBM v Texas Instruments bt u nghiờn cu phỏt trin vo thỏng nm 1983 Phiờn bn u tiờn c cụng b vo thỏng 8-1985 Sau ú VHDL c xut t chc IEEE xem xột thnh mt tiờu chun chung Nm 1987 ó a tiờu chun v VHDL( tiờu chun IEEE-1076-1987) VHDL c phỏt trin gii quyt cỏc khú khn vic phỏt trin, thay i v lp ti liu cho cỏc h thng s VHDL l mt ngụn ng c lp khụng gn vi bt k mt phng phỏp thit k, mt b mụ t hay cụng ngh phn cng no Ngi thit k cú th t la chn cụng ngh, phng phỏp thit k ch s dng mt ngụn ng nht V em so sỏnh vi cỏc ngụn ng mụ phng phn cng khỏc ta thy VHDL cú mt s u im hn hn l: - Th nht l tớnh cụng cng: VHDL c phỏt trin di s bo tr ca chớnh ph M v hin l mt tiờu chun ca IEEE VHDL c s h tr ca nhiu nh sn xut thit b cng nh nhiu nh cung cp cụng c thit k mụ phng h thng - Th hai l kh nng c h tr bi nhiu cụng ngh v nhiu phng phỏp thit k: VHDL cho phộp thit k bng nhiu phng phỏp vớ d phng phỏp thit k t trờn xung, hay t di lờn da vo cỏc th vin sn cú VHDL cng h tr cho nhiu loi cụng c xõy dng mch nh s dng cụng ngh ng b hay khụng ng b, s dng ma trn lp trỡnh c hay s dng mng ngu nhiờn - Th ba l tớnh c lp vi cụng ngh: VHDL hon ton c lp vi cụng ngh ch to phn cng Mt mụ t h thng dựng VHDL thit k mc cng cú th c chuyn thnh cỏc bn tng hp mch khỏc tu thuc cụng ngh ch to phn cng mi i nú cú th c ỏp dng cho cỏc h thng ó thit k - Th t l kh nng mụ t m rng: http://www.ebook.edu.vn -6- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm VHDL cho phộp mụ t hot ng ca phn cng t mc h thng s cho n mc cng VHDL cú kh nng mụ t hot ng ca h thng trờn nhiu mc nhng ch s dng mt cỳ phỏp cht ch thng nht cho mi mc Nh th ta cú th mụ phng mt bn thit k bao gm c cỏc h c mụ t chi tit - Th nm l kh nng trao i kt qu: Vỡ VHDL l mt tiờu chun c chp nhn, nờn mt mụ hỡnh VHDL cú th chy trờn mi b mụ t ỏp ng c tiờu chun VHDL Cỏc kt qu mụ t h thng cú th c trao i gia cỏc nh thit k s dng cụng c thit k khỏc nhng cựng tuõn theo tiờu chun VHDL Cng nh mt nhúm thit k cú th trao i mụ t mc cao ca cỏc h thng mt h thng ln (trong ú cỏc h ú c thit k c lp) Th sỏu l kh nng h tr thit k mc ln v kh nng s dng li cỏc thit k: VHDL c phỏt trin nh mt ngụn ng lp trỡnh bc cao, vỡ vy nú cú th c s dng thit k mt h thng ln vi s tham gia ca mt nhúm nhiu ngi Bờn ngụn ng VHDL cú nhiu tớnh nng h tr vic qun lý, th nghim v chia s thit k V nú cng cho phộp dựng li cỏc phn ó cú sn 1.2 Gii thiu cụng ngh (v ng dng) thit k mch bng VHDL 1.2.1 ng dng ca cụng ngh thit k mch bng VHDL Hin ng dng chớnh v trc tip ca VHDL l cỏc ng dng cỏc thit b logic cú th lp trỡnh c (Programmable Logic Devices PLD) (bao gm cỏc thit b logic phc cú th lp trỡnh c v cỏc FPGA Field Programmable Gate Arrays) v ng dng ASICs(Application Specific Integrated Circuits) Khi chỳng ta lp trỡnh cho cỏc thit b thỡ chỳng ta ch cn vit mó VHDL mt ln, sau ú ta cú th ỏp dng cho cỏc thit b khỏc (nh Altera, Xilinx, Atmel,) hoc cú th ch to mt chip ASIC Hin nay, cú nhiu thng mi phc (nh cỏc vi iu khin) c thit k theo da trờn ngụn ng VHDL 1.2.2 Quy trinh thit k mch bng VHDL Nh cp trờn, mt s ln cỏc ng dng ca VHDL l ch to cỏc mch hoc h thng thit b cú th lp trỡnh c (PLD hoc FPGA) hoc ASIC Vic ch tao vi mch s c chia thnh giai on nh sau: http://www.ebook.edu.vn -7- Đề Ti 4: Thiết kế vi mạch VHDL - Nhóm Giai on 1: Chỳng ta bt u thit k bng vit mó VHDL Mó VHDL ny s c lu vo file cú uụi l vhd v cú tờn cựng vi tờn thc th Mó VHDL s c mụ t tng chuyn i ghi Hỡnh 1.1 Túm tt quy trỡnh thit k VHDL - Giai on 2: Giai on ch to: Bc u tiờn quỏ trỡnh ch to l biờn dich Quỏ trỡnh biờn dch s chuyn mó VHDL vo mt netlist tng cng Bc th ca quỏ trỡnh ch to l ti u Quỏ trỡnh ti u c thc hin trờn netlist tng cng v tc v phm vi Trong giai on ny, thit k cú th c mụ phng kim tra phỏt hin nhng li xy quỏ trỡnh ch to - Giai on 3: L giai on ghộp ni úng gúi phn mm giai on ny s to s sp xp vt lý cho chip PLD/FPGA hoc to mt n cho ASIC 1.2.3 Cụng c EDA - Cỏc cụng c phc v cho quỏ trỡnh thit k vi mch s l: Cụng c Active HDL: To mó VHDL v mụ phng http://www.ebook.edu.vn -8- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Cụng c EDA (Electronic Design Automation): l cụng c t ng thit k mch in t Cụng c ny c dựng phc v cho vic ch to, thc thi v mụ phng mch s dng VHDL Cụng c cho úng gúi: Cỏc cụng c ny s cho phộp tng hp mó VHDL vo cỏc chip CPLD/FPGA ca Altera hoc h ISE ca Xilinx, for Xilinxs CPLD/FPGA chips) 1.2.4 Chuyn mó VHDL vo mch Mt b cng y c mụ t hỡnh di õy: Hinh 1.2.a S tng quỏt v b cng y Trong ú, a , b l cỏc bit vo cho b cng, cin l bit nh u s l bit tng, cout l bit nh Hot ng ca mch c ch di dng bng chõn lý: Hỡnh 1.2.b Bng chõn lý ca b cng y Bit s v cout c tớnh nh sau: v T cụng thc tớnh s v cout ta vit on mó VHDL nh di õy: http://www.ebook.edu.vn -9- Đề Ti 4: Thiết kế vi mạch VHDL Nhóm Kt qu mụ phng: Hỡnh 9.12.Kt qu mụ phng b iu khin mỏy bỏn hng 9.6 B nhn d liu ni tip S ca b nhn d liu ni tip c ch hỡnh 9.13 Nú bao gm mt u vo d liu ni tip (din) v mt u d liu song song (data(6:0)) Ngoi cũn cú tớn hiu iu khin clk (tớn hiu clock) Hai tớn hiu giỏm sỏt c to bi mch l: tớn hiu err (error) v tớn hiu data_valid u vo x lý cha 10 bớt Bit u tiờn l bit bt u, nu bit l thỡ mch bt u nhn d liu bit tip theo l cỏc bit d liu hot ng Bit th l bit chn l: bit ny = nu s lng cỏc bit d liu la chn v bng trng h cũn li Bit 10 l bit stop: bit ny s mang giỏ tr l nu quỏ trỡnh chuyn i l ỳng Mt li c phỏt hin bit chn l khụng c kim tra hoc bit stop khụng phi la Khi quỏ trỡnh nhn kt thỳc m khụng cú li no c phỏt hin thỡ d liu c lu tr cỏc ghi bờn s chuyn vo data(6:0) v u data_valid c xỏc nhn Hỡnh 9.13 S b nhn d liu ni tip thit k mch ny chỳng ta s s dng mt vi bin lm cỏc bin m, bin xỏc nhn s bit nhn c, bin lu tr d liu, bin tớnh toỏn li v bin trung gian Mó thit k b nhn d liu ni tip s nh sau: LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY Bo_nhan_du_lieu_nt IS PORT ( din, clk, rst: IN BIT; data: OUT BIT_VECTOR (6 DOWNTO 0); http://www.ebook.edu.vn - 126 - Đề Ti 4: Thiết kế vi mạch VHDL Nhóm err, data_valid: OUT BIT); END Bo_nhan_du_lieu_nt; ARCHITECTURE arc OF Bo_nhan_du_lieu_nt IS BEGIN PROCESS (rst, clk) VARIABLE count: INTEGER RANGE TO 10; VARIABLE reg: BIT_VECTOR (10 DOWNTO 0); VARIABLE temp : BIT; BEGIN IF (rst='1') THEN count:=0; reg := (reg'RANGE => '0'); temp := '0'; err c->cd->d->de->e->ef->f->fa->a Hỡnh 9.18 hỡnh trng thỏi Quỏ trỡnh s dng li cú tớn hiu Stop, v ú mch s tr li trng thỏi a v ch cho n stop xung thp tr li H thng ca chỳng ta s gi li cỏc trng thỏi a, b, c, d , e, f khong thi gian time1 = 80ms v cỏc trng thỏi ab, bc, cd, de, ef, fa l time2 = 30ms Mó chng trỡnh ca chỳng ta s nh sau: -LIBRARY ieee; USE ieee.std_logic_1164.all; -ENTITY Trochoiled7thanh IS PORT ( clk, stop: IN BIT; dout: OUT BIT_VECTOR (6 DOWNTO 0)); END Trochoiled7thanh; -ARCHITECTURE arc OF Trochoiled7thanh IS CONSTANT time1: INTEGER := 4; Gia tri thuc te hien thi la 80 http://www.ebook.edu.vn - 130 - Đề Ti 4: Thiết kế vi mạch VHDL Nhóm CONSTANT time2: INTEGER := 2; Gia tri thuc te hien thi is 30 TYPE states IS (a, ab, b, bc, c, cd, d, de, e, ef, f, fa); SIGNAL present_state, next_state: STATES; SIGNAL count: INTEGER RANGE TO 5; SIGNAL flip: BIT; BEGIN - Phan mach day cua arc : -PROCESS (clk, stop) BEGIN IF (stop='1') THEN present_state [...]... vi m¹ch b»ng VHDL Nhãm 4 Hình 1.3 Mã thiết kế bộ cộng Từ mã VHDL này, mạch vật lý được tạo ra Tuy nhiên có nhiều cách để thực hiện phương trình được miêu tả trong ARCHITECTURE OF, vì vậy mạch thực tế sẽ phụ thuộc vào bộ biên dịch/bộ tối ưu đang được sử dụng và đặc biệt phụ thuộc mục đích công nghệ Hình vẽ sau đây thể hiện một số dạng kiến trúc của mạch cộng: Hình 1.4.a Các ví dụ về sơ đồ mạch có thể... kiểm tra ở mức thiết kế, như ta đã chỉ ra ở hình 1 Tất nhiên, chúng ta cũng có thể kiểm tra nó ở tầng vật lý, nhưng sau đó những thay đổi là rất tai hại Hình dưới đây là mô phỏng kết quả của đoạn chương trình đã viết ở trên cho mạch bộ cộng đầy đủ ở hình 1.3 Hình 1.4.b: Kết quả mô phỏng bộ cộng được thiết kế theo hình 1.3 http://www.ebook.edu.vn - 11 - §Ò Tμi 4: ThiÕt kÕ vi m¹ch b»ng VHDL Nhãm 4 Chương... có chứa cả các đoạn Code nhỏ của VHDL: các khai báo LIBRARY, ENTITY và ARCHITECTURE 2.1 Các đơn vị VHDL cơ bản Một đọan Code chuẩn của VHDL gồm tối thiểu 3 mục sau: • Khai báo LIBRARY: chứa một danh sách của tất cả các thư viện được sử dụng trong thiết kế Ví dụ: ieee, std, work, … • ENTITY: Mô tả các chân vào ra (I/O pins) của mạch • ARCHITECTURE: chứa mã VHDL, mô tả mạch sẽ họat động như thế nào Một... phỏng sẽ xác định tín hiệu ngõ ra tương ứng Ví dụ 2.2: DFF kết hợp với cổng NAND Mạch điện ở hình 2.7 là sự kết hợp của 2 hình 2.4 và 2.5 Trong lời giải sau đây, chúng ta đã giới thiệu một cách có chủ định một tín hiệu không cần thiết (temp), chỉ để minh họa một tín hiệu sẽ được khai báo như thế nào Hình 2.7 DFF kết hợp với cổng NAND Mã thiết kế: ENTITY example IS PORT ( a, b, clk:... AND clk='1') THEN q