Session1 - Introduction & Development Pipeline¶
(Mon Feb 16 11PM JST) I refered from the advanced FF students’ pages. Thanks for thier generocity! Actually I’ve been busy copying, and I’d like to know exactly what I’m doing.
Homework¶
1. Install course toolchain (Docker container)¶
STEP 1 Sign in with FabCloud, then Start Container.
STEP 2 [Open Browser VNC to access remotely] (https://tools.futures.academany.org/microservices)![Container]
Local VNC Client

STEP 3 Open Terminal 
STEP 4 Go to foss/examples folder
cd /foss/examples

Directory Layout
| Path | What’s there |
|---|---|
foss/examples |
Course example projects (read-only) |
foss/designs |
Your work goes here |
foss/tools |
All EDA tools (Yosys, OpenROAD, etc.) |
foss/pdks |
Process Development Kits (Sky130, etc.) |
STEP 5 Run simulation make sim-fortune –> generate fortune_teller_tb.vcd

STEP 6 View the waveform gtkwave fortune_teller_tb.vcd

Homework¶
2. Run a “hello world” synthesis¶
STEP 1 Open the text Editor (gedit) in noVNC. (Gvim didn’t work in my environment)
STEP 2 Type Hello World example code in gedit, and then Save it as hello_world.v in this directory./foss/designs/
module tb;
initial
$display("Hello World!");
endmodule
STEP 3 Generate ‘hello_world.vvp’ in Terminal.
iverilog -Wall -g2012 -Ilib -o hello_world.vvp hello_world.v

STEP 4 Run the code to print magic word.
vvp hello_world.vvp

Words:¶
AI-generated summary - Docker container is a lightweight, portable package that includes an application and everything it needs to run — code, libraries, dependencies, and system tools. Unlike a virtual machine, a container shares the host operating system’s kernel, making it faster and more efficient while still keeping applications isolated from each other
-
Verilog is a Hardware Description Language (HDL) used to design and model digital electronic systems. Instead of writing software that runs on a CPU (like Python for algorithms, or C for software behavior), Verilog is used to describe hardware circuits — such as logic gates, registers, processors, and entire chips.
-
[IIC-OSIC-TOOLS](https://github.com/iic-jku/IIC-OSIC-TOOLS)(Integrated Infrastructure for Collaborative Open Source IC Tools) is an open-source integrated circuit (IC) design environment that provides a complete toolchain for designing and fabricating ASIC chips using open-source software and open PDKs. “What it includes: Verilog simulators (e.g., Icarus Verilog), Synthesis tools (e.g., Yosys), Physical design flow (e.g., OpenLane), Layout editors (e.g., Magic), DRC/LVS verification tools, Open PDK support (SkyWater 130nm)”
Faculty Class Note: Microelectronics Tools Setup¶
- We will be using an all-in-one Docker container, which is a collection of open-source electronic design automation (EDA) tools for our class. You can find the source repository at github.com/iic-jku/IIC-OSIC-TOOLS. There are two ways to use this tools container, either through our hosted platform or by running it locally on your machine.
- We provide a hosted platform for all students where you get your own personal container with all the applications pre-installed, which is available at tools.futures.academany.org. You can login with your fabcloud details Faculty Class Pages: How to Document Your Work?
- Your personal website is build using a tool called MkDocs, which is a static site generator build for documentation projects. It converts files written in Markdown into a website.
- We host a GitLab instance where your documentation project is stored. This platform provides tracks changes to your files through a system called GIT. Every change you make is stored in a commit which then triggers a server process, called CI pipeline, which will build your website and publish it on a public address. Our GitLab instance uses a centralized identity provider for authentication using the network fablabs.io platform. How to edit?
- Open https://editor.fabcloud.org/ in your browser. We suggest opening the editor app in the tools container web browser, so you have acces to you files.
- You can also edit your files directly in the GitLab web interface using your own local browser. Navigate to your project in GitLab. Open the Web IDE by clicking the “Web IDE” button under the blue “Code” button. Navigate to the file you want to edit. Make your changes. Then select the commits tab to see your changes and commit them.