Session 1: Introduction & Development Pipeline¶
Playground¶
Identity provider¶
Student identity is based on FabLabs.io, acting as an identity provider for all other tools.
Source code and documentation repository¶
GitLab is used as a code repository and a continuous deployment tool.
- Documentation: a template has been provisionned for us. What we have to do it to edit the “main” and “about” pages and to create one page per assignement.
- Editor: an online editor is suggested but it does not work that well. Another option is to use VS code. I prefer to use GitLab file editor, simpler and faster.
- Images: images are stored is a subfolder
- Files: I guess it will be the place where we can sync the work we do in the IIC-OSIC-TOOLS environment, within /foss/designs. More on this later..
Showcase¶
GitLab runs a pipeline that transforms the markdown documentation into a web site
This is what remains when the show is over and all lights are turned off.
IIC-OSIC-TOOLS¶
IIC-OSIC-TOOLS (Integrated Infrastructure for Collaborative Open Source IC Tools) is an all-in-one Docker/Podman container for open-source-based integrated circuit designs for analog and digital circuit flows. More on this here
We have been told to use the instance hosted on Fab Futures servers but we could run it locally later. The instance is provisionned when we register for this course.
TightVNC client is used to connect to that instance, accessing a remote desktop.
IMPORTANT: by default, an instance of a Docker image does not keep any information permanently. We have been told to store our designs in the /foss/designs folder.
Useful links¶
Homework¶
Install the course toolchain (Docker container)¶

Run a “hello world” synthesis¶
/foss/examples > make sim-all

/foss/examples > gtkwave fortune_teller_tb.vcd

Verify your tools work before Thursday!¶
Something is bugging me … The IIC-OSIC-TOOLS cloud-hosted image is great but is very volatile. It could restart for good reasons and I would loose my work. I know /foss/design is persisted but it is still fragile and I will loose it anyway once the course is over.
My “suggested workaround” is the following: connect the persisted share to the GitLab. Easier to say than to do, since I don’t have any control on the cloud infrastrcture :-)
Here is how I managed to make it “work”
Step 1: generate a security key (This is not great to store the key on a share, but it is ok on a developement environment)

Step 2: grab the public part of the key

Step 3: add that public key to my FabCloud GitLab account

Step 4: test Container-to-FabCloud GitLab

Step 5: create a folder to store my work

Step 6: clone the repository

Step 7: adjust the local settings and test the workflow
