| #!/bin/bash |
| |
| set -ex |
| |
| rm -rf lse.tmp |
| mkdir lse.tmp |
| cd lse.tmp |
| |
| cat > lse.prj << EOT |
| #device |
| -a SBTiCE40 |
| -d iCE40HX8K |
| -t CT256 |
| #constraint file |
| |
| #options |
| -frequency 200 |
| -optimization_goal Area |
| -twr_paths 3 |
| -bram_utilization 100.00 |
| -ramstyle Auto |
| -romstyle Auto |
| -use_carry_chain 1 |
| -carry_chain_length 0 |
| -resource_sharing 1 |
| -propagate_constants 1 |
| -remove_duplicate_regs 1 |
| -max_fanout 10000 |
| -fsm_encoding_style Auto |
| -use_io_insertion 1 |
| -use_io_reg auto |
| -ifd |
| -resolve_mixed_drivers 0 |
| -RWCheckOnRam 0 |
| -fix_gated_clocks 1 |
| -top picorv32 |
| |
| -ver "../../../picorv32.v" |
| -p "." |
| |
| #set result format/file last |
| -output_edif output.edf |
| |
| #set log file |
| -logfile "lse.log" |
| EOT |
| |
| icecubedir="${ICECUBEDIR:-/opt/lscc/iCEcube2.2014.08}" |
| export FOUNDRY="$icecubedir/LSE" |
| export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}$icecubedir/LSE/bin/lin" |
| "$icecubedir"/LSE/bin/lin/synthesis -f lse.prj |
| |
| grep 'viewRef.*cellRef' output.edf | sed 's,.*cellRef *,,; s,[ )].*,,;' | sort | uniq -c |