Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
intro_example:chp_fifo [2022/06/08 06:46]
rajit
intro_example:chp_fifo [2022/06/26 14:37] (current)
rajit [Simulating the buffer]
Line 145: Line 145:
 Assuming all the process definitions above are in a file ''buffer.act'', we can create a test environment to run a simulation. Below, we create a ''test_source'' that sends ten data values on an output channel, and a ''test_sink'' that reads inputs and prints them to the screen using the built-in ''log()'' command. We then create a top-level test process (called ''test'' here) that connects a ''test_source'' and ''test_sink'' to the buffer. Assuming all the process definitions above are in a file ''buffer.act'', we can create a test environment to run a simulation. Below, we create a ''test_source'' that sends ten data values on an output channel, and a ''test_sink'' that reads inputs and prints them to the screen using the built-in ''log()'' command. We then create a top-level test process (called ''test'' here) that connects a ''test_source'' and ''test_sink'' to the buffer.
  
-<code act>+<file act test.act>
 import "buffer.act"; // import process definitions import "buffer.act"; // import process definitions
  
Line 173: Line 173:
     b.R = tsink.X;     b.R = tsink.X;
 } }
 +</file>
 +
 +This can be simulated using ''[[tools:actsim|actsim]]'' as follows. The command-line specifies the ACT file to read, as well as the top-level process name.
 +
 +<code>
 +% actsim test.act test
 +
 +actsim> cycle
 +WARNING: test_sink<>: substituting chp model (requested prs, not found)
 +WARNING: test_source<>: substituting chp model (requested prs, not found)
 +WARNING: one_place_buffer<>: substituting chp model (requested prs, not found)
 +actsim> cycle
 +[                  30] <tsink>  received 0
 +[                  50] <tsink>  received 1
 +[                  70] <tsink>  received 2
 +[                  90] <tsink>  received 3
 +[                 110] <tsink>  received 4
 +[                 130] <tsink>  received 5
 +[                 150] <tsink>  received 6
 +[                 170] <tsink>  received 7
 +[                 190] <tsink>  received 8
 +[                 210] <tsink>  received 9
 +actsim>
 </code> </code>
 +The first set of numbers is the time (default delays are 10 time units for each step in the CHP program). Next, the instance name is specified in angle brackets. Finally the log message is displayed.