임베디드
경력을 쌓는 동안 정말 흥미로운 프로젝트를 위해 여러 FPGA 디자인을 개발하는 일에 참여했습니다. 슬프게도, 나는 또한 잘못 길을 잃은 여러 FPGA 디자인을 구출하는 데 참여했습니다. 이러한 문제 설계에 대해 작업하면서 대상 응용 프로그램과 개발 팀 구성원이 다르지만 설계는 첫 번째 엔지니어가 첫 줄을 작성하기 전에 앉아도 실패할 수밖에 없는 몇 가지 공통점을 공유한다는 것이 분명해졌습니다. 의 HDL 코드.
이를 염두에 두고 이 프로젝트를 구하는 과정에서 관찰한 5가지 일반적인 문제를 해결해야 한다고 생각했습니다. 이러한 문제는 다음과 같습니다.
#1: 첫 번째 관심사는 FPGA 기반 개발뿐만 아니라 일반적인 엔지니어링과 관련이 있습니다. 문제는 시작할 때 안정적인 요구 사항 기준선이 없다는 것입니다. 요구 사항이 아직 진행 상황을 입증해야 하는 기반으로 성숙하는 동안 프로젝트를 시작하려는 열망이 항상 있습니다. 그러나 요구 사항을 완전히 이해하지 않고 뛰어들어 개발을 시작하면 초기 진행 상황이 잘못된 것으로 판명되고 다운스트림 수정을 수행하면 추가 지연과 비용이 발생합니다. 너무 일찍 시작하는 것은 실제로 위험을 개발에 도입하는 것이며 이 위험을 완화해야 합니다. 당면한 응용 프로그램에 따라 요구 사항의 깊이와 세부 사항이 확장될 수 있다는 점을 알고 있습니다. 상용 시스템보다 SIL4 시스템에 대한 요구 사항이 훨씬 더 많고 상세할 것으로 예상합니다. 그러나 길고 짧은 것은 요구 사항이 처음부터 합의되지 않고 기준선이 설정되지 않으면 범위가 확대된다는 것입니다. 설계가 이해된 요구 사항에 대한 합리적인 아키텍처로 시작되었을 수 있지만 개발자가 기준선이 성숙해짐에 따라 새로운 기능을 삽질하려고 시도하면 점점 더 복잡해질 것입니다. 머지 않아 무언가가 깨질 것입니다.
#2: 요구 사항 상황을 이해한 후 팀의 모든 구성원은 FPGA 개발 계획을 이해해야 합니다. 따라서 시작부터 제공까지의 접근 방식을 정의하고 관련된 주요 단계와 개발 프로세스 중에 적용될 엔지니어링 검토 게이트를 식별하는 계획을 세우는 것이 좋습니다. 계획과 함께 아키텍처와 디자인을 문서화하고, 주요 기능 각각을 식별하고, 새로 개발할 기능과 타사 IP를 활용하거나 기존 IP를 재사용할 기능을 결정해야 합니다(자세한 내용은 나중에). 이 결합된 계획, 아키텍처 및 설계 설명 문서를 통해 엔지니어링 팀은 당면한 작업을 명확하게 이해할 수 있습니다. 또한 제안된 접근 방식이 모든 상위 수준 요구 사항을 처리하는지 확인하기 위해 모든 기능을 요구 사항 집합으로 다시 추적할 수 있습니다.
#3: 모듈과 전체 FPGA를 설계하는 데는 시간이 걸립니다. 그러나 더 오래 걸리는 것은 설계를 검증하고 요구 사항을 충족하는지 확인하는 것입니다. 이 검증은 논리적 기능뿐만 아니라 장치의 모든 가능한 작동 조건에 걸쳐 수행되어야 합니다. 결과적으로 이는 설계에 대한 명확한 검증 전략을 개발할 필요가 있음을 의미합니다. 더 이상 단순히 코드를 작성하고 몇 가지 시뮬레이션을 수행한 다음 설계를 하드웨어에 적용하는 경우가 아닙니다.
#4: 때때로 우리 모두는 사물에 너무 가까이 다가가 생각에 잠겨서 무언가를 놓쳤을 때 보기가 어려워집니다. 이것이 바로 엔지니어링 디자인 리뷰가 발명된 이유입니다. 이러한 검토를 통해 우리는 우수한 엔지니어링 관행을 따르고 내부 개발 표준을 준수하는지 확인할 수 있습니다. 중요한 것은 독립 엔지니어가 설계(아키텍처 및 구현)를 살펴보고 필요한 기능을 제공하는지 확인할 수 있는 기능도 제공한다는 점입니다. 진행하면서 디자인을 검토하지 않으면 품질이 향상되지 않고 다운스트림 통합 문제가 증가하게 됩니다.
#5: 지금까지 내가 제기한 대부분의 요점은 디자인 자체의 코딩과는 대조적으로 프로세스 및 더 넓은 엔지니어링 측면과 관련되어 있음을 알아차렸을 것입니다. 물론 코드를 개발하는 것도 중요하지만 타사 IP를 활용하고 내부 IP를 재사용하는지 확인하는 것도 중요합니다. 이상적으로는 라이브러리에서 가능한 한 많은 기존 IP 블록을 재사용해야 합니다. 이것이 불가능한 경우에는 물론 새 모듈을 개발해야 합니다. 이 경우 향후 프로젝트에서 재사용할 수 있는 방식으로 이러한 새 모듈을 만드는 것이 최우선 과제입니다. 이러한 새 블록을 만드는 데 도움이 되도록 HLS(고수준 합성) 도구 사용을 고려해야 합니다. 더 높은 수준의 추상화에서 작업할 수 있도록 함으로써 이러한 도구는 솔루션 공간을 보다 쉽게 탐색하고 위험, 개발 시간 및 비용을 줄이는 기능을 제공합니다.
위에 제시된 요점은 FPGA 설계를 구하는 동안 내가 알아차린 몇 가지 사항일 뿐입니다. 잘못된 프로젝트에 대한 귀하의 생각을 듣고 싶습니다.
임베디드
ERD(엔지니어링 요구 사항 문서)는 새 구성 요소의 목표와 목적을 설명하는 설명입니다. 엔지니어에게 무엇을 구축해야 하는지 알려주는 제품 요구 사항 문서(PRD)와 달리 ERD는 부품이 구축되는 이유와 해당 설계가 목적을 달성하는 방법을 지정합니다. ERD에 요약된 엔지니어링 요구 사항을 따르면 엔지니어는 자신이 구축한 부품이 고객의 요구 사항을 충족하는지 확인할 수 있습니다. ERD를 사용하면 다양한 방식으로 생산을 간소화하는 데도 도움이 됩니다. ERD는 정의되고 일관된 의사소통을 사용하여 협업을 촉진하고 잘못된 의사소통을
특정 조건에서는 가장 강한 금속 부품이라도 금속이 주변 환경과 반응할 때 발생하는 부식을 겪을 수 있습니다. 어떤 금속은 어느 정도 부식될 수 있지만 일부 금속은 다른 환경에서 반응합니다. 부식의 위협으로부터 완전히 안전한 금속은 없습니다. 그러나 중요한 것은 부식은 일반적으로 특정 단계를 따르면 방지하거나 최소화할 수 있다는 것입니다. 이러한 단계에는 우수한 제품 디자인, 재료 선택 및 표면 처리 적용이 포함됩니다. 이 문서에서는 CNC 가공 기술로 제조된 금속 부품의 부식을 줄이는 여러 방법에 대해 설명합니다. 부식이란 무엇