Tuesday, October 30, 2012

Synthesizing individual blocks separately


It would be required to synthesize individual blocks in SPARC separately. For example, the method to synthesize the Load Store Unit is described here.

You need to have successfully run rsyn -how?

example lsu unit present in design/sys/iop/sparc/lsu

Steps
1. Create a work folder anywhere you like
2. cd into design/sys/iop/sparc/lsu
3. Use the following script to collect the flat_files from the location
4. Use the following script to extract the flat nestlist from all modules inside lsu to a folder called flat_files

Script: file_collect.sh (location /design/sys/iop/sparc/lsu)
cd /home/ar2654/opt/OpenSPARCT1/design/sys/iop/sparc/lsu
for FILE in $(find . -type f | grep -e "flat")
do
echo "cp ${FILE} /home/ar2654/opt/OpenSPARCT1/design/sys/iop/sparc/lsu/flat_files"
cp ${FILE} /home/ar2654/opt/OpenSPARCT1/design/sys/iop/sparc/lsu/flat_files
done

5. copy the files that are present in the flat_files folder to the work folder.
6. Copy the top file for the lsu namely lsu.v present in design/sys/iop/sparc/lsu/rtl to the work folder
6. Invoke design vision, run the configuration script to set up the libraries and work folders etc
7. File -> analyze, add all the files that are present in the work directory
8. File -> Elaborate, you will get warnings saying that sram modules (bw_r*) are missing, they cannot be synthesized because they are memory modules
9. Design -> compile
10. Command "report_qor > result_file" to report the area gate information etc.
11. Save the synthesized file. File -> save

No comments:

Post a Comment