산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

FPGA 기반 프로젝트가 잘못되지 않도록 하는 방법

경력을 쌓는 동안 정말 흥미로운 프로젝트를 위해 여러 FPGA 디자인을 개발하는 일에 참여했습니다. 슬프게도, 나는 또한 잘못 길을 잃은 여러 FPGA 디자인을 구출하는 데 참여했습니다. 이러한 문제 설계에 대해 작업하면서 대상 응용 프로그램과 개발 팀 구성원이 다르지만 설계는 첫 번째 엔지니어가 첫 줄을 작성하기 전에 앉아도 실패할 수밖에 없는 몇 가지 공통점을 공유한다는 것이 분명해졌습니다. 의 HDL 코드.


(출처:pixabay.com)

이를 염두에 두고 이 프로젝트를 구하는 과정에서 관찰한 5가지 일반적인 문제를 해결해야 한다고 생각했습니다. 이러한 문제는 다음과 같습니다.

#1: 첫 번째 관심사는 FPGA 기반 개발뿐만 아니라 일반적인 엔지니어링과 관련이 있습니다. 문제는 시작할 때 안정적인 요구 사항 기준선이 없다는 것입니다. 요구 사항이 아직 진행 상황을 입증해야 하는 기반으로 성숙하는 동안 프로젝트를 시작하려는 열망이 항상 있습니다. 그러나 요구 사항을 완전히 이해하지 않고 뛰어들어 개발을 시작하면 초기 진행 상황이 잘못된 것으로 판명되고 다운스트림 수정을 수행하면 추가 지연과 비용이 발생합니다. 너무 일찍 시작하는 것은 실제로 위험을 개발에 도입하는 것이며 이 위험을 완화해야 합니다. 당면한 응용 프로그램에 따라 요구 사항의 깊이와 세부 사항이 확장될 수 있다는 점을 알고 있습니다. 상용 시스템보다 SIL4 시스템에 대한 요구 사항이 훨씬 더 많고 상세할 것으로 예상합니다. 그러나 길고 짧은 것은 요구 사항이 처음부터 합의되지 않고 기준선이 설정되지 않으면 범위가 확대된다는 것입니다. 설계가 이해된 요구 사항에 대한 합리적인 아키텍처로 시작되었을 수 있지만 개발자가 기준선이 성숙해짐에 따라 새로운 기능을 삽질하려고 시도하면 점점 더 복잡해질 것입니다. 머지 않아 무언가가 깨질 것입니다.

#2: 요구 사항 상황을 이해한 후 팀의 모든 구성원은 FPGA 개발 계획을 이해해야 합니다. 따라서 시작부터 제공까지의 접근 방식을 정의하고 관련된 주요 단계와 개발 프로세스 중에 적용될 엔지니어링 검토 게이트를 식별하는 계획을 세우는 것이 좋습니다. 계획과 함께 아키텍처와 디자인을 문서화하고, 주요 기능 각각을 식별하고, 새로 개발할 기능과 타사 IP를 활용하거나 기존 IP를 재사용할 기능을 결정해야 합니다(자세한 내용은 나중에). 이 결합된 계획, 아키텍처 및 설계 설명 문서를 통해 엔지니어링 팀은 당면한 작업을 명확하게 이해할 수 있습니다. 또한 제안된 접근 방식이 모든 상위 수준 요구 사항을 처리하는지 확인하기 위해 모든 기능을 요구 사항 집합으로 다시 추적할 수 있습니다.

#3: 모듈과 전체 FPGA를 설계하는 데는 시간이 걸립니다. 그러나 더 오래 걸리는 것은 설계를 검증하고 요구 사항을 충족하는지 확인하는 것입니다. 이 검증은 논리적 기능뿐만 아니라 장치의 모든 가능한 작동 조건에 걸쳐 수행되어야 합니다. 결과적으로 이는 설계에 대한 명확한 검증 전략을 개발할 필요가 있음을 의미합니다. 더 이상 단순히 코드를 작성하고 몇 가지 시뮬레이션을 수행한 다음 설계를 하드웨어에 적용하는 경우가 아닙니다.

#4: 때때로 우리 모두는 사물에 너무 가까이 다가가 생각에 잠겨서 무언가를 놓쳤을 때 보기가 어려워집니다. 이것이 바로 엔지니어링 디자인 리뷰가 발명된 이유입니다. 이러한 검토를 통해 우리는 우수한 엔지니어링 관행을 따르고 내부 개발 표준을 준수하는지 확인할 수 있습니다. 중요한 것은 독립 엔지니어가 설계(아키텍처 및 구현)를 살펴보고 필요한 기능을 제공하는지 확인할 수 있는 기능도 제공한다는 점입니다. 진행하면서 디자인을 검토하지 않으면 품질이 향상되지 않고 다운스트림 통합 문제가 증가하게 됩니다.

#5: 지금까지 내가 제기한 대부분의 요점은 디자인 자체의 코딩과는 대조적으로 프로세스 및 더 넓은 엔지니어링 측면과 관련되어 있음을 알아차렸을 것입니다. 물론 코드를 개발하는 것도 중요하지만 타사 IP를 활용하고 내부 IP를 재사용하는지 확인하는 것도 중요합니다. 이상적으로는 라이브러리에서 가능한 한 많은 기존 IP 블록을 재사용해야 합니다. 이것이 불가능한 경우에는 물론 새 모듈을 개발해야 합니다. 이 경우 향후 프로젝트에서 재사용할 수 있는 방식으로 이러한 새 모듈을 만드는 것이 최우선 과제입니다. 이러한 새 블록을 만드는 데 도움이 되도록 HLS(고수준 합성) 도구 사용을 고려해야 합니다. 더 높은 수준의 추상화에서 작업할 수 있도록 함으로써 이러한 도구는 솔루션 공간을 보다 쉽게 ​​탐색하고 위험, 개발 시간 및 비용을 줄이는 기능을 제공합니다.

위에 제시된 요점은 FPGA 설계를 구하는 동안 내가 알아차린 몇 가지 사항일 뿐입니다. 잘못된 프로젝트에 대한 귀하의 생각을 듣고 싶습니다.


임베디드

  1. 부식으로부터 알루미늄을 보호하는 방법
  2. 금속 원소와 비금속 원소의 차이점
  3. 클라우드 컴퓨팅은 기존 컴퓨팅과 어떻게 다른가요?
  4. 컨트롤러 순위 지정 방법
  5. 시스템 종료 유지 관리 및 오프라인을 최대한 활용하는 방법
  6. 시제품에서 시험 생산까지 당황을 방지하는 방법
  7. 비습윤성 결함을 방지하는 방법
  8. 불량한 땜납 습윤을 방지하는 방법
  9. 솔더 조인트의 보이드를 방지하는 방법
  10. 유압 펌프의 캐비테이션이란 무엇이며 이를 방지하는 방법