Lỗi nghiêm trọng được sửa chữa. Thông thường chúng được cố định trước khi sản phẩm đi vào sản xuất. Trừ khi bạn đang sử dụng các mẫu sớm, bạn có thể không bao giờ thấy các lỗi tồi tệ nhất.
Sửa lỗi rất khó khăn và tốn kém. Nó không chỉ thay đổi một dòng mã RTL. Nếu bạn đã làm điều đó, bạn sẽ phải tổng hợp lại, làm lại bố cục vật lý, điều chỉnh bố cục để khắc phục mọi vấn đề về thời gian, mua một bộ mặt nạ hoàn toàn mới, sản xuất tấm wafer mới, kiểm tra tấm wafer (thông thường), xác nhận các bản sửa lỗi mới và có thể đặc trưng hoặc đủ điều kiện sản phẩm một lần nữa. Điều này mất nhiều tháng và tốn một khoản tiền đau khổ. Vì lý do đó, chúng tôi cố gắng sửa lỗi trực tiếp trong bố cục (tốt nhất là trên một lớp kim loại duy nhất). Điều này nhanh hơn và rẻ hơn so với bắt đầu từ tổng hợp RTL, nhưng nó vẫn không tốt.
Nếu chúng tôi vẫn sửa một lỗi nghiêm trọng, tại sao không sửa tất cả các lỗi khác? Một lần nữa, điều này cần có thời gian - thời gian để tìm ra và thực hiện sửa lỗi, thời gian để chạy lại các kiểm tra xác minh thiết kế. Thời gian đó có nghĩa là sẽ mất nhiều thời gian hơn để đưa sản phẩm tiếp theo ra thị trường. Và trong khi đó, gần như chắc chắn bạn sẽ tìm thấy nhiều lỗi hơn trong sản phẩm hiện tại của mình nếu bạn đủ chăm chỉ. Đó là một trận thua. Sửa lỗi thậm chí còn khó hơn đối với một sản phẩm đã bị loại bỏ trong một thời gian dài, vì mọi người phải đi sâu vào thiết kế cũ để tìm hiểu điều gì đang xảy ra. Như Null nói, khách hàng có thể phải chứng nhận sản phẩm của bạn trong hệ thống của họ. Nếu sản phẩm của bạn vẫn đang được phát triển, việc trì hoãn phát hành sản xuất có thể khiến lịch trình của khách hàng bị trượt, điều này khiến khách hàng rất không hài lòng.
Thông thường, các lỗi bị bỏ lại chỉ xảy ra trong các cấu hình kỳ lạ, gây ra các vấn đề rất nhỏ, có cách giải quyết dễ dàng hoặc tất cả các vấn đề trên. Họ không đủ tệ để gây rắc rối. Và nếu bạn sử dụng lại một mô-đun phần cứng trên sản phẩm tiếp theo, khách hàng hiện tại của bạn sẽ có cách giải quyết trong phần mềm của họ.
Công cụ phần mềm là một yếu tố khác. Nếu một mô-đun tồn tại đủ lâu, chuỗi công cụ của bạn có thể thay đổi đủ để làm lại các kiểm tra xác thực cũ trở thành một dự án lớn. Và có lẽ bạn không thể tải lên các công cụ cũ, vì bạn không trả tiền cho giấy phép trang web nữa. Nhưng miễn là bạn không thay đổi mô-đun, bạn có thể tiếp tục sao chép và dán nó vào MCU mới.
Phần mềm cũng là một vấn đề về phía khách hàng. Nếu lỗi của bạn phá vỡ tính tương thích ngược theo bất kỳ cách nào, tất cả khách hàng của bạn sẽ phải cập nhật mã của họ, mà họ thậm chí có thể không còn các công cụ cho nữa.
Là một người làm việc trong việc phát triển vi điều khiển, tôi có thể nói với bạn rằng tất cả chúng ta đều thích sửa mọi lỗi. Nhưng cố gắng làm như vậy sẽ trì hoãn sự phát triển một cách khó lường, gây khó chịu cho khách hàng, tiêu tốn rất nhiều tiền và cuối cùng, có lẽ chúng ta vẫn thất bại.