Frequently-Asked Questions on Arx
- There are already many design languages. Why do we need to learn yet another language?
- How does Arx compare to SystemC?
Arx is a domain-specific language for designing hardware at the RT level. All language constructs therefore make sense for synthesis. The designer does not need to worry about language subsets and coding styles. The risk of errors is reduced and the design speed is increased.
The main issue is to understand hardware design. Learning a simple language as Arx is just a minor part in the process of becoming a skilled hardware designer.
There is a tendency to use plain C as a specification language for hardware. Apart from the issues mentioned, plain C has the additional disadvantage that it very poorly expresses the parallelism of hardware. Advocates of plain C for the specification of hardware argue that many people are familiar with C. It is, however, a misconception to think that software engineers will become hardware designers by the mere availability of a C-to-HDL translator.
The following can be mentioned when SystemC is compared to Arx:
- Simulation will be relatively slow, due to the event-driven simulation engine of SystemC.
- Fixed-point data types are extremely slow to simulate in SystemC.
- Synthesis from SystemC is not widely available. If it exists, it requires the use of a specific language subset and adherence to a specific coding style.