FPGA가 실제로 무엇이고 디자인에 사용될 때에 대해 오해가있을 수 있다고 생각합니다. 먼저 그 부분을 설명하려고합니다.
FPGA와 하나를 원할 때 ...
단순화의 위험이있는 FPGA는 재구성 가능한 프로세서에 지나지 않습니다.
누군가 '재구성 가능한'마이크로 프로세서를 원하는 이유는 무엇입니까? 실리콘 프로세서를 제조하는 데 너무 많은 비용이 들기 때문에 1, 2 또는 2 백 개의 칩에 사용할 수 있습니다. 경제적으로 실현 가능하게하려면 수천 개의 칩을 배치해야합니다.
처음부터 버그가없는 디자인이 없기 때문에 실리콘 경로를 사용하면 더 큰 테스트 비용이 들지 않으면 서 최소한 두 번의 테스트 비용으로 회사를 효과적으로 운영 할 수 있습니다.
이는 본질적으로 상업적으로 호소력이있는 칩 이외의 것을 설계하고 제조하는 데 관심이있는 상업 회사는 거의 없다는 것을 의미합니다.
그래서, 당신은 정당화 정의 마이크로 프로세서, 당신이있는 화려한 디자인으로 올 경우 수 실제 칩이 단순히 게이트의 집합 인 FPGA, 그것을 구현하여 적은 예산 생활에 당신의 아이디어를 살리려고 노력하고, '프로그램'(일반적으로 VHDL 또는 Verilog)은 이러한 게이트를 실제 마이크로 프로세서로 정렬합니다.
그러나 그것은 완전히 다른 (마이크로 프로세서 디자인!) 길을 따라가는 길입니다 ...
내가 제안하는 것은
... FPGA는 로봇 공학에 필수적인 것은 아닙니다.
로봇 공학에 필요한 것은 프로세서 입니다. FPGA는 특별한 종류의 프로세서입니다 (재구성 가능).
당신은 당신이 '해야'하는지 물어? 글쎄, 그것은 당신의 지식뿐만 아니라 당신의 진정한 관심사가 어디에 있는지-마이크로 프로세서 디자인이 먼저인가 로봇이 먼저인가에 달려 있습니까?
마이크로 프로세서가 당신의 열정이라면, 꼭! 또한 로봇 공학은 맞춤형 마이크로 프로세서, 하드웨어에서 직접 처리되는 병렬 결정 경로가 많은 비전 피질 또는 하드웨어의 특수 텐서 곱셈과 같은 기본 응용 프로그램 영역으로, 일반적으로 일반 프로세서가 제대로 처리 할 수없는 모든 것입니다.
그러나 FPGA에서 마이크로 프로세서 디자인을한다면, 물론 저수준의 지식과 그 이상의 지식이 필요합니다. 기본적으로 자신의 프로세서를 설계 할 것이기 때문입니다. 대상 응용 프로그램이 로봇 공학 일지라도 로봇 공학과는 아무런 관련이 없습니다.
대부분의 디자이너는 아마도 필요한 것의 대부분을 수행 할 기존 프로세서를 찾을 수 있습니다.
그래서 아마도 당신 은 FPGA가 필요 하지 않다고 생각합니다 .
상용 로드맵에서 (아마도) FPGA까지 ...
제 생각에는 첫 번째 목표는 모든 독창적 인 개념을 작동하는 로봇에 구축하는 것입니다 (중요한 도전 과제).
디자인에 구체적이고 중대한 처리 병목 현상이있는 경우 다음 목표는 여전히 상용 칩을 사용하는 프로세서의 선택 / 디자인을 최적화하는 것입니다. 어쩌면 더 크고 빠를 수도 있습니다 (전력 소모, 열 분산에 의한 거래). 특정 작업을 처리하고 주요 두뇌와의 인터페이스 (알고리즘 / 논리 합병증과의 거래)와 같은 작고 전용 칩.
상용 칩을 처리 할 수없는 기능이있는 경우에만 FPGA 내에 특수 프로세서를 구현하는 것을 고려할 수 있습니다. 그 시점에서 '자체 롤링을 통해 얻을 수있는 이점이 매우 분명하기 때문입니다. 그리고 나머지 디자인에 적합한 인터페이스를 통해 이러한 기능을 구현하는 데 집중할 수 있습니다.
그렇지 않으면, 당신은 당신의 주요 목표에서 부수적으로 추적 될 것입니다 (내가 가정 할 것은 실제로 로봇을 만드는 것입니다!)
결론 : FPGA는 로봇 공학을 시작하는 데 방해가되고 로봇 로봇의 길을 따라갈 때까지 방해가되며 디지털 전자 공학 / 마이크로 프로세서 설계에서 어느 정도 강력한 성과를 얻었습니다.