Do vấn đề chi phí và giá thành của ICE, rất nhiều nhà cung cấp tích hợp mạch gỡ lỗi vào trong chip. Motorola là nhà cung cấp đầu tiên và Chế độ gỡ lỗi nền tảng (Background Debug Mode - BDM) là một trong các chuẩn gỡ lỗi on-chip được biết đến rộng rãi. Mạch gỡ lỗi on-chip thường giao tiếp với thế giới bên ngoài thông qua giao diện nối tiếp với JTAG ngày càng là chuẩn thông dụng. (JTAG - Joint Test Action Group, tên của chuẩn IEEE 1149.1)
Máy tính giao tiếp với hệ thống thông qua một bộ mô phỏng JTAG, cung cấp một giao diện JTAG và một kết nối USB/Ethernet tới PC. Tất cả các nhà cung cấp sẽ chuẩn hoá bộ kết nối gỡ lỗi on-chip nối bộ mô phỏng tới hệ thống đích.
Hỗ trợ thiết kế Gỡ lỗi On-chip là một yêu cầu của VĐK vì nếu không có hỗ trợ thiết kế sẽ không thể hay có giá rất cao để đưa ra công cụ gỡ lỗi. Các lý do chính là:
• Sử dụng bộ nhớ Flash để lưu chương trình sẽ rất khó hay không thể đối với các công cụ mở rộng để xác định câu lệnh hiện thời sẽ được thực hiện.
• Với các VĐK tốc độ cao thì ICE không thể dừng chương trình thực thi trước khi nó thi hành lệnh cần thiết.
• Các kiến trúc RISC (Reduced instruction set computer) và on-chip rất khó để xác định các lệnh đã được nạp (fetched) và các lệnh đã được thực hiện. • Với các hệ hướng ứng dụng hay theo yêu cầu của khách hàng, Systems-On-a
Chip (SOCs) sẽ phải thiết kế lại một bộ mô phỏng vi xử lý cho từng thiết kế SOC riêng lẻ.
Gỡ lỗi on-chip giải quyết tất cả những vấn đề trên và cũng có các chức năng điều khiển thời gian thực như nạp chương trình, go/step/halt, truy cập bộ nhớ/thanh ghi và breakpoints. Các hệ gỡ lỗi on-chip hiện nay cũng có chức năng lần vết thời gian thực. Để tối thiểu hoá yêu cầu băng thông, thông tin lần vết được nén bởi giao diện gỡ lỗi trước khi đưa ra ngoài (hay lưu trong chip). Bộ mô phỏng sau đó giải nén thông tin nhận được và xây dựng lại luồng chương trình hiện thời để hiển thị trong trình gỡ lỗi.