Cx Language for ASICs and FPGAs

A subset of the C language, Cx is specifically designed for ASICs and FPGAs. It maintains the familiarity of the C language syntax while providing additional features tailored for hardware design.

Key Features

  • Familiar Syntax

    Cx's C-like syntax makes it easy to learn and use for those with experience in C programming.

    Familiar Syntax

  • Strong Typing

    Bit-accurate static typing ensures data consistency and correctness in designs.

    Strong Typing

  • Cycle-Accurate Behavior

    Implicitly or explicitly express cycle-accurate behavior using structured code.

    Cycle-Accurate Behavior

  • Readability

    Cx encourages the use of readable code, promoting maintainable and understandable designs.

    Readability

  • Concurrency and Parallelism

    Cx applications are described as a set of sequential tasks connected together and executed concurrently. This design approach closely mirrors hardware behavior, making it a natural choice for describing parallelism.

    Concurrency and Parallelism

  • Programming Model

    The compiler transforms the task description into a series of execution rules. For communication, Cx supports various port types, offering different expressiveness and performance tradeoffs.

    Programming Model

More information

You will find a lot more information about the Cx language as well as tutorials and documentation on our website.