synthesizable
Synthesizable refers to hardware description language code or design constructs that can be converted by synthesis tools into a gate-level netlist suitable for implementation in an FPGA or an ASIC. It distinguishes RTL and related code intended to describe actual hardware behavior from code written solely for simulation or verification. Synthesis tools translate synthesizable constructs into logic gates, flip-flops, and routing resources, while honoring constraints such as clocking, timing, and target technology.
Most commonly synthesizable designs are written in languages such as VHDL, Verilog, or SystemVerilog and follow
Common non-synthesizable constructs include delays (#), wait statements, certain timing checks, and many simulation-only system tasks such
The workflow typically involves writing synthesizable RTL, verifying behavior with a testbench, and then running a