Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tools:chp2prs [2025/10/14 02:54] – [Conditionals and Ternaries] karthi | tools:chp2prs [2025/11/04 03:06] (current) – [External Constants] karthi | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| i.e. a (possibly empty) semi-colon separated list of initializations to a subset of variables used in the CHP, followed by an infinite repetition of an arbitrary CHP program P. The values '' | i.e. a (possibly empty) semi-colon separated list of initializations to a subset of variables used in the CHP, followed by an infinite repetition of an arbitrary CHP program P. The values '' | ||
| + | |||
| + | ===== Synthesis Commands ===== | ||
| + | The standard synthesis steps to produce a bundled-data circuit looks like this: | ||
| + | < | ||
| + | synth2 -F decomp -p proc -o mid.act in.act | ||
| + | synth2 -F ring -ref=1 -C bd -p decomp_proc -o out.act mid.act | ||
| + | </ | ||
| + | You can then simulate at PRS-level with: | ||
| + | < | ||
| + | actsim -ref=2 out.act ring_decomp_proc | ||
| + | </ | ||
| + | |||
| + | Note that user-defined channel-types are not allowed for synthesis. Only the built-in '' | ||
| + | If your CHP has no nested loops or multiple-channel accesses (more about this below), then you can (optionally) skip the first step and directly do: | ||
| + | < | ||
| + | synth2 -F ring -C bd -p proc -o out.act in.act | ||
| + | </ | ||
| + | and simulate at PRS-level with: | ||
| + | < | ||
| + | actsim -ref=1 out.act ring_proc | ||
| + | </ | ||
| + | |||
| + | This two-step process will soon be integrated into one command (TODO). To know more about what the '' | ||
| ===== Program Structure ===== | ===== Program Structure ===== | ||
| Line 167: | Line 190: | ||
| < | < | ||
| - | defproc neuron ( ... , bool model[2] ) | + | defproc neuron ( ... ; bool model[2] ) |
| { | { | ||
| ... | ... | ||