치명적인 버그가 수정되었습니다. 일반적으로 제품이 생산에 들어가기 전에 고정됩니다. 초기 샘플을 사용하지 않는 한 최악의 버그는 발견되지 않을 수 있습니다.
버그 수정은 어렵고 비용이 많이 듭니다. 한 줄의 RTL 코드 만 변경하는 것이 아닙니다. 그렇게 한 경우, 재 합성, 물리적 레이아웃 재실행, 타이밍 문제 해결을 위해 레이아웃 조정, 완전히 새로운 마스크 세트 구매, 새로운 웨이퍼 생성, 웨이퍼 테스트 (일반적으로), 새로운 픽스 검증 및 제품을 다시 특성화하거나 검증 할 수 있습니다. 이 과정에는 몇 개월이 걸리며 비용이 많이 듭니다. 따라서 레이아웃에서 직접 버그를 수정하려고합니다 (단일 금속 레이어). 이것은 RTL 합성에서 시작하는 것보다 빠르고 저렴하지만 여전히 좋지 않습니다.
어쨌든 중요한 버그를 수정한다면 다른 모든 버그도 수정하지 않겠습니까? 다시 말하지만, 수정을 파악하고 구현하는 데 시간이 걸리고 디자인 검증 테스트를 다시 실행하는 데 시간이 걸립니다. 그 시간은 다음 제품을 출시하는 데 시간이 더 걸릴 것입니다. 그리고 그 동안 충분히보기 만하면 현재 제품에서 더 많은 버그가 발견 될 것입니다. 지는 전투이다. 사람들은 오래된 디자인으로 뛰어 들어 무슨 일이 일어나고 있는지 파악해야하기 때문에 오랫동안 제품이 출시 된 제품의 버그 수정은 더욱 어렵습니다. Null이 말했듯이 고객은 시스템에서 제품을 다시 검증해야 할 수도 있습니다. 제품이 아직 개발중인 경우 생산 릴리스가 지연되면 고객 일정이 미끄러 져 고객이 매우 불만을 가질 수 있습니다 .
일반적으로 남아있는 버그는 이상한 구성에서만 발생하고, 사소한 문제를 일으키거나, 쉬운 해결 방법이 있거나 위의 모든 사항이 있습니다. 그들은 그만한 가치가있을만큼 나쁘지 않습니다. 다음 제품에서 하드웨어 모듈을 재사용하면 기존 고객은 이미 소프트웨어에 대한 해결 방법을 갖게됩니다.
소프트웨어 툴체인은 또 다른 요소입니다. 모듈이 오래 붙어 있으면 툴체인이 변경되어 기존 유효성 검사 테스트를 다시 실행하는 것이 주요 프로젝트가 될 수 있습니다. 더 이상 사이트 라이센스를 지불하지 않기 때문에 이전 도구를로드 할 수 없습니다. 그러나 모듈을 변경하지 않는 한 계속 복사하여 새 MCU에 붙여 넣을 수 있습니다.
고객 측면에서도 소프트웨어가 문제입니다. 버그 수정이 어떤 식 으로든 이전 버전과의 호환성을 깨는 경우 모든 고객은 더 이상 도구를 가지고 있지 않은 코드를 업데이트해야합니다.
마이크로 컨트롤러 개발에서 일하는 사람으로서, 우리는 모든 버그를 수정하고 싶다고 말할 수 있습니다. 그러나 그렇게함으로써 개발이 예기치 않게 지연되고, 고객을 성가 시게하고, 막대한 비용이 소요되며, 결국에는 실패 할 것입니다.