## debootstrap
First set up an schroot debootstrap jail with debian 9.0.
-Follow these instructions taken from here:
+These instructions are based on information taken from here:
<https://www.debian.org/releases/stretch/amd64/apds03.html.en>
-In advance, edit /etc/fstab and add mount points: personally I prefer using
-mount --bind points
+In advance, on the host system, edit /etc/fstab and add mount points:
+
+(edit: personally I prefer using mount --bind points. however if doing
+that then after a reboot the chroot will lose the bind mountpoints
+and the commands need to be re-run)
/dev /home/chroot/coriolis/dev none bind 0 0
/dev/pts /home/chroot/coriolis/dev/pts none bind 0 0
apt-get install debootstrap schroot
mkdir /opt/chroot/coriolis
/usr/sbin/debootstrap stretch !$ http://ftp.us.debian.org/debian
- mount -a
+ mount /home/chroot/coriolis/dev
+ mount /home/chroot/coriolis/dev/pts
+ mount /home/chroot/coriolis/proc
+ mount /home/chroot/coriolis/sys
+ mount /home/chroot/coriolis/tmp
echo "coriolis2" > /home/chroot/coriolis/etc/debian_chroot
To do some preparation (users):
(coriolis2)lkcl@fizzy:~$
+## check out alliance and alliance-check-toolkit
+
+Adapted from <https://www-soc.lip6.fr/en/team-cian/softwares/alliance/>
+
+in the schroot:
+
+ git clone https://gitlab.lip6.fr/jpc/alliance-check-toolkit.git
+
+TODO: document how to build alliance, basically this:
+
+In the chroot, as root:
+
+ apt-get update
+ apt-get install git build-essential libtool automake \
+ flex bison xfig imagemagick \
+ texlive texlive-pictures texlive-latex-extra \
+ libx11-dev libxt-dev libxaw7-dev libxpm-dev libmotif-dev
+
+In the chroot, as the ordinary schroot user:
+
+ mkdir -p alliance/build alliance/install
+ cd ~/alliance
+ git clone https://www-soc.lip6.fr/git/alliance.git
+ cd alliance/src
+ ./autostuff
+ cd ~/alliance/build
+ export ALLIANCE_TOP=$HOME/alliance/install
+ export LD_LIBRARY_PATH=${ALLIANCE_TOP}/lib:${LD_LIBRARY_PATH}
+ ../alliance/src/configure --prefix=$ALLIANCE_TOP --enable-alc-shared
+ make -j1 install
+
+the two exports are best added to ~/.bash_profile for later convenience
+
## coriolis2
These are nominally taken from
libbz2-dev libxml2-dev rapidjson-dev libbz2-dev \
doxygen dvipng graphviz python-sphinx \
texlive-fonts-extra texlive-lang-french \
- libqwt-dev qt4-dev-tools python-qt4
+ libqwt-dev qt4-dev-tools python-qt4 \
+ libxt-dev libxpm-dev libmotif-dev \
+ yosys
+
+Then, as the ordinary (non-root) user in the schroot:
mkdir -p ~/coriolis-2.x/src
cd ~/coriolis-2.x/src
click on the chicken several times
-## check out alliance and alliance-check-toolkit
-
-in the schroot:
-
- git clone https://gitlab.lip6.fr/jpc/alliance-check-toolkit.git
-
-TODO: document how to build alliance, basically this:
-
- mkdir -p alliance/build alliance/install
- cd ~/alliance
- git clone https://www-soc.lip6.fr/git/alliance.git
- cd alliance/src
- ./autostuff
- cd ~/alliance/build
- export ALLIANCE_TOP=$HOME/alliance/install
- export LD_LIBRARY_PATH=${ALLIANCE_TOP}/lib:${LD_LIBRARY_PATH}
- ../alliance/src/configure --prefix=$ALLIANCE_TOP --enable-alc-shared
- make -j1 install
-
# Tutorials and checks
* <https://gitlab.com/Chips4Makers/alliance-check-toolkit>
+* See coriolis-2.x/Linux.x86_64/Release.Shared/install/share/doc/coriolis2/en/html/main/PythonTutorial/index.html
## Information from Jean-Paul
(with a basic doc under "doc/"...)
+## More from JP
+
+You must create a configuration for alliance-check-toolkit:
+
+ alliance-check-toolkit/etc/mk/users.d/user-LOGIN.mk
+
+ where you define where the various tools are installed
+ (look in other ones to have an idea).
+
+ You can try the ARM in alliance-check-toolkit:
+
+ > cd alliance-check-toolkit/benchsARM/cmos/
+ > make lvx
+
+ Should take about five minutes. It's symbolic, but should be
+ a configuration compatible with 180nm. To actually see the
+ results:
+
+ > make cgt
+
+ Then "File -> Open", "arm_chip_cts_r"
+
+ To have a very rough approximation, you can say that one lambda
+ equal 180nm.
+
+Depends on the zoom level and of the fact that you ask to see
+the inside of the cells.
+
+To actually see the transistors:
+ Tools -> Controller -> Filter Tab -> check "Process Terminal Cells"
+
+You can also tweak the layer display:
+ Tools -> Controller -> Layers & Go
+
+ You can quicly hide/show the Controller with CTRL+I.
+
+ You may also toy with Controller -> Look, try the other ones.
+ If you want a new one, to mimic something you're better
+ familiar with, it's in configurations files all written
+ in Python so easy to do, if a little tedious.
+
+> i'd expect such a chip to be in the alliance-check-toolkit however we
+> don't even know what we're looking at in order to know which bits we
+> need, let alone know what to do or how to run them.
+>
+> we're *literally* completely in the dark, here, having never done this
+> before - at all - so unless there's a specific tutorial which says, to
+> make a chip layout do this: "step 1: install these tools. step 2: get
+> this project repo. step 3: cd to this directory. step 4: run make or
+> ./compile-place-and-route.sh" we're absolutely lost.
+>
+> thx jean-paul, and apologies for not knowing where to begin, here.
+
+ No problem. You're welcome.
+
+ The doc is mostly for people who already have a background in ASICs,
+ I will try to patch something from my lecture in VLSI to help people
+ to orient themselves.
+
+ The up-to-date documentation is supplied directly in the Coriolis
+ repository:
+
+ coriolis/documentation/output/index.html
+
+ The links toward the doxygen doc will be invalid a this point,
+ but everython else works.
+
+ After installation, it is put in:
+
+ coriolis-2.x/Linux.x86_64/Release.Shared/install/share/doc/coriolis2/en/html/index.html