나는 프로그래밍 배경에서 왔으며 하드웨어 나 펌웨어 (최대 전자 및 Arduino)로 너무 엉망이되지 않았습니다.
C 또는 일부 어셈블리와 같은 프로그래밍 언어보다 Verilog 및 VHDL과 같은 하드웨어 설명 언어 (HDL)를 사용하는 동기는 무엇입니까?
이 문제는 선택의 문제입니까?
펌웨어가 HDL로 작성된 하드웨어는 명령을 병렬로 실행하는 데 분명한 이점이 있음을 읽었습니다. 그러나 C 또는 어셈블리로 펌웨어를 작성할지 의문을 나타내는 토론에 놀랐습니다 (CPU가없는 경우 어셈블리가 어떻게 적절합니까?). 또한 옵션이라고 결론지었습니다.
따라서 몇 가지 질문이 있습니다 (주저하지 말고 설명하십시오).
펌웨어는 실제로 HDL 또는 소프트웨어 프로그래밍 언어로 작성 될 수 있습니까, 아니면 동일한 미션을 수행하는 또 다른 방법일까요? 나는 실제 사례를 좋아합니다. 각 옵션으로 인해 어떤 제약이 발생합니까?
소프트웨어를 통한 펌웨어의 일반적인 사용은 하드웨어 가속기 (GPU, 네트워크 어댑터, SSL 가속기 등)에서 사용됩니다. 내가 이해하는 것처럼이 가속은 항상 필요한 것은 아니지만 권장 사항 만 (예 : SSL 및 복잡한 알고리즘의 가속의 경우) 권장됩니다. 모든 경우에 펌웨어와 소프트웨어 중에서 선택할 수 있습니까? 그렇지 않다면 펌웨어가 명확하고 명백하게 적합한 경우에 기뻐할 것입니다.
펌웨어가 대부분 ROM이나 플래시에서 타 버린 것을 읽었습니다. 거기에 어떻게 표현되어 있습니까? 소프트웨어처럼 비트로? 그렇다면 심오한 차이점은 무엇입니까? 펌웨어의 경우에 적합한 회로를 사용할 수 있습니까?
나는 여기저기서 실수를 한 것 같아요, 몇 가지 가정에서 용서해주세요. 감사합니다!