A logic device that incorporates uncommitted digital resources that are configured by the user to implement a digital circuit. The method of describing the circuit can be in the form of a Hardware Description Language such as Verilog or VHDL, or a schematic, or even higher level programming languages such as C code. The circuit description (in whatever form it takes) is synthesized by a compiler and mapped to the specific resources of the FPGA to implement the circuit. In addition to basic logic resources, many FPGAs also include macro functions such as DSP blocks, PLLs and SRAM blocks. FPGA configuration can be stored internal or external to the FPGA in SRAM (volatile programming), anti-fuse (one time programmable), or flash (reprogrammable).
Triad can convert FPGA circuits into ASIC implementations, and also integrate surrounding analog and mixed-signal functions to create a complete system solution.