Não, não há solução padrão para transformar software em hardware. De um modo geral, levar um software que não foi escrito com uma implementação de hardware em mente não pode ser facilmente convertido em hardware sem grandes desperdícios e ineficiências. Geralmente, a melhor coisa a fazer é criar um chip com CPU e ROM - e colocar o software na ROM.
Ao longo dos anos, houve compiladores que pegavam o código "C-Like" e o compilavam no hardware - da mesma maneira que o VHDL ou o Verilog podem ser compilados no hardware. Mas o principal é que é "C-Like", e não C. Você ainda não pode usar, por exemplo, um programa C / C ++ que calcula o PI e magicamente o converte em hardware que calcula o PI. A maioria desses idiomas da linha C desapareceu ou não é usada em nenhum número. Uma das versões mais populares disso é o SystemC , mas é importante observar que não é C / C ++ e não é útil para genéricos "vamos escrever software e depois compilá-lo em hardware". Você ainda precisa "escrever algum hardware, que também possa ser compilado em software".
Switches e roteadores geralmente possuem hardware, o que faz com que a maioria das funções críticas comuns do roteador sejam usadas (procurando informações em tabelas de roteamento, gerenciando filas etc.) em hardware e, em seguida, use uma CPU para executar todas as funções não tão comuns (tratamento de exceções, erros, atualizações da tabela de roteamento, etc.). De muitas maneiras, isso é semelhante ao funcionamento da CPU moderna, onde os códigos de operação mais comuns são feitos no hardware e, ocasionalmente, alguns códigos de operação são implementados no software (por exemplo, instruções de ponto flutuante quando uma FPU não está presente).