I pushed a few changes to the casper-astro mlib_devel repository to make life 
easier when working with Pblocks and planAhead on CASPER designs.

## casper_create_ppr.sh

The "casper_create_ppr.sh" shell script has been added to the ROACH2 base 
package (XPS_ROACH2_base).  After completing a build (typically one that failed 
to meet timing) you can cd into the design's XPS_ROACH2_base directory and run 
the "casper_create_ppr.sh" script to create and populate a planAhead project 
(i.e. a ".ppr" file) that can be used to explore the results of the build and 
then perhaps define Pblocks.  See the log message for more details:

https://github.com/casper-astro/mlib_devel/commit/a949c9d

* UPDATE: The log's example invocation of planAhead is not quite right.  It 
shows "planAhead ../planahead/foo-g1234567.ppr", but it should be "planAhead 
./planahead/foo-g1234567.ppr" (i.e. it should be "./" not "../").  The name of 
the actual ppr file will depend on your design name and its git status.

## Auto-include of user-provided UCF snippets

With the new changes, the toolflow now provides the ability to automatically 
include UCF snippets, such as one might use to define Pblocks and assign 
various components to them.  Once you have created a UCF snippet that defines 
Pblocks and assigns components to them, all you need to do is store that UCF 
snippet in the "<model_name>/ucf" subdirectory.  For example, if your model 
file is named ".../foo.mdl", then you would place your UCF snippet(s) in 
".../foo/ucf/".  When the toolflow next creates the overall "system.ucf" file 
(e.g. on the next build), it will automatically include these UCF snippet(s) in 
the overall "system.ucf" file.  This provides a convenient way to apply 
previously defined Pblocks to future builds as well as to version control the 
user-defined UCF snippet(s).  The location of the UCF snippets can be 
overridden by environment variables (if desired).  For more details, see the 
commit log message:

https://github.com/casper-astro/mlib_devel/commit/057d65b

Thanks go to Rurik Primiani for the original 
environment-variable-specified-auto-include feature upon which this 
auto-include feature is based!  Note that this new auto-include feature is 100% 
backwards compatible with Rurik's, so if you are using that already, this new 
one will not break anything for you.

Enjoy,
Dave

P.S. AFAICT, these changes have not yet been pushed to the ska-sa mlib_devel 
repository.  If you cloned your mlib_devel from there then you will have to 
wait until these changes get there.


Reply via email to