From ea9570830e237c052698745c54b152ef4ad4d591 Mon Sep 17 00:00:00 2001 From: Andrey Miroshnikov Date: Sat, 2 Oct 2021 19:48:42 +0100 Subject: [PATCH] Updated coriolis2 wiki to include automated process, still needs a bit more detail/cleanup. Added example adder floorplan image. --- HDL_workflow/chip_r_floorplan.png | Bin 0 -> 35695 bytes HDL_workflow/coriolis2.mdwn | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 HDL_workflow/chip_r_floorplan.png diff --git a/HDL_workflow/chip_r_floorplan.png b/HDL_workflow/chip_r_floorplan.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0c30d395062e4896966d35271b75200fbb4016 GIT binary patch literal 35695 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 W# +## NEW IN PROGRESS - Automated Installation +The new automated method of installing/setting coriolis2 is as follows: +1. Clone the repo "dev-env-setup". Tutorial assumes the directory is located under your user's home. +2. Run the script "mk-deb-chroot" to create a chroot environment. Tutorial assumes the name is "libresoc" +3. Run the script "cp-scripts-to-chroot" to copy the dev-env-setup directory over to your new chroot environment. +4. Login into the new scroot environment as a normal user (should be the same as your current user). +5. Run the script "coriolis-install" +6. Once cgt window appears, go to File, Open Cell, and type chip_r. +7. You should now have a working Coriolis environment! + +In a terminal: + $ cd ~/dev-env-setup + $ sudo bash + # ./mk-deb-chroot libresoc + # ./cp-scripts-to-chroot libresoc + +In a separate terminal as normal user: + $ scroot -c libresoc + (libresoc)$ cd ~/dev-env-setup + (libresoc)$ ./coriolis-install + +And now you wait...I suggest occasionally checking the status messages, especially after apt finished updating the packages and the script moves on to compiling yosys, coriolis2, alliance, as well as when alliance-check-toolkit generates the floorplan for you. + +This is what the chip floorplan should look like: + +[[!img chip_r_flooplan.png ]] + +# Sections to be updated... + + ## debootstrap First set up an schroot debootstrap jail with debian 10. -- 2.30.2