아니요, 소프트웨어를 하드웨어로 전환하기위한 표준 솔루션은 없습니다. 일반적으로 하드웨어 구현을 염두에두고 작성되지 않은 소프트웨어를 사용하는 것은 막대한 낭비와 비효율없이 하드웨어로 쉽게 변환 될 수 없습니다. 일반적으로 CPU와 ROM이있는 칩을 만들어 소프트웨어를 ROM에 넣는 것이 가장 좋습니다.
수년 동안 "C-Like"코드를 사용하여 하드웨어로 컴파일하는 컴파일러가있었습니다. VHDL 또는 Verilog를 하드웨어로 컴파일 할 수있는 것과 같은 방식입니다. 그러나 핵심은 C가 아닌 "C-Like"라는 것입니다. 예를 들어, PI를 계산하고이를 PI를 계산하는 하드웨어로 마술처럼 변환하는 C / C ++ 프로그램을 여전히 사용할 수는 없습니다. 이러한 C-Line 언어의 대부분은 사라지거나 숫자로 사용되지 않습니다. 가장 많이 사용되는 버전 중 하나는 SystemC 이지만 C / C ++가 아니며 일반적인 "소프트웨어를 작성한 다음 하드웨어로 컴파일"하는 데 유용하지 않습니다. 여전히 "소프트웨어로 컴파일 될 수있는 일부 하드웨어를 작성해야합니다".
스위치 및 라우터에는 일반적으로 하드웨어에서 하드웨어에서 일반적으로 사용되는 속도가 중요한 라우터 기능 (라우팅 테이블에서 항목 조회, 대기열 관리 등)을 수행 한 다음 CPU를 사용하여 일반적이지 않은 모든 기능을 수행합니다. (예외, 오류, 라우팅 테이블 업데이트 처리 등) 여러 가지면에서 이것은 가장 일반적인 opcode가 하드웨어에서 수행되고 때로는 일부 opcode가 실제로 소프트웨어로 구현되는 최신 CPU의 작동 방식과 유사합니다 (예 : FPU가없는 경우 부동 소수점 명령어).