Synthesis for the picoJava-II core is done with the
Design Compiler
tool from Synopsys.The sample scripts use Synopsys library for synthesis. The library setup information is in:
$PICOJAVAHOME/$PROJECT/design/lib_setup
.To synthesise with a different library, you need to:
- Add appropriate paths for the vendor specific libraries
- Set_dont_use statements to exclude slow cells
- Correct wireload models for the design
- Find and modify path constraints between different blocks
based on the library information- Include the false paths in different blocks which are provided in the synthesis scripts. These paths need to be included for correct timing information.
In the picoJava-II design, synthesis is done in bottom-up fashion. Every design unit has sample synthesis scripts under
$PICOJAVAHOME/$PROJECT/design/$unit_name/syn
directory.The synthesis scripts write results in the
db
directory. You need to:
- Create a
db
directory or- Change the scripts to write the results in a different place
The library setup information is in:
$PICOJAVAHOME/$PROJECT/design/lib_setup
. You need to:The synthesis scripts are structured to compile in the following manner:
- Add appropriate paths for vendor specific libraries
- Set_dont_use statements to exclude slow cells
- Correct wireload models for the design
- Find and modify path constraints between different blocks
based on the library information.- Include the false paths in different blocks which are provided in the
synthesis scripts. These paths need to be included for correct
timing information.
cpu -------------------icu |---- -------------------dcu |---- -------------------smu |---- -------------------pcsu |---- -------------------fpu |---- -------------------iu |--- ----------------ex |--- ----------------ucode |--- ----------------rcu |--- ----------------ifu |--- ----------------pipe |--- ----------------trap |--- ----------------hold_logic biu