From C to Silicon: How to implement software/firmware solution as hardware?
No, there is no standard solution for turning software into hardware.  Generally speaking, taking software that was not written with a hardware implementation in mind cannot be easily converted into hardware without huge waste and inefficiencies.  Usually, the best thing to do is just make a chip that has a CPU and ROM-- and put the software in the ROM.

Over the years there has been compilers that would take "C-Like" code and compile it into hardware-- much in the same way that VHDL or Verilog can be compiled into hardware.  But the key thing is that it is "C-Like", and not C.  You still cannot take, for example, a C/C++ program that calculates PI and magically convert it into hardware that calculates PI.  Most of these C-Line languages have gone away, or is not used in any numbers.  One of the more popular versions of this is SystemC, but it is important to note that it is not C/C++ and is not useful for generic "let's write software and then compile it into hardware".  You still need to "write some hardware, that also might be compiled into software".

Switches and routers typically have hardware the does most of the commonly used and speed critical router functions (Looking up stuff in routing tables, managing queues, etc.) in hardware and then use a CPU to do all of the not-so-common functions (handling exceptions, errors, routing table updates, etc).  In many ways this is similar to how modern CPU's work, where the most common opcodes are done in hardware and occasionally some opcodes are actually implemented in software (for example, floating point instructions when an FPU is not present).