92
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ Trần Duy Hưng và ctv.
*Email: nvtruong.25890@gmail.com
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ
TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG
Tập 35, Số 2 (2024): 92 - 100
JOURNAL OF SCIENCE AND TECHNOLOGY
HUNG VUONG UNIVERSITY
Vol. 35, No. 2 (2024): 92 - 100
Email: tapchikhoahoc@hvu.edu.vn Website: www.jst.hvu.edu.vn
PHƯƠNG PHÁP KHỐNG CHẾ VÀ KIỂM TRA CHÂN FPGA
DỰA TRÊN TIÊU CHUẨN IEEE 1149.1 XJLINK
Trần Duy Hưng1, Bùi Hoàng Tùng1, Nguyễn Văn Trường1*, Chu Ngọc Hải1
1Trường Cao đẳng Công nghiệp Quốc phòng, Phú Thọ
Ngày nhận bài: 19/3/2024; Ngày chỉnh sửa: 04/6/2024; Ngày duyệt đăng: 10/6/2024
DOI: https://doi.org/10.59775/1859-3968.188
Tóm tắt
Trong bài viết này, chúng tôi đề xuất một phương pháp khống chế kiểm tra khả năng hoạt động của các
chân chip FPGA khi đang hoạt động trong hệ thống điện điện tử dựa trên tiêu chuẩn IEEE 1149.1. Phương
pháp sử dụng phần cứng XJLink thông qua nhân IP theo kết cấu quét biên tiêu chuẩn IEEE 1149.1 tích hợp bên
trong FPGA thực hiện khống chế và gài lỗi trên một số chân của chip để kiểm tra tính năng của các chân đó mà
không cần thực hiện các tác động vật lý hay phải tháo dỡ FPGA ra khỏi bo mạch. Kết quả thực nghiệm trên các
bo mạch Xilinx FPGA cho thấy, phương pháp đề xuất độ tin cậy tính linh hoạt cao, tốc độ khống chế nhanh
nhất lên tới 150MHz trong khi các chân khác của chip vẫn hoạt động bình thường. Đồng thời, phương pháp đề
xuất còn có thể thực hiện khống chế ngay sau khi FPGA được cấp nguồn.
Từ khóa: Công nghệ kiểm tra quét biên, tiêu chuẩn IEEE 1149.1, cổng JTAG, gài lỗi, Xilinx FPGA.
1. Đặt vấn đề
Trong những năm gần đây, công nghệ bán
dẫn phát triển giúp cho các vi xử như mảng
cổng lập trình được dạng trường FPGA, bộ
xử lý tín hiệu DSP, vi xử lý ARM ngày càng
nhỏ gọn, mật độ chân nhiều đem đến thách
thức lớn cho lĩnh vực kiểm tra, đảm bảo tính
chính xác trong quá trình hoạt động của các
chip. Đặc biệt trong một số lĩnh vực đặc
thù như các thiết bị máy bay, tàu ngầm quân
sự, yêu cầu rất cao về tính hoạt động chính
xác, không xảy ra sự cố, trong trường hợp
xảy ra sự cố phải cần có biện pháp phát hiện
khắc phục ngay lập tức để đảm bảo an
toàn cho người và thiết bị.
Phương pháp sử dụng phần mềm khống
chế gài lỗi sai khác nhau vào các chân
của chip từ đó đánh giá chất lượng của chân
được gài phương pháp phổ biến hiện nay.
Trong bài viết của tác giả Le đã phân tích
sâu về ứng dụng thách thức của phương
pháp gài lỗi trong các hệ thống ảo [1]. Một
số kết quả tiêu biểu sử dụng phương pháp
gài lỗi kiểm tra và khống chế chân chip như:
Bộ gài lỗi tại các nút mạch số và mạch tương
tự thông qua đầu do Qin Haibo đề xuất
93
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ Tập 35, Số 2 (2024): 92-100
[2]; thiết bị gài lỗi điều khiển tự động dễ vận
hành do Shi Junyou thiết kế, tuy nhiên tính
thông dụng còn hạn chế [3]; hệ thống gài
lỗi thể phỏng các hiệu ứng sự kiện
đơn sử dụng FPGA loại SRAM của tác giả
Zhang [4]; phần mềm chèn lỗi dựa trên dòng
mã cho FPGA loại SRAM do Yu Tingting đề
xuất [5] nền tảng phỏng đưa ra thuật
toán xây dựng cơ sở dữ liệu lỗi rời rạc để gài
vào hệ thống thông tin của Yao Wenbin [6].
Công nghệ kiểm tra quét biên tiêu chuẩn
IEEE 1149.1 là cấu trúc được tích hợp trong
tất cả các dòng chip hiện hành dùng để thu
thập xuất dữ liệu từ các chân chip về
máy tính thông qua cổng JTAG [7-9]. Từ
cấu trúc IEEE 1149.1 một số tác giả đã đề
xuất các giải pháp gài lỗi kiểm tra chân chip
như phương pháp kiểm tra hệ thống và mạch
điện sử dụng công nghệ quét biên của tác
giả Be [10]; lõi mềm IP phỏng bộ điều
khiển TAP mạch quét biên trong cấu trúc
quét biên để gài lỗi sai của tác giả Yang [11];
phương pháp gài lỗi dựa trên công
nghệ quét biên nhân IP của tác
giả Trường, tuy nhiên trong bài
viết nhóm tác giả chỉ đề xuất được
phương pháp nhân IP cho dòng
FPGA của Intel không thể ứng dụng
được trên XiLinx FPGA [12]; hay
thiết bị XJLink do XJTAG sản xuất
sử dụng các API kết nối với cấu
trúc quét biên để thu thập dữ liệu
truyền về cho máy tính [13].
Từ những nghiên cứu trên, trên
sở công nghệ quét biên tiêu
chuẩn IEEE 1149.1 nhóm tác giả
sử dụng nhân IP VIO để tiến hành
khống chế gài lỗi sai lên các
dòng chip Xilinx FPGA. Đồng thời
nghiên cứu thực hiện khống chế
chân chip ngay sau khi FPGA được
cấp nguồn nhằm cố định giá trị của
chân chip theo yêu cầu của hệ thống, đáp ứng
các trường hợp khẩn cấp cần phải khống chế
một số chân quan trọng khi khởi động lại để
đảm bảo an toàn cho người thiết bị. Kết
quả thực nghiệm trên các bo mạch Xilinx
FPGA cho thấy rằng, phương án đề xuất
có tính khả thi, tính linh hoạt cao, tốc độ gài
lỗi sai thể đạt tới 150MHz đồng thời
thể khống chế được chip ngay sau khi được
cấp nguồn.
2. Phương pháp nghiên cứu
2.1. Công nghệ kiểm tra quét biên tiêu
chuẩn IEEE 1149.1
Công nghệ kiểm tra quét biên tiêu chuẩn
IEEE 1149.1 một kết cấu một chuỗi liên
kết với các chân chip được tích hợp bên
trong các chip hiện hành như hình 1 thể
hiện, chủ yếu bao gồm khối điều khiển (TAP
controler), register lệnh (instruction register),
register qua chuỗi (Bypass register), register
Hình 1. Cấu trúc công nghệ quét biên
tiêu chuẩn 1149.1
94
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ Trần Duy Hưng và ctv.
nhân (user register) các đơn nguyên
biên (boundary cells). Khi chip chế độ hoạt
động bình thường thì chuỗi liên kết trạng
thái “trong suốt” không ảnh hưởng tới hoạt
động của hệ thống.
Khi chip ở trạng thái quét biên, khối điều
khiển TAP sẽ khống chế toàn bộ cấu trúc
thông qua 16 trạng thái quan hệ tương
tác lẫn nhau như hình 2 và được điều khiển
bởi tín hiệu xung TCK và tín hiệu chọn chế
độ TMS. Đây là khối cốt lõi quản lý và điều
khiển toàn bộ hệ thống gài lỗi, chịu trách
nhiệm quản điều tiết các chế độ của hệ
thống, thực hiện chức năng thu thập và dịch
chuyển các lệnh điều khiển dữ liệu trên
các thanh ghi register cũng như chức năng
gài lỗi vào chân chip.
Từ cấu trúc công nghệ quét biên hình 1
thể thấy, các đơn nguyên biên được kết nối
nối tiếp với nhau tạo thành một chuỗi quét
biên, chiều dài chuỗi tổng số lượng các
chân I/O chân bên trong của chip. Trạng
thái hoạt động bình thường, các đơn nguyên
ở dạng “trong suốt” không kết nối với chân
chip; khi bộ điều khiển TAP chuyển tới trạng
thái Capture_DR, mỗi đơn nguyên biên được
kết nối với một chân chip để thu thập thông
tin; khi bộ điều khiển chuyển sang Shift_DR,
thông tin chân được xuất ra TDO để tạo ra
một chuỗi dữ liệu của chip. Từ chuỗi dữ liệu
được dịch chuyển ra tiến hành gài lỗi sai
vào vị trí tương ứng của chân chip, sau đó
tiến hành dịch chuyển ngược lại vào các đơn
nguyên biên để gán dữ liệu lên chân chip
Hình 2. Sơ đồ trạng thái của khối điều khiển TAP
95
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ Tập 35, Số 2 (2024): 92-100
kiểm tra trạng thái của chân chip từ đó chẩn
đoán tính năng của các chân chip tương ứng.
2.2. Phương pháp khống chế và kiểm tra chip
dựa trên nhân IP tiêu chuẩn IEEE 1149.1
Dễ dàng nhận thấy rằng khống chế chip
bằng công nghệ quét biên thông thường cần
điều khiển tất cả các chân của chip việc
gài lỗi được thực hiện bằng cách kết nối nối
tiếp các thanh ghi để dịch chuyển tín hiệu lỗi
đến chân được chỉ định, do đó tốc độ khống
chế chậm, tỷ lệ nghịch với số chân chip.
Điều này ảnh hưởng nghiêm trọng tới hoạt
động bình thường của toàn hệ thống khi xảy
ra sự cố.
Trên sở công nghệ quét biên, bài báo
đề xuất phương pháp khống chế gài lỗi sử
dụng nhân IP do các nhà sản xuất chip FPGA
Xilinx cung cấp để thay thế chuỗi quét biên
thông thường nhằm thực hiện quá trình
khống chế gài lỗi theo thời gian thực, đảm
bảo các chân còn lại của chip vẫn hoạt động
bình thường trong trạng thái bị khống chế.
Từ hình 3 thể thấy rằng, nhân IP Core
cùng bộ điều khiển TAP tạo nên một cấu trúc
khống chế mới tách biệt hoàn toàn với chuỗi
quét biên của công nghệ quét biên thông
thường. Khi ở chế độ khống chế gài
lỗi, nhân IP sẽ kết nối và truyền dẫn
dữ liệu trực tiếp đến các chân của
chip, trong khi các chân khác của
chip hoàn toàn không bị ảnh hưởng.
Xilinx FPGA cung cấp hai nhân
IP VIO [14] JTAG to AXI
Master [15] hỗ trợ công nghệ
quét biên trên cả hai phần mềm lập
trình ISE Design Suit Vivado.
Hai nhân IP trên đều có điểm chung
sử dụng các register nhân trong
cấu trúc của công nghệ quét biên để
xây dựng nhân IP, hình thành nên
cấu trúc liên kết giữa đầu vào TDI -
bộ điều khiển TAPnhân IP – chân
đầu ra TDO - chân chip tiến hành
khống chế gài lỗi trực tiếp lên chân
chip. Phương pháp này các chân của FPGA
độc lập với nhau, khi khống chế chỉ cần gài
lỗi vào chân mục tiêu còn các chân chip khác
vẫn hoạt động bình thường, do đó tốc độ gài
lỗi và khống chế sẽ gần tương đương với tốc
độ của xung tín hiệu thời gian TCK như theo
công thức (1).
ff
gailoi TCK
.
(1)
Trong bài viết này, nhóm tác giả sử dụng
XJLink làm thiết bị kết nối giữa máy tính và
các bo mạch Xilinx FPGA để tiến hành gài
lỗi và khống chế FPGA như hình 4.
FPGA Chip
TAP Controller
TDI
TMS
TCK
TDO
IP CORE
Boundary
Cell
Instruction
Register
Failed Data
Hình 3. Sơ đồ nguyên lý khống chế gài lỗi dựa trên nhân IP
96
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ Trần Duy Hưng và ctv.
Hình 4. đồ kết nối sử dụng XJLink
Xilinx FPGA
3&
-7$*
Quy trình gài lỗi sai dựa trên nhân
IP được thực hiện như hình 5. Cụ thể,
thông qua bộ kết nối XJLink gửi lệnh
đến khối điều khiển TAP để khống chế
nhân IP, sau đó tiếp tục gửi lệnh bao
gồm số liệu gài lỗi đến nhân IP để gài
trực tiếp vào chân chip mục tiêu tiến
hành khống chế và kiểm tra chân chip.
2.3. Khống chế chip ngay sau khi cấp
nguồn dựa trên nhân IP tiêu chuẩn
IEEE 1149.1
Phương pháp sử dụng nhân IP tiêu
chuẩn IEEE 1149.1 thể gài lỗi
khống chế được các chân Xilinx FPGA
khi FPGA đang được cấp nguồn. Tuy
nhiên, trong một số trường hợp đặc
thù như hệ thống xảy ra sự cố, người
vận hành muốn khống chế một chức
năng đặc biệt nào đó ngay sau khi khôi
phục lại hệ thống để tránh những thiệt
hại không cần thiết. Từ yêu cầu trên,
nhóm tác giả đã nghiên cứu sử dụng
nhân IP tiêu chuẩn IEEE 1149.1
để thực hiện khống chế chip ngay sau
khi được cấp nguồn, phương án cụ thể
được thực hiện như hình 6.
Từ hình 6 có thể thấy rằng, phương
pháp gài lỗi dựa trên nhân IP ngay sau
khi cấp nguồn cho hệ thống yêu cầu
một bộ định thời để khởi động XJLink
và truyền lệnh khống chế nhân IP. Sau
khi cấp nguồn, đầu tiên bộ định thời
sẽ khởi động đồng thời tiến hành gài
lỗi sai cố định từ chương trình vào chân
Bắt đầu
Y
Gửi lệnh khống chế
nhân IP
Gửi lệnh khống chế
register số liệu
Gửi số liệu cần gài
Kết thúc
N
Khống chế IP?
Khống chế được
chân chip?
Y
N
Hình 5. Quy trình gài lỗi dựa trên nhân IP
0/1
FPGA
CLKOUT
IP CORE
MUX
Timer
Khối chương trình
Logic
MUX
MUX
JTAG
IP_Out
Out1
Hình 6. Sơ đồ khống chế chip sau khi cấp nguồn