1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế lõi vi xử ký RISC-V RV32I tích hợp khối điều khiển JTAG ứng dụng vào việc nạp lệnh chương trình trên FPGA

82 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Lõi Vi Xử Ký RISC-V RV32I Tích Hợp Khối Điều Khiển JTAG Ứng Dụng Vào Việc Nạp Lệnh Chương Trình Trên FPGA
Tác giả Nguyen Nhut Truong, Ho Kha Trinh
Người hướng dẫn ThS. Pham Thanh Hung, TS. Tran Phuoc Xuan
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ Thuật Máy Tính
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 82
Dung lượng 77,68 MB

Nội dung

TÓM TẮT KHÓA LUẬNTrong bài báo cáo này, nhóm sẽ trình bày các kiến thức liên quan đến việc thiết kế lõi điều khiển JTAG TAP, lõi vi xử lý RISC-V RV32I, sự kết nối giữa hai thiết kế ké tr

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

HO KHẢ TRÌNH — 20522059

NGUYEN NHUT TRƯỜNG - 20522088

KHOA LUAN TOT NGHIEP

THIET KE LOI VI XU LY RISC-V RV32I TICH HOP

KHOI DIEU KHIEN JTAG UNG DUNG VAO VIEC NAP

LENH CHUONG TRINH TREN FPGA

DESIGN AND INTEGRATION OF RISC-V RV32I MICROPROCESSOR CORE AND JTAG CONTROLLER BLOCK APPLYING TO PROGRAM INSTRUCTION CODES

IMPLEMENTED ON FPGA

CU NHAN KY THUAT MAY TINH

GIANG VIEN HUONG DAN

ThS PHAM THANH HUNG

TS TRAN PHUOC XUAN

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Trong suốt quá trình nghiên cứu, nhóm chúng em may mắn nhận được sựgiúp đỡ từ các thầy cô Khoa Kỹ thuật Máy tính, đặc biệt là thầy ThS Phạm ThanhHùng và thầy TS Trần Phước Xuân Các thầy đã truyền đạt cho chúng em nhữngkiến thức cần thiết, cũng như là hướng thiết kế chi tiết dé chúng em có thể hoànthành đề tài khóa luận này một cách hiệu quả nhất

Chúng em cũng muốn gửi lời cảm ơn chân thành đến các thầy cô thuộcKhoa Kỹ thuật Máy tính nói riêng cũng như Trường Đại học Công nghệ Thôngtin nói chung đã tạo điều kiện thuận lợi cho chúng em có một môi trường học tập

và nghiên cứu tốt nhất, đồng thời hỗ trợ chúng em trong quá trình thực hiện đềtài khóa luận này Những kiến thức và kinh nghiệm mà chúng em tiếp nhận được

từ các thầy cô sẽ luôn là thứ tài sản vô giá trong việc phát triển sự nghiệp củachúng em.

Ngoài ra, nhóm chúng em cũng muốn gửi lời cảm ơn đến gia đình, bạn bè

và những người thân yêu đã luôn động viên, hỗ trợ và khuyến khích chúng emtrong suốt quá trình thực hiện khóa luận Nhờ có sự giúp đỡ của mọi người, nhóm

đã có thể vượt qua những khó khăn và hoàn thành đề này khóa luận này một cáchtốt nhất

Cuối cùng, nhóm chúng em xin gửi lời cảm ơn chân thành đến tất cả những

người đã giúp đỡ và hỗ trợ nhóm trong suốt quá trình nghiên cứu và thực hiện đồ

án này Ít nhiều những sự hỗ trợ ấy cũng đã đóng góp vào việc hoàn thành đề tài

khóa luận Nhóm chúng em hy vọng rằng đề tài khóa luận này sẽ có ích cho cộng

đồng, đặc biệt là cộng đồng Vi mạch đang có xu hướng phát triển rất mạnh mẽ.Hơn thế nữa, nhóm mong muốn đóng góp vào sự phát triển của chuyên ngànhThiết kế vi mạch — nhóm ngành Kỹ thuật Máy tính nói riêng và ngành Công nghệ

thông tin nói chung.

Trang 3

MỤC LỤC

Chương 1 GIGI THIỆU TONG QUAN ĐỀ TÀI -2- 2+ ©52+£+£xczzscsees 2

1.1 Dat vấn đề tt TT HH g1 11221 11 121gr reu 21.2 Cac nghiên cứu liên qua1 5 << + + vn vn TH ng tưng 21.3 Mục tiêu đề tài 5c 2kc2t 2 22221211211 2211211 112111111211 rree 3

Chương 2 TONG QUAN VE GIAO THUC GIAO TIẾP JTAG - 4

2.1 Giới thiệu tổng quan về JTAG voececeececcccccscssessessessessessessessessessesssssesesseseseess 42.2 Lịch sử phát triển -:- c-©kSk+EkEEkEEEE121122121121121121121111 1.1.1 re 5

2.3 Ứng dụng ck k2 E21 11211211211 11111 1111.11.11 re 6

3.1 Tổng quan thiết kế JTA ¿- :- ++S<+SE2EE+EEEEEEEE2EEEEEEEEEEErErrrrrrree 7

3.1.1 Mơ tả thiết kế :- +22 22k 222212121121 1Exetkerrrrrkee 73.1.2 Nguyên lý hoạt động cơ bản của JTAO - ccxcsecseesesrske 9

3.3 Bộ điều khiến TAP — TAP Controller -s- ¿s2 s+s£+£+zxzxzzsrsez 12

3.3.1 Máy trạng tháti -.c- Ăn TH ng TH nh tư tr 12

3.3.2 Quá trình điều khiển thanh ghi - 2-2 2 2 s+++E++EzEzEzxzes 143.3.3 Hiện thực TAP ContrỌÏer + << * + * +22 +++zeeeeeezsese 16 3.3.4 Thanh ghi lệnh — Instruction Register (TR) - - «+ +-<<+<<<<+ 20 3.3.5 Thanh ghi dữ liệu — Data Register (DR) . 52-55 ss< sex 23 3.3.6 Quy trình tải lên một lệnh + 2 +£+£+££+£E+£E++Extrxezreerxeree 273.3.7 Sơ đồ nạp lệnh trong TAIP - 2: 2¿5222++2E2EE£EECEEESEEerkrrerrkrree 293.4 Mơ phỏng thiết kế JTAG-TAP 2-52 5ESE+EE+EE+EE2EE2EEEEEEEEEErErrrerree 35

3.4.1 Lệnh EXTESÏT - Ặ- HT, 35

Trang 4

3.4.2 Lệnh SAMPLE/PRELOADD - esececeseeesecseeeeeeseesseseeeaesneees 36

3.4.3 00900 36 3.4.4 Lệnh DEBG Ăn TH HH HH ngà ng 37 3.4.5 0/5106 ‹< 38

Chương 4 _ QUY TRÌNH THIET KE LOI VI XỬ LÝ RV321 - 40

4.2 Lịch sử phát triỂn -:- ke SE EEE122121111211 1.1.1, 404.3 Lợi ích của việc sử dụng RISC- .- SH ng 4I

4.7 _ Chu kỳ nạp lệnh (FETCH CYCLE) - 53c *+* + E+vsereereereerers 48 4.8 Chu kỳ giải mã lệnh (DECODE CYCLE) - 55+ £+vcseeseesrrs 49 4.9 Chu kỳ thực thi (EXCUTE CYCLE) - c5 se ssseereereereererrs 51

4.10 — Chu kỳ truy xuất bộ nhớ (MEMORY CYCLE) - ¿s5 s+x+zcx2 524.11 Chu kỳ ghi kết quả (WRITE-BACK CYCLE})\ ©5255+ 552 52

4.12 Mô phỏng kiểm tra hoạt dOng ceccecccccceessessessessesessessessessessessesessessesees 53

Chương 5 THIET KE TONG HOP o0.eccecceccescssessessessessessessessessessessessessesesseasesees 58

Trang 5

5.1 Tổng quan -:- + St+Sk9EE£EkEEEEEEEEEEE122121111121121121111 1.1.1.1 585.2 Mô hình thiết kế tong hop o scccscccssesssesssssssssssesssessscssecssecssecssecssecsusssecssecsses 60

Chương 6 KICH BAN KIEM TRA THIET KẾ -22 522522525522 63

6.1 Tổng quaniee.ccscceccecccscsscssessessesssssessessessessessessessessessesscsuesscssesuessesscsseansaseasease 63

Chương 7 KẾT LUẬN :-©ESE+EE+EESEEEEEEEEEEEEEEEEE2E12E1E.Ee Lee, 68

7.1 Tổng kẾt c 2222k 22 2222212211211 tre 687.2 Kết quả đề tài -c- St St TT E1 E1011211211211211211211 21111 re 68

Trang 6

6 I/O ports của TAP COTIẨTỌÏ€T - 2G 5 111318231 911 1k key 17

7 Sơ đồ khối thiết kế cell 1-bit của IR 2- 2 5++z++cx+zxczxserxez 22

8 Sơ đồ thiết kế và giao diện của BSC :¿©22©c++cxccxerxerrrrrerxee 24

9 Sơ đồ thiết kế BSR -2- 222222 2212212221221711221 221211211211 tre 25

10 Giao diện kết nối kiểm tra chip#2, bỏ qua chip#1 & chip#3 26

11 Sơ đồ thiết kế thanh ghi BR ¿ .¿-5¿©25£©5+£2x++£x+erxeerxesrxesred 27

12 Cầu trúc của thanh ghi lệnh (I) - c5 5 SE sksseeksseessseree 27

13 Sơ đồ nạp lệnh EXTEST - 2-2 ++E++EE+EE+EE+EE+EE+EEEEEzEEzErrrrerree 29

14 Sơ đồ nạp lệnh SAMPLE/PRELOAD 2-2 2 2+££+££+£2zzzse2 30

15 Sơ đồ nạp lệnh IDCODE 2- 2 2 2 £+E££EE+EE£EE£EE£EE+EErEzrrrerree 31

16 Sơ đồ nạp lệnh DEBUG 2: 5¿©+£2+£2E+2E++EE++Ex+erxesrxesred 32

17 Sơ đồ nạp lệnh MBIST - 2-2 5¿++£+EE£E£+EE+EEzEEvrxerxrrreerseee 33

18 Sơ đồ nạp lệnh BYPASS ¿- 2-5252 E2 EEEEEEE2EEEEEcrkrree 34

19 Waveform mơ phỏng lệnh EXTIESTT -. <5 55+ + ++*++vsseeeeerss 35

20 Waveform mơ phỏng lệnh SAMPLE/PRELOAT) -«<- 36

21 Waveform mơ phỏng lệnh [IDCODEE - 5- 55+ £++*£++++seesx+ 36

22 Waveform mơ phỏng lệnh DEBG - - ©5555 £S+£++++seese+ 37

23 Waveform mơ phỏng lệnh MBISÏT ©5555 £<+<£++c+scese+ 38

24 Waveform mơ phỏng lệnh BYPASS eeeeeescesceeeteceneeeeeeceneeesneeenees 38

1 Minh hoa pipeline 5 tang c.ccecceccsccsseesessessessessessessessesssssessesscsneseseeseeaee 43

2 So đồ pipeline xảy ra xung đột ở lệnh IW 2-2 2+cs+sz+zz+se2 44

Trang 7

Hình 4 3 Sơ đồ pipeline dùng stall giải quyết xung đột dit liệu - 45

Hình 4 4 Sơ đồ pipeline dùng stall processor giải quyết xung đột điều khién 46

Hình 4 5 Kiến trúc tập lệnh RISC-V RV32I procesSOr 2 2 5z©5z25sz©s+2 48 Hình 4 6 Waveform mô phỏng chu ky tìm nạp lệnh - «<< <++s>+ss2 53 Hình 4 7 Waveform mô phỏng chu kỳ giải mã lệnh 25 «+55 <++s++sss2 53 Hình 4 8 Waveform mô phỏng chu ky thực thi oo ee eeeeeeeeceseeeneeeeeeeeeeeeseeenes 54 Hình 4 9 Mô phỏng thiết kế RISC-V hoàn chỉnh (1) c.ccccccsscsssesseessessesssessesseesseeees 55 Hình 4 10 Mô phỏng thiết kế RISC-V hoàn chỉnh (2) 2-2 2 22 2+s2zs+ 55 Hình 5 1 Mô hình thiết kế tổng hợpp - 2-2 ©5¿+£++++£+£++£x++Ezrxerxezrxerxee 60 Hình 5 2: Quy trình nạp một lệnh vào bộ nhớ IMEM của RISC-V thông qua JTAG-TAẠPP c<cc<c-. 55E775⁄⁄2772 Hỹ TT nh 61

Hình 5 3 Mô phỏng việc nạp mã lệnh vào bộ nhớ IMEM - «<< «<2 62 Hình 6 1 Waveform kiểm tra thiết kế tông hợp - 2-2 22+z+£z+£z+zzzxze: 63 Hình 6 2 Thiết bị Adruino Namo -¿- - ¿5s St EEE+E#EEEE‡EeEEEEeEeEkekeEerkekererxervrs 63 Hình 6 3 Test-bench kiểm tra giá trị của thanh ghi -2 2 ¿2csz+cxz+cs+2 64 Hình 6 4 Kết quả khi double-check các thanh ghi với giá trị mong muốn 65

Hình 6 5 Ví dụ thiết kế lệnh điều khién của JTAG-TAP bằng code arduino 66

Hình 6 6 Đoạn chương trình mô phỏng việc kiểm tra thiết kế -. - 67

Hình 6 7 Kết quả được in ra ở màn hình console của quá trình kiểm tra 67

Hình 7 1 Kết quả tần số của thiết kế - 2-2 5¿+5++Ex+£E£2EE£EEtzEvrxerxrzreerxree 69 Hình 7 2 Kết quả sử dụng tài nguyên của thiết kế 2-2 2+z+sz+sz+szzxz+‡ 70 Hình 7 3 Giá tri toggle rate mặc định - - 5 + + SE 9 1191 1 1 x1 r rưy 71 Hình 7 4 Công suất tiêu thụ cho giá trị toggle rate mặc định -: 71 Hình 7 5 Giá trị toggle rate tối đa - 2-52 Sc 2k2 EEE12E1211211221211211 21.21 xe, 71 Hình 7 6 Công suất tiêu thụ với giá trị toggle rate tối đa - 2 2s: 72

Trang 8

DANH MỤC BANG

Bảng 1.1 So sánh thiết kế với khóa luận trước 2-2 2+2+£+£++x+zx+zxzzxzxez 3Bang 3.1 Các tín hiệu điều khiển TAP controller 2-2 2 s2 s+szz££2£z+s£zszzz 17Bang 3.2 Các tín hiệu điều khiển phụ thuộc vào ESM 2 252552255: 18Bảng 3.3: Các lệnh kiểm tra được sử dụng trong thiết kẾ 2-2-2 z+sz+s+ 20

Bang 4.1 Các tín hiệu điều khiển của khối Control Unit 2-2-2525: 50

Bảng 5.1 Mô tả chức năng của user-commannd§s -« s «+ s+++s+seeessess 58

Bang 7.1 So sánh với khóa luận true - 5 <6 + 1x vn ng nh rưy 72

Trang 9

DANH MỤC TU VIET TAT

BR Bypass Register

BSC Boundary Scan Cell

BSDL Boundary Scan Description Language BSR Boundary Scan Register

DIDR Device ID Register

DFT Design For Testability

DR Data Register

FPGA Field Programmable Gate Array

FSM Finite State Machine

1O Input/Output

IR Instruction Register

JTAG Join Test Action Group

LSB Least Significant Bit

MSB Most Significant Bit

PDL Program Description Language

SoC System on Chip

TAP Test Access Port

TCK Test Clock

TDI Test Data Input

TDO Test Data Output

TMS Test Mode Select

TRST Test Reset

Trang 10

TÓM TẮT KHÓA LUẬN

Trong bài báo cáo này, nhóm sẽ trình bày các kiến thức liên quan đến việc thiết

kế lõi điều khiển JTAG TAP, lõi vi xử lý RISC-V RV32I, sự kết nối giữa hai thiết kế

ké trên, hỗ trợ việc nạp lệnh vào RISC-V thông qua JTAG và kết quả thực hiện đềtài Nội dung của toàn bộ của bài báo cáo bao gôm các chương sau:

Chương 1: Trình bày tông quan về dé tài khóa luận, các nghiên cứu liên quan

và mục tiêu của đề tài

Chương 2: Trình bày lý thuyết về giao thức JTAG

Chương 3: Trình bày quy trình thiết kế chỉ tiết, kết quả kiểm tra, mô phỏngTAP Controller.

Chương 4: Trình bày quy trình thiết kế và kiểm tra lõi vi xử lý RISC-V R V321.Chương 5: Trình bày chỉ tiết thiết kế tổng hợp

Chương 6: Trình bày kịch bản kiểm tra thiết kế tổng hợpChương 7: Kết luận

Nội dung của toàn bộ bài báo cáo này được trình bày trong 7 chương Mỗi một

chương sẽ trình bày chỉ tiết những nội dung được đề cập ở trên

Trang 11

Chương 1 GIỚI THIEU TONG QUAN DE TÀI

1.1 Đặt vấn đề

Ngày nay, các thiết kế vi mạch có số lượng chân lớn ngày càng phô biến và mật

độ tích hợp các linh kiện trên một bo mạch ngày cảng tăng cao Di kèm với đó là vấn

đề kiểm tra, kiểm thử thiết kế trở nên phức tạp, cần được cải thiển với độ chính xác

cao và tốn it thời gian hơn Do đó, các phương pháp kiểm tra thiết kế dan được hoànthiện và tạo thành một hệ thống sỡ lỗi hoàn chỉnh Hệ thống này cho phép người dùngkiểm tra, gỡ lỗi trực tiếp trên thiết kế Hệ thống gỡ lỗi có thiết kế phức tạp và được

chia làm hai hệ thống chính: phần mềm và phần cứng Phần mềm được thiết kế nhằm

tạo nên một môi trường cho phép người dùng dé dàng kiểm tra gỡ lỗi Đối với phầncứng thì được thiết kế như một hệ thống SoC bao gồm cả thiết kế cần kiểm tra Hai

hệ thống này được thiết kế tách biệt hoàn toàn với nhau, dé hai hệ thống này có thégiao tiếp với nhau người ta thường sử dụng một chuẩn giao thức được gọi là JTAG.Nhiều hệ thống gỡ lỗi ngày nay chủ yếu sử dụng chuẩn giao thức JTAG này, nhờ có

nó nên nhiều phương pháp kiểm tra hiện này có độ chính xác cao và giúp tiết kiệmthời gian và chi phí khi kiểm tra

1.2 Các nghiên cứu liên quan

Ngày nay, giao thức JTAG được sử dụng rất phô biến, ứng dụng của nó hầu hết

nằm trong các hệ thống SoC, hệ thống gỡ lỗi Các nghiên cứu ứng dụng JTAG hầuhết đều có thiết kế theo chuẩn IEEE 1149.1 Hiện nay, trong nước ta chưa có bai viếtnghiên cứu ứng dụng JTAG cụ thể, tuy nhiên có một số bài viết giới thiệu về JTAG.Bài viết của tác giả Nguyễn Quân vào năm 2019 trên trang blog cá nhân, giới thiệu

về JTAG, ứng dụng và các kiến thức liên quan khác Ngoài ra, bài viết còn trình bày

ứng dụng lập trình bộ nhớ trên 3 chip tích hợp với giao thức JTAG, ứng dụng nay

gan tương tự với một hệ thống gỡ lỗi phan cứng Với các nghiên cứu ở nước ngoàihầu hết đều có ứng dụng cụ thể Như bài nghiên cứu có tên “A High-Performance

SoC Debug Platform” của nhóm tác giả Kuo-Kai Liu, Wen-Hsuan Hsu & Kuen-Jong

Lee được công bố vào năm 2015, nghiên cứu trình bay một hệ thống gỡ lỗi hoàn

Trang 12

chỉnh được nhóm tác giả hoàn thiện Hệ thống này là một ứng dụng phô biến củaJTAG hiện nay.

Bên cạnh đó, trong thư viện các đề tài khóa luận đã tốt nghiệp của Khoa Kỹthuật Máy tính — Trường Dai học Công nghệ Thông tin cũng có một nghiên cứu về

JTAG-TAP hỗ trợ cho vi xử lý MIPS-32bits của tác giả Chướng Sec Váy Ở nghiên cứu này, nhóm sẽ dựa trên thiết kế của anh Chướng Sec Váy để đánh giá so sánh về

mức độ cải tiên của đê tài.

chương trình và gỡ lỗi của lõi vi xử lý RISC-V.

Xây dựng test-bench, test case dé kiểm tra hoạt động toàn bộ thiết kế Khi đãchắc chăn thiết kế hoạt động đúng, tiễn hành viết code cho module ArduinoNano nhằm điều khiển I/O port của FPGA

Hiện thực và tối ưu kết quả trên board mach FPGA Ở đây nhóm sử dụng boardmạch DE2 Cyclone II của tập đoàn Altera.

Bảng 1.1 So sánh thiết kế với khóa luận trước

Đặc điểm nghiên cứu | Khóa luận trước Thiết kế này

FPGA Virtex 7 DE2 Cyclone IITần số 55,6 MHz Cao hơn khóa luận trước

Chức năng Chỉ hỗ trợ debug | Hỗ trợ nạp lệnh và debug

Trang 13

Chương 2 TONG QUAN VE GIAO THUC GIAO TIẾP JTAG

2.1 Giới thiệu tổng quan về JTAG

Giao thức JTAG là cách gọi ngắn gọn theo tên của nhóm tạo ra chuẩn giao tiếpnày Tên chính thức của chuẩn giao tiếp này là “IEEE Standard Test Access Port andBoundary Scan Architecture” Trong đó, hai nội dung chính được đề cập:

e Nội dung về TAP quy định giao tiếp và hoạt động của TAP trên chip

e Boundary Scan quy định một phương pháp và cách thức kiểm tra các kết nối bên

trong chip và các chân trên bo mach in.

JTAG là một giao thức được sử dụng trong việc kiểm tra, nạp chương trình và gỡ

lỗi các vi mạch số Nó cung cấp khả năng truy cập và điều khiển các thành phần nội

bộ của một hệ thống số, bao gồm vi xử lý, bộ nhớ và các thiết bị ngoại vi Giao thứcJTAG sử dụng các tín hiệu đồng bộ để truyền dữ liệu và kiểm soát trạng thái của cácthành phần TAG-TAP cho phép truy cập và điều khién các thành phan nội bộ của

một hệ thống số thông qua các tín hiệu và trạng thái đã đề cập Nó được sử dụng rộng

rãi trong việc nạp chương trình vào vi điều khién và FPGA kiểm tra lỗi và gỡ lỗi vimạch số, thậm chí trong việc phân tích và đọc lại các thiết kế vi mạch JTAG-TAPcung cấp khả năng truy cập đầy đủ vào các thành phần nội bộ của một vi mạch sé,bao gồm thanh ghi dữ liệu (data registers), thanh ghi chỉ thi (instruction registers),các mạch kiểm tra logic (logic test circuits) và các thành phần khác Nó cho phép lậptrình, đọc và ghi dữ liệu vào các thanh ghi, kiểm tra và điều khiển các tín hiệu nội bộ,thậm chí thay đổi cấu hình của vi mạch

Tính linh hoạt và khả năng truy cập mạnh mẽ của JTAG-TAP đã làm cho nó trởthành một công cụ quan trọng trong việc xây dựng, kiểm tra và gỡ lỗi các hệ thống

số phức tạp Nó được sử dụng trong nhiều lĩnh vực như thiết kế vi mạch, sản xuất,nghiên cứu và phát triên phân mêm nhúng.

Trang 14

2.2 Lịch sử phát triển

Vào những năm 80 của thé ki 20, mach in nhiều lớp, mạch tích hợp với số lượng

chân lớn có dạng đóng gói ở dạng mạng lưới như ball grid array hoặc pin grid array

và các bo mạch in có tích hợp số lượng lớn linh kiện ngày càng phổ biến Do đó,

khiến việc kiểm tra kết nối của chip trên bo mạch phức tạp, tốn nhiều thời gian và

khó sử dụng phương pháp đầu dò (probe) thông thường Bên cạnh đó, tại thời điểm

này, việc kiểm tra một bo mạch chủ yếu dựa vào hai phương pháp Bed-of-nails vàkiểm tra chức năng (function test) Bed-of-nails, tạm dịch là “nền đinh” Phương phápnày kiểm tra bo mạch bang cách đặt bo mach cần kiểm tra lên trên nền đỉnh hay còn

gọi là đầu do, tiếp xúc trực tiếp với các điểm kiểm tra trên bo mạch đề thực hiện việc

kiểm tra Kiểm tra chức năng là việc kiểm tra khả năng hoạt động của một linh kiệnbằng cách đưa các mẫu (giá trị) kiểm tra đến linh kiện cần kiểm tra và giám sát cácđáp ứng từ linh kiện này Việc chỉ sử dụng hai phương pháp trên làm thời gian kiểmtra lâu, chi phí cao Năm 1985, tô chức Joint Test Action Group được thành lập vàbat đầu phát triển một tiêu chuẩn giải quyết các van đề trên Giữa năm 1986 và 1988,tiêu ban kỹ thuật JTAG (JTAG Technical Subcommittee) đã phát triển và công bốmột nhóm các đề xuất về dạng chuẩn của boundary-scan Trong năm 1988, JTAGđược quyết định sẽ trở thành nền tảng của một tiêu chuẩn trong họ Bus kiểm tra(Testability Bus) va dự án P1149.1 được khởi động Vào thang 2 năm 1990, chuẩngiao tiếp này được phê duyệt lần đầu tiên và được tiếp tục chỉnh sửa, nâng cấp vàhoàn thiện Tháng 6 năm 1993, phiên bản IEEE Std 1149.1-1193 được chấp nhận vớinhững bổ sung thêm:

e Hai lệnh tùy chon là CLAMP và HIGH-Z.

e Cơ chế cho phép chuyển đổi chế độ hoạt động của một thành phan

(component) tương thích chuẩn này sang một cơ chế DFT khác Tháng 9 năm

1994, phiên bản IEEE Std 1149.1b-1994 được chấp nhận Bản này bổ sungthêm phụ lục về ngôn ngữ mô tả Boundary-scan (Boundary-Scan Description

Language).

Trang 15

Phiên bản mới nhất được sử dụng cho tới ngày nay là IEEE 1149.1-2013 Phiênbản này có nhiêu bô sung hơn so với các phiên bản trước đó:

Phụ lục D trình bày thêm các ví dụ cho BSDL và PDL khi sử dụng cùng nhau.

Phụ lục E đưa ra một số ví dụ pseudo-code về việc thực thi của lệnh iApply

trong PDL, một lệnh phức tạp nhất trong các lệnh mới của PDL

Một số chỉnh sửa bổ sung khác

Ứng dụng

So với các phương pháp kiểm tra trước đó, phương pháp sử dụng giao thức giaotiếp JTAG có nhiều ưu điểm hơn như:

Số lượng chân giao tiếp ít

Hoạt động của giao thức đơn giản làm cho thiết kế phần cứng cũng như lậptrình phần mềm đơn giản hơn

Tính linh động, cho phép tích hợp nhiều chức năng riêng.

Với những ưu điểm trên, JTAG được sử dụng rộng rãi với nhiều mục đích như:

Program - Nạp chương trình cho chip.

Chip test - Kiểm tra kết nói và hoạt động bên trong chip sau khi chế tạo thông

qua việc điều khiển các thành phan DFT của chip

Debug - hoạt động của chip trong quá trình phát triển phần mềm, firmware vàsoftware.

Connection test - Kiểm tra kết nói khi chip tích hợp trên bo mạch in

Trang 16

Chương 3 THIẾT KE LOI DIEU KHIỂN JTAG - TAP

3.1 Tống quan thiết kế JTAG

Hình 3 1 So đồ thiết kế chuẩn giao tiếp JTAG

Trang 17

Kiến trúc của chuẩn giao tiếp JTAG bao gồm các thành phan chính sau đây:

© Các chân giao tiếp JTAG được gọi là TAP bao gồm các chân: TCK,

TMS, TRST, TDI, TDO.

e TAP Controller- bộ điều khiển chính của thiết kế Các tín hiệu điều

khiển từ bus master sẽ được bộ điều khiển này nhận và tạo ra các tín

hiệu điều khiến cho các thanh ghi và các thành phần khác.

e Thanh ghi lệnh — IR, thành phan lưu trữ lệnh điều khiển của JTAG.

e Tập thanh ghi di liệu — DR, bao gồm nhiều thanh ghi với các mục

đích khác nhau:

o BYPASS register là thanh ghi 1-bit, cho phép dịch dữ liệu bỏ

qua chip cần kiểm tra

o DEVICE ID register là thanh ghi 32-bit dữ liệu, lưu thông tin

cua chip o Boundary scan register — BSR, được đặt tại vi trí

giữa các ngõ vao/ra của core logic va các ngõ vao/ra cua chip.

Mục đích chính của thanh ghi nay là kiểm tra kết nối hoặchoạt động cua chip.

o Các thanh ghi dữ liệu khác có mục đích riêng tùy thuộc vào

mục đích kiểm tra của người dùng Số lượng của các thanh ghi này không có định tùy vào thiết kế của từng chip Ngoài

các thanh phần đã nêu như trên, thiết kế còn có một số thànhphần cơ bản hỗ trợ việc điều khiển như mux, demux, flip-flop,tri-state, Thiết kế giao thức JTAG dựa trên chuẩn thiết kếIEEE 1149.1 đảm bảo thiết kế có thể tích hợp được nhiềuchip, ngoài ra còn giúp việc hiện thực thiết kế nhanh chóng

và chắc chăn ở từng công đoạn.

Trang 18

3.1.2 Nguyên lý hoạt động cơ bản của JTAG

Logic JTAG là thành phan thụ động sẽ thực thi các hoạt động theo điềukhiển của một bus master Bus master thực thi hai tác vụ chính sau đây:

e Bus master sẽ lái TCK va TMS dé điều khiển TAP Controller, cu

thé la may trang thai trong TAP Controller.

e Bus master sẽ lái TCK va TDI dé dich từng bit dit liệu nối tiếp từ

TDI vào thanh ghi đang được chọn va từ thanh ghi đang được chon

ra TDO Hoạt động dịch nối tiếp từng bit vào và ra các thanh ghi

còn được gọi là xử lý quét (Scan Operation) Các thanh ghi được

chọn là một trong các thanh ghi sau:

o Thanh ghi lệnh

o Thanh ghi BYPASS

o Thanh ghi DEVICE ID

o Thanh ghi BSR

o Các thanh ghi dữ liệu khác

Việc điều khiển logic JTAG tập trung chính vào câu hỏi "Làm thế nào busmaster có thể nạp và đọc giá trị của các thanh ghi?" Logic JTAG sẽ hỗ trợ mộtmáy trạng thái dé thực hiện điều này Chi tiết về máy trạng thái này sẽ đượctrình bày ở chương kế tiếp

3.2 TAP-— Test Access Port

TAP được biểu hiện trong Hình 3.2 là tập hợp các chan I/O của JTAG giúpgiao tiếp với các thiết bị khác, bao gồm các tín hiệu: TCK, TDI, TMS, TDO, TRST(chân tín hiệu này có thé tùy chỉnh theo mục đích thiết kế) Chúng được điều khiển

bởi TAP.

Trang 19

Giao thức JTAG được kết nói với bus master chủ yêu thông qua TAP Thành

phần này là các chân tín hiệu giao tiếp trực tiếp với bus master, JTAG bao gồm các

tín hiệu sau:

e TCK - Test Clock, đầu vào cung cấp xung clock cho JTAG

© Cung cấp xung clock cho các thành phần như TAP Controller

và các thanh ghi bắt buộc được quy định trong IEEE 1149.1.TCK sẽ giữ cỗ định ở mức thấp (0) hoặc cao (1) trong suốtquá trình bus master rảnh hoặc đang bận xử lý tác vụ khác.

Trong quá trình bus master điều khiển giao thức JTAG, xung

clock TCK sẽ có duty cycle là 50%.

e TMS - Test Mode Select là tín hiệu điều khiển chế độ hoạt động

của JTAG.

© Đầu vào này cung cấp tín hiệu điều khiển cho TAP

Controller TAP Controller sẽ dựa vao giá tri tín hiệu này đểchuyền đổi các trạng thái hoạt động của máy trạng thái

TAP Controller ghi nhận giá tri tại cạnh lên của TCK.

10

Trang 20

o Tín hiệu sẽ giữ ở mức 1 nếu không sử dụng hoặc trong suốt

quá trình TRST tích cực.

e TRST- Test Reset, là chân reset bat đồng bộ tích cực mức cao Tín

hiệu này có thé có hoặc không trong giao thức JTAG, tủy vào mụcđích thiết kế:

o TAP Controller sẽ giữ ở trạng thái TEST_LOGIC RESET

khi tín hiệu TRST tích cực.

o Tín hiệu này chi reset logic test, không reset bat cứ logic hệ

thống nào

o_ Tín hiệu giữ ở mức logic 0 nếu không sử dụng

e TDI- Test Data Input là ngõ vào dữ liệu nối tiếp của thanh ghi lệnh

hoặc các thanh ghi dữ liệu:

o Được lay mẫu tại cạnh lên của TCK

o Giữ ở mức 1 nếu không sử dụng

e TDO - Test Data Output là đầu ra dữ liệu nối tiếp của thanh ghi

lệnh hoặc các thanh dữ liệu:

© Được tải theo cạnh xuống của TCK Một số lưu ý quan trọng

đối với TAP khi thiết kế giao tiếp JTAG: TAP Controller sẽ

ghi nhận mẫu các tín hiệu ngõ vào tại cạnh lên của TCK và

lái ngõ ra TDO bằng cạnh xuống của TCK; các chân tín hiệuTMS, TDI, TRST sẽ được giữ ở mức logic 1 nếu không sửdụng.

11

Trang 21

3.3 Bộ điều khiển TAP — TAP Controller

3.3.1 May trạng thái

TAP Controller là một máy trang thai (FSM), có xung clock chính là TCK

và tín hiệu điều khiển là TMS So đồ FSM của TAP Controller được mô tảnhư hình bên dưới.

Hình 3 3: Sơ đồ máy trạng thái của TAP Controller

Sơ đồ máy trang thái cho thay hai quá trình điều khiển trạng thái thườngđược gọi là quá trình điều khiến thanh ghi dữ liệu và quá trình điều khiến thanhghi lệnh Các trạng thái được chuyền đổi tại thời điểm cạnh lên của TCK va

12

Trang 22

điều kiện chuyên trạng thái dựa vào giá trị của TMS Hai quá trình điều khiểnthanh ghi đều có các trạng thái và ý nghĩa tương tự nhau:

e Trạng thai Select (DR/IR) — Scan, là trạng thái trung gian cho phép

chọn điều khiến các thanh ghi DR hoặc IR Việc chọn điều khiểncác thanh ghi DR phụ thuộc vào lệnh hiện tại có trong IR.

e Trạng thái Capture — (DR/IR), là trạng thai cho phép nạp song song

các thành ghi DR hoặc IR Dữ liệu được nap là dir liệu mà ngườithiết kế mong muốn sẽ được đọc thông qua TDO Dữ liệu này cóthé là một giá trị cố định, lấy từ logic hệ thống, hoặc lấy từ logickiểm tra

e Trạng thai Shift — (DR/IR), là trang thái dich dữ liệu vào DR/IR

thông qua TDI va dịch dữ liệu từ DR hoặc IR ra TDO.

e Trang thái Exit 1 - (DR/IR), là trang thái trung gian có thé chuyên

qua trạng thái tạm dừng dịch dữ liệu trên (DR/TR) hoặc thoát khỏi

quá trình điều khiến thanh ghi Tại trạng thái này các thanh (DR/IR)phải giữ nguyên giá trỊ.

e Trạng thai Pause — (DR/IR), tương ứng với tên của trạng thái này là

trạng thái tạm dừng quá trình dịch dữ liệu Các giá trị trong thanh

ghi dịch buộc phải g1ữ nguyên giá tri.

e Trạng thai Exit 2 — (DR/IR), là trạng thái trung gian Từ trạng thái

này, máy trạng thái có thé quay lại thực thi tiếp việc dich dữ liệutrên thanh ghi hoặc thoát khỏi quá trình điều khiển dịch thanh ghi

e Trang thái Update — (DR/IR), là trạng thái cho phép lưu lại giá tri

của thanh ghi được chọn và cũng là trạng thái cuối cùng của quá

trình điều khiển thanh ghi.

13

Trang 23

3.3.2 Quá trình điều khiển thanh ghi

Giao thức JTAG hoạt động chủ yếu dựa vào hai quá trình điều khiến thanh

ghi Mỗi một lệnh kiểm tra khác nhau thì sẽ có quá trình điều khiển khác nhau,

tuy nhiên các quá trình điều khiển đó đều có chung một quá trình Quá trình

này được biêu hiện ở sơ đồ bên dưới.

Thanh ghi Giá trị nap là một giá trị có

dịch IR định hoặc lây từ logic hệ thông

hoặc lây từ logic kiêm tra

Nap dữ liệu (Capture_*)

Cac gia trị được sử dung cho

cac logic khac

Hình 3 4: Sơ đồ nguyên lý quá trình điều khiển thanh ghỉQuá trình điều khiến thanh ghi bat đầu từ trạng thái chọn thanh ghi (Select

DR/IR — Scan), khi một thanh ghi được chon thì ngõ vào và ra 1-bit của thanhghi dịch trong loại thanh ghi đó sẽ được kết nối với TDI và TDO của TAP

Tiếp đó là trạng thái nạp dữ liệu (Capture — DR/IR), dữ liệu được nạp làmột giá trị cô định hoặc lay từ core logic hoặc lấy từ logic kiểm tra khác Dữliệu này nạp song song vào thanh ghi dịch, tạo tiền đề dữ liệu trước khi dịch

và đọc ra hệ thông

14

Trang 24

Tai trạng thái dich dữ liệu (Shift - DR/TR), các lệnh kiểm tra có sự khác biệt

về quá trình điều khiển nam tại trạng thái này Tùy thuộc vào mục đích củalệnh mà số lượng bit được dich và đọc ra từ hệ thống sẽ khác nhau, như lệnh

có số lần lặp ít nhất phụ thuộc vào số chân I/O của chip Hoặc như lệnhIDCODE, lệnh nay cho phép JTAG đọc ra hệ thống một dữ liệu 32-bit chứacác thông tin về chip, lệnh này khi điều khién tại trạng thái này sẽ lặp lại 32lần tương ứng với độ rộng dữ liệu của nó

Sau khi kết thúc quá trình dịch, tại trạng thái cập nhật (Update — DR/IR),cập nhật giá trị từ thanh ghi dịch vào thanh ghi giữ Những dữ liệu được đọc

từ thanh ghi giữ sẽ được sử dụng cho các logic khác.

Quá trình này được mô tả rõ hơn tại Hình 3.4, trong hình là waveform điều

khiến thanh ghi lệnh IR.

Trang 25

Đề bắt đầu quá trình điều khiển thanh ghi IR, thì bus master sé lái tin hiệu TMS sao cho FSM chuyền sang trạng thái Select IR — Scan trong 3 chu kỳ đầu.

Tiếp đó, tại chu kỳ 4 FSM chuyền sang trạng thái Capture IR để nạp

giá trị “0101” vào thanh ghi dich IR Tiếp theo, từ chu kỳ 5 đến chu kỳ 8

thanh ghi dịch IR sẽ dịch phải nối tiếp dựa vào giá trị nhập vào từ TDI và xuất ra TDO (dữ liệu xuất ra TDO thay đổi tại cạnh xuống TCK).

Cuối cùng sau khi kết thúc quá trình dịch dữ liệu ra hệ thống, từ chu

kỳ thứ 9 đến chu kỳ 11, cập nhật giá trị từ thanh ghi dich IR vào thanh ghi lưu giữ IR và kết thúc quá trình điều khiển thanh ghi IR Thanh ghi lưu

g1ữ IR có giá trị là “0010” — opcode của lệnh IDCODE.

Quá trình điều khiển tùy thuộc vào từng lệnh mà sẽ có sự khác biệt Tuy nhiên, mọi quá trình điều khiến đều phải thực thi đúng theo như quá

trình chung trên dé đảm bảo tính chính xác cũng như mục đích chính của

giao thức JTAG.

3.3.3 Hiện thực TAP Controller

Trước khi hiện thực một FSM, ta cần một sơ đồ chuyên trạng thái như Hình3.4 trên và Bảng 3.1 các tín hiệu điều khiển hoạt động phụ vào FSM

16

Trang 26

TAP Controller ngoai việc tao ra các tín hiệu điều khiển như trong Hình

Hình 3 6 I/O ports cua TAP controller

3.6, nó con điều khién các tín hiệu như Reset_n, SelectIR và EnableTDO

Bảng 3.1 Các tín hiệu điều khiển TAP controller

TT | Tên tín hiệu Chức năng

Reset các logic khi bộ điều khién TAP trong trạng thái

1 reset reset (TEST_LOGIC_RESET)

Tích cực mức cao

Tín hiệu chọn thanh ghi IR

2 | select Ir scan | Dùng đề điều khién các mach chọn kết nối IR hoặc DR

đến TDI hoặc TDOTín hiệu cho phép ngõ ra TDO được lái bởi logic bên

3 | tdo padoe_o Bi: chip

Nêu tín hiệu nay không tích cực thì ngõ ra TDO phải là high-Z

4 shift_ir Tin hiệu cho phép thanh ghi dich IR hoạt động

5 capture_ir Tín hiệu nap dữ liệu ban đầu cho IR

6 update_ir Tín hiệu báo hiệu thời điểm lưu lại giá trị trên thanh

ghi dịch IR

7 shift_dr Tín hiệu cho phép thanh ghi dich DR hoạt động

8 capture_ dr Tín hiệu nạp dữ liệu ban đầu cho DR

17

Trang 28

Tín hiệu reset_n in (tín hiệu reset, tích cực mức thấp): Chỉ cho phép tíchcực mức thấp ở trạng thái TEST - LOGIC - RESET.

Tín hiệu select_ir (tin hiệu lựa chọn thanh ghi lệnh): tích cực ở các trạng thái thao tác trên thanh ghi lệnh.

Tín hiệu enable_tdo_ In (tín hiệu cho phép lái dữ liệu vào qua TDO): cho

phép tích cực ở 2 trạng thái SHIFT_DR & SHIFT_IR Vì khi dữ liệu được shiftvào Logic_JTAG thông qua TDI thi Logic JTAG cũng mong muốn shift đữ liệunày ra ngoải thông qua TDO nên ở 2 trang thái này thì tín hiệu enable_tdo_1n sé tích cực.

Tín hiệu shift_ir: lựa chọn thanh ghi dich dé tiến hành dich dữ liệu

Tín hiệu capture ir: tín hiệu này cho phép nạp dữ liệu ban đầu vào thanhghi dich.

Tín hiệu update ir: tín hiệu nay cho phép nạp dữ liệu từ thanh ghi dịch vàothanh ghi lệnh sau khi kết thúc quá trình dich ở thanh ghi dịch

Tín hiệu shift dr in, capture dr, update dr: tương tự 3 tín hiệu bên trên,

nhưng 3 tín hiệu này được thực hiện ở thanh ghi dir liệu.

19

Trang 29

3.3.4 Thanh ghi lệnh — Instruction Register (IR)

e Các yêu cầu đối với thanh ghi lệnh (IR)

Thanh ghi lệnh IR lưu trữ lệnh kiểm tra của giao thức JTAG, phần lớn

các chip tích hợp giao thức JTAG dùng thanh ghi lệnh IR với độ rộng tối đa3-bit hoặc lớn hơn Trong thiết kế này, sử dụng thanh ghi lệnh IR có độ rộng

4-bit với các lệnh được miêu tả cụ thé ở bảng 3.3

Bảng 3.3: Các lệnh kiểm tra được sử dụng trong thiết kế

: `" Œ ` cập dé chuyền test data từ

bên ngoài chip thông qua

boundary outputs và nhận test data bên trong chip thông qua boundary

LOAD Nạp dữ liệu lên thanh ghi

BS trước khi tải lên lệnh

EXTEST.

20

Trang 30

Truyền dữ liệu nôi tiếp

qua IC từ TDI sang TDO

mà không ảnh hưởng đến

hoạt động của IC.

Giá trị của Opcode[3:0] được nạp vào thanh ghi lệnh IR thông qua TDI Sau đó, được giải mã thông qua khôi Decoder nhắm tạo ra các tín hiệu điêukhiến các thanh ghi dit liệu

Khi thiết kế thanh ghi lệnh cần đáp ứng các yêu cầu sau:

Một thanh ghi dịch dữ liệu nối tiếp, có ngõ vào dé nạp giá tri

Dữ liệu vào và ra trong IR không được phép dao thứ tự bit.

Phải nạp 2-bit LSB là “01” trong trạng thái Capture — IR (giúpphát hiện lỗi kết nối của đường dịch dữ liệu nối tiếp trên bomạch).

21

Trang 31

Ngoài yêu câu khi thiệt, còn có một sô yêu câu đôi với hoạt động của

thanh ghi lệnh IR như sau:

e Khi một lệnh mới được nap đến ngõ ra IR thì hoạt động của lệnh

trước đó phải dừng.

e Dịch theo cạnh lên TCK.

e Ngõ ra được lái tại cạnh xuống TCK

Khi TAP tại trạng thái Test-Logic-Reset, ngõ ra song song IR phải được

nạp vào giá trị của lệnh IDCODE Nếu thiết kế không hỗ trợ thanh ghi

DEVICE ID (không hỗ trợ lệnh IDCODE) thì IR phải nạp lệnh BYPASS tại

cạnh xuống TCK Nếu thiết kế JTAG trên có hỗ trợ chân TRST thì khi tín hiệunày tích cực, giá trị lệnh IDCODE hoặc BYPASS sẽ được cập nhật bất đồng

bộ cho IR.

e Hiện thực thanh ghi lệnh IR

Dựa vào các yêu câu đôi với thiệt kê và hoạt động đã nêu trên Thiét

kế cell được biểu thị tại Hình 3.7

Shift In

Hình 3 7 Sơ dé khối thiết kế cell 1-bit của IR

22

Trang 32

Thiết kế cell 1-bit cua IR bao gồm 2 flip flop và 3 multiplexer Vớiflipflop 1 ở trong hình được dùng với mục dich dich dữ liệu nối tiếp, thườnggọi là flip flop dịch Flip flop 2 còn lại được gọi là flip flop giữ, với mục đích lưu lại giá trị sau khi dịch.

Dé tạo thành một thanh ghi lệnh IR hoàn chỉnh, chỉ cần ghép các celllại với nhau như Hình 3.8 Khi đó các flip flop dịch và flip flop giữ sẽ tạo thành hai thanh ghi tương ứng là thanh ghi dịch và thanh ghi giữ.

Theo như yêu cầu đối với thiết kế thanh ghi IR gồm 16 lệnh thì số cell

được sử dụng và kết nối như Hình 3.8 trên là 4 cell Hai bit cuối (LSB) sẽ được

gan giá một giá tri cố đinh là “01” vào Data in của cell[1] và cell[0] và các bitcao còn lại sẽ được gan giá trị tùy ý Ngoài ra, Data out của IR sẽ được kết nốiđến khối Instruction Decoder giải mã dé tạo ra các tín hiệu điều khiển nhưSelectDR, Mode.

3.3.5 Thanh ghi dữ liệu — Data Register (DR)

e Boundary Scan Resgister (BSR)

BSR là thành phan được sử dung nhiều nhất trong giao thức JTAG,

đóng vai trò quan trọng trong việc kiểm tra thiết kế Giả sử có ba chip

đều được hỗ trợ giao thức JTAG, được kiểm tra hoan tất và các chip được kết nối như Hình 3.8.

23

Trang 33

Scan Out

Data Out

Data In

CaptureDR ShiftDR TCK UpdateDR

Mode

Sean In

Scan In

Data In

CaptureDR Data Out

ShiftDR BSC Scan Out

UpdateDR TCK Mode

Hình 3 8 Sơ đồ thiết kế và giao diện của BSC

Thiết kế của BSC tương tự như thiết kế của thanh ghi lệnh IR, tuy nhiênBSC có thêm một multiplexer được điều khién bởi tín hiệu Mode, tín hiệu này

được điêu khiên bởi khôi Instruction Decoder.

24

Trang 34

Data in{n-1]

CaptureDR

ShiftDR UpdateDR

Hình 3 9 Sơ đô thiết kế BSR

Các BSC được đặt giữa các chan I/O của chip và lõi chip, ngõ vào của

chip và ngõ ra của lõi chip được kết nối trực tiếp với Data in của BSC Và ngõ

vào của lõi chip và ngõ ra của chip sẽ được kết nối trực tiếp với Data out củaBSC Bang cach két néi nhu vậy có thé kiểm tra kết nối hoặc hoạt động củachip thông qua giao thức JTAG.

25

Trang 35

e Bypass Register (BR)

BR là một thanh ghi một bit, được hình thành với mục đích nhằm rútngắn thời gian kiểm tra kết nối giữa các chip Giả sử với kết nối các chip ởtrên, để kiểm tra chip#2 cần phải dich dit liệu nối tiếp từ chip#1 đến chip#3 rangoài bus master Như vậy với số lần dịch mỗi bit ra ngoài tương ứng với sốchân I/O của chip cũng như là số chu kỳ máy là 12 (chip#1) + 8 (chip #2) +

Hình 3 10 Giao diện kết noi kiểm tra chip#2, bỏ qua chip#1 & chip#3

Dé điều khiển TDI và TDO của TAP chip#1 và chip#3 có được kết nốinhư trong hình trên, cần phải nạp vào giá trị lệnh BYPASS cho thanh ghi lệnhcủa hai chip#1 và chip#3 Nhu vậy, mục đích chính của chúng ta là kiểm tra

chip#2, bây giờ được rút ngắn thời gian hơn là 1(chip#1) + 8 (chip#2) + 1

(chip#3) = 10 chu kỳ máy.

26

Trang 36

ShiftDR

TDI

TCK

Hình 3 11 Sơ dé thiết kế thanh ghi BR

Trong cấu trúc của JTAG, có 6 lệnh được hỗ trợ bởi TAP, đó là cáclệnh EXTEST, SAMPLE/PRELOAD, IDCODE, DEBUG, MBIST, BYPASS.

Các lệnh này được lưu trong một thanh ghi lệnh IR có độ rộng 4-bit Quy tắc

đánh địa chi ở đây là lệnh EXTEST: 0000 (toàn bit 0), lệnh BYPASS : 1111(toàn bit 1) và các lệnh còn lại được đánh địa chỉ tùy ý của người thiết kế Ở

Bảng 3.3 cũng đã thể hiện rõ từng quá trình làm việc của lệnh đó

3.3.6 Quy trình tai lên một lệnh

Trang 37

Thanh ghi lệnh (IR) gồm 2 thành phan chính là thanh ghi dịch vàthanh ghi ngõ ra Thanh ghi lệnh sẽ chịu sự điều khiển của 3 tín hiệu:capture_ir, shift_ir và update_1r Các bước hoạt động của thanh ghi lệnh chi tiêt như sau:

e Bước 1: Nạp giá trị “4’b0101” song song từng bịt vào thanh ghi

dịch để phần cứng bên ngoài có thể sớm phát hiện lỗi trên đườngtruyền nếu có Lúc này chỉ có tín hiệu capture ir tích cực

e Bước 2: Tín hiệu shift_ir tích cực, dữ liệu từ TDI sẽ được dịch

qua thanh ghi dịch từ MSB đến LSB Và sau đó dữ liệu ở thanhghi dịch sẽ được chuyên ra ngoài qua TDO

e Bước 3: Tín hiệu update ir tích cực, ở trạng thái nay tín hiệu

shift_ir và capture_ir sẽ không còn tích cực nữa, lúc này giá trị

ở thanh ghi dịch sẽ được cô định và sẽ được chuyền đến thanhghi ngõ ra (thanh ghi chốt dữ liệu) khi TCK_n tích cực (TCK

tích cực mức thấp)

28

Trang 38

3.3.7 Sơ đồ nạp lệnh trong TAP

Trang 39

Shift Register shifts to the | lido_pad_o <= LSBUIR] right; MSB[SR] = tdi_pad_¡ ~

Ngày đăng: 06/12/2024, 15:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Dr Ranjani Parthasarathi, “13. Handling Control Hazards”,“https://www.cs.umd.edu/~meesh/411/CA-online/chapter/handling-control-hazards/index.html”, July 24, 2018 Sách, tạp chí
Tiêu đề: 13. Handling Control Hazards”,“https://www.cs.umd.edu/~meesh/411/CA-online/chapter/handling-control-hazards/index.html
[2] Altera Corporation, Terasic Technologies, “DE2 Development and Education Board User Manual”, 2008 Sách, tạp chí
Tiêu đề: DE2 Development and EducationBoard User Manual
[3] Chướng Sec Váy, “Thiết kế và hiện thực lõi IP JTAG cho vi xử ly MIPS 32-bit”,UIT, 2022 Sách, tạp chí
Tiêu đề: Thiết kế và hiện thực lõi IP JTAG cho vi xử ly MIPS 32-bit
[4] Intel Corporation, “Designing for On-Board Programming Using the IEEE 1149 (JTAG)”, November 1996 Sách, tạp chí
Tiêu đề: Designing for On-Board Programming Using the IEEE 1149(JTAG)
[5] Shelja A S, Nandakumar R, Muruganantham C, “Design of IEEE 1149.1 TAP controller IP core,” Sixth International Conference on Advances in Computing and Information Technology, July 2016 Sách, tạp chí
Tiêu đề: Design of IEEE 1149.1 TAPcontroller IP core
[6] ShenXubang, Liang SongHai, “Design and Implementation of a JTAGBoundary-Scan Interface Controller,” Proceedings of 1993 IEEE 2nd Asian Test Symposium (ATS), Beijing, China, 16-18 November 1993 Sách, tạp chí
Tiêu đề: Design and Implementation of a JTAGBoundary-Scan Interface Controller
[8] Nguyễn Quân, “Tổng quan về giao thức JTAG” VLSI Technology,“https://nguyenquanicd.blogspot.com/2019/11/jtag-bai-1-tong-quan-ve-giao-thuc-jtag.html”, November 06, 2019 Sách, tạp chí
Tiêu đề: Tổng quan về giao thức JTAG” VLSI Technology,“https://nguyenquanicd.blogspot.com/2019/11/jtag-bai-1-tong-quan-ve-giao-thuc-jtag.html
[7] IEEE Standard for Test Access Port and Boundary-Scan Architecture, IEEE Standard 1149.1-2013, May 2013 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN