efabless / caravel

Caravel is a standard SoC harness with on chip resources to control and read/write operations from a user-dedicated space.
https://caravel-harness.readthedocs.io/
Apache License 2.0
296 stars 69 forks source link

branch test-9a uncompress does not work with caravel #418

Open d-m-bailey opened 1 year ago

d-m-bailey commented 1 year ago

When caravel is cloned under user_project_wrapper, make set_user_id fails during uncompress.

export CARAVEL_ROOT=/home/user/mpw-9/caravel_user_project/caravel && make -f /home/user/mpw-9/caravel_user_project/caravel/Makefile set_user_id
make[1]: Entering directory '/home/user/mpw-9/caravel_user_project'
/home/user/mpw-9/caravel_user_project/caravel/Makefile:227: target 'verilog/gl/user_project_wrapper.v.gz.00.split' given more than once in the same rule
/home/user/mpw-9/caravel_user_project/caravel/Makefile:227: target 'mag/user_project_wrapper.mag.gz.00.split' given more than once in the same rule
/home/user/mpw-9/caravel_user_project/caravel/Makefile:227: target 'def/user_project_wrapper.def.gz.00.split' given more than once in the same rule
/home/user/mpw-9/caravel_user_project/caravel/Makefile:227: target 'gds/user_project_wrapper.gds.gz.00.split' given more than once in the same rule
USER_ID is set to 02469BDF

gzip: caravel/signoff/caravan/primetime-signoff/reports/nom/timing_reports.tar.gz: not in gzip format
make[1]: *** [/home/user/mpw-9/caravel_user_project/caravel/Makefile:244: caravel/signoff/caravan/primetime-signoff/reports/nom/timing_reports.tar] Error 1
make[1]: Leaving directory '/home/user/mpw-9/caravel_user_project'
make: *** [Makefile:84: set_user_id] Error 2

Currently, LARGE_FILES is set to

LARGE_FILES += $(shell find . -type f -size +$(FILE_SIZE_LIMIT_MB)M -not -path "./signoff/*" -not -path "./mgmt_core_wrapper/signoff/*" -not -path "./.git/*" -not -path "./*/.git/*" -not -path "./gds/*" -not -path "./tapeout/outputs/oas/*" -not -path "./openlane/*")

Suggest

LARGE_FILES += $(shell find . -type f -size +$(FILE_SIZE_LIMIT_MB)M \
     -not -path "*/signoff/*" \
     -not -path "*/.git/*" \
     -not -path "*/gds/*" \
     -not -path "*/oas/*" \
     -not -path "*/openlane/*" \
     -not -name "*.$(ARCHIVE_EXT)")

* matches . and /. The final -not -name ".$(ARCHIVE_EXT)" ignores already compressed files.

Note: .tgz files will continue to be selected.

d-m-bailey commented 1 year ago

The file creating the error is actually xz compressed.

ciic-cvc:~/mpw-9/caravel_user_project/caravel/signoff/caravan/primetime-signoff/reports/nom$ file timing_reports.tar.gz
timing_reports.tar.gz: XZ compressed data

Looks like the other timing reports are the same.

ciic-cvc:~/mpw-9/caravel_user_project/caravel$ find . -name '*.gz' -exec file {} \; | grep -v gzip
./signoff/caravan/primetime-signoff/reports/nom/timing_reports.tar.gz: XZ compressed data
./signoff/caravan/primetime-signoff/reports/min/timing_reports.tar.gz: XZ compressed data
./signoff/caravan/primetime-signoff/reports/max/timing_reports.tar.gz: XZ compressed data
d-m-bailey commented 1 year ago

Same as #398