simulation, slides, gitignores
* Add Icarus Verilog exmple in semicustom * .gitignore files now ignore all files from the directory * add landsgemeinde
This commit is contained in:
parent
c29f6d5d6b
commit
4b8298e130
9 changed files with 106 additions and 16 deletions
|
@ -14,5 +14,5 @@ conda activate fullcustom
|
|||
The notebook can be openend as follows:
|
||||
|
||||
```sh
|
||||
jupyter notebook
|
||||
jupyter-notebook
|
||||
```
|
||||
|
|
|
@ -14,5 +14,5 @@ conda activate semicustom
|
|||
The notebook can be openend as follows:
|
||||
|
||||
```sh
|
||||
jupyter notebook
|
||||
jupyter-notebook
|
||||
```
|
||||
|
|
|
@ -42,6 +42,7 @@ dependencies:
|
|||
- ipykernel=6.15.0=pyh210e3f2_0
|
||||
- ipython=7.33.0=py37h89c1867_0
|
||||
- ipython_genutils=0.2.0=py_1
|
||||
- iverilog=0_8_6666_g014416872=20230412_103222
|
||||
- jedi=0.18.2=pyhd8ed1ab_0
|
||||
- jinja2=3.1.2=pyhd8ed1ab_1
|
||||
- jpeg=9e=h166bdaf_1
|
||||
|
@ -96,7 +97,7 @@ dependencies:
|
|||
- pcre=8.45=h9c3ff4c_0
|
||||
- pexpect=4.8.0=pyh1a96a4e_2
|
||||
- pickleshare=0.7.5=py_1003
|
||||
- pip=23.0.1=pyhd8ed1ab_0
|
||||
- pip=23.1.1=pyhd8ed1ab_0
|
||||
- pixman=0.40.0=h36c2ea0_0
|
||||
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_0
|
||||
- prometheus_client=0.16.0=pyhd8ed1ab_0
|
||||
|
@ -104,7 +105,7 @@ dependencies:
|
|||
- psutil=5.9.0=py37h5eee18b_0
|
||||
- ptyprocess=0.7.0=pyhd3deb0d_0
|
||||
- pycparser=2.21=pyhd8ed1ab_0
|
||||
- pygments=2.15.0=pyhd8ed1ab_0
|
||||
- pygments=2.15.1=pyhd8ed1ab_0
|
||||
- pyrsistent=0.18.0=py37heee7806_0
|
||||
- python=3.7.16=h7a1cb2a_0
|
||||
- python-dateutil=2.8.2=pyhd8ed1ab_0
|
||||
|
@ -144,3 +145,8 @@ dependencies:
|
|||
- pip:
|
||||
- dataclasses-json==0.5.6
|
||||
- gdstk==0.9.37
|
||||
- marshmallow==3.19.0
|
||||
- marshmallow-enum==1.5.1
|
||||
- mypy-extensions==1.0.0
|
||||
- typing-inspect==0.8.0
|
||||
prefix: /home/pierre/anaconda3/envs/semicustom
|
||||
|
|
|
@ -414,6 +414,78 @@
|
|||
"!cat v/{XLS_DESIGN_NAME}.v"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Verilog simulation\n",
|
||||
"\n",
|
||||
"A test bench can be written to simulate the circuit described above:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"%%writefile tb/xor3_tb.v\n",
|
||||
"module xor3_tb;\n",
|
||||
"\n",
|
||||
" wire value;\n",
|
||||
" reg w1, w2, w3;\n",
|
||||
" initial begin\n",
|
||||
" $dumpfile(\"tb/xor3_tb.vcd\");\n",
|
||||
" $dumpvars(0,xor3_tb);\n",
|
||||
" # 0 w1 = 0; w2 = 0; w3 = 0;\n",
|
||||
" # 5 w1 = 0; w2 = 0; w3 = 1;\n",
|
||||
" # 5 w1 = 0; w2 = 1; w3 = 0;\n",
|
||||
" # 5 w1 = 0; w2 = 1; w3 = 1;\n",
|
||||
" # 5 w1 = 1; w2 = 0; w3 = 0;\n",
|
||||
" # 5 w1 = 1; w2 = 0; w3 = 1;\n",
|
||||
" # 5 w1 = 1; w2 = 1; w3 = 0;\n",
|
||||
" # 5 w1 = 1; w2 = 1; w3 = 1;\n",
|
||||
" # 5 $finish;\n",
|
||||
" end\n",
|
||||
"\n",
|
||||
" xor3 xor3_i (w1, w2, w3, value);\n",
|
||||
"\n",
|
||||
" initial\n",
|
||||
" $monitor(\"At time %t, value = %h (%0d)\",\n",
|
||||
" $time, value, value);\n",
|
||||
"endmodule"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The simulation can then be performed using _Icarus Verilog_:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!iverilog -o tb/xor3_tb tb/xor3_tb.v v/xor3.v\n",
|
||||
"!vvp tb/xor3_tb"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The waveforms are dumped in a `.vcd` file, located under:\n",
|
||||
"\n",
|
||||
"```\n",
|
||||
"tb/xor3_tb.vcd\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
"It can be opened with https://vc.drom.io/ for instance."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
|
|
2
semicustom/svg/.gitignore
vendored
2
semicustom/svg/.gitignore
vendored
|
@ -1 +1 @@
|
|||
*.svg
|
||||
*
|
||||
|
|
2
semicustom/v/.gitignore
vendored
2
semicustom/v/.gitignore
vendored
|
@ -1 +1 @@
|
|||
*.v
|
||||
*
|
||||
|
|
2
semicustom/xls/ir/.gitignore
vendored
2
semicustom/xls/ir/.gitignore
vendored
|
@ -1 +1 @@
|
|||
*.ir
|
||||
*
|
||||
|
|
2
semicustom/xls/x/.gitignore
vendored
2
semicustom/xls/x/.gitignore
vendored
|
@ -1 +1 @@
|
|||
*.x
|
||||
*
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<section>
|
||||
<h2>More Wik'history</h2>
|
||||
|
||||
<p>Available PDKs are <b>180nm</b> (<em>GlobalFoundries</em>), <b>130nm</b> (<em>SkyWater</em>) and <b>90nm</b> (<em>SkyWater</em>, FDSOI).</p>
|
||||
<p>Available technologies are <b>180nm</b> (<em>GlobalFoundries</em>), <b>130nm</b> (<em>SkyWater</em>) and <b>90nm</b> (<em>SkyWater</em>, FDSOI).</p>
|
||||
|
||||
<p>First used in the industry between 1999 and 2003. Old but cheap.</p>
|
||||
|
||||
|
@ -69,9 +69,6 @@
|
|||
* No restriction ⛔
|
||||
* No NDA 🤐
|
||||
|
||||
> Who wants overhead?
|
||||
>
|
||||
> Who wants reproducibility?
|
||||
</section>
|
||||
<section data-markdown>
|
||||
## Why to Open Source?
|
||||
|
@ -81,7 +78,7 @@
|
|||
* No strategical overhead 👑
|
||||
* No compliance overhead 🦺
|
||||
|
||||
> Agile workflow makes engineers (at least me) happy.
|
||||
> Streamlined workflow makes engineers (at least me) happy.
|
||||
</section>
|
||||
<section data-markdown>
|
||||
## Now give real reasons!
|
||||
|
@ -96,6 +93,21 @@
|
|||
|
||||
**🫵 You can also do the three. 🫵**
|
||||
</section>
|
||||
|
||||
<section data-markdown>
|
||||
## Quick Landsgemeinde
|
||||
|
||||
|
||||
> Who wants overhead?
|
||||
|
||||
> Who wants reproducibility?
|
||||
|
||||
> Who wants to reinvent the wheel?
|
||||
|
||||
> Who wants to keep their IP?
|
||||
|
||||
</section>
|
||||
|
||||
<section data-markdown data-background='img/hype.jpg'>
|
||||
## 🤩 Are you hyped enough? 🫨
|
||||
|
||||
|
@ -107,7 +119,7 @@
|
|||
<section data-markdown>
|
||||
# Some technical bits
|
||||
|
||||
* Meet the PDK
|
||||
* Meet the Process Design Kit (PDK)
|
||||
* Check out the workflows
|
||||
* Addition contextual knowledge (Rules & MOSFETs)
|
||||
|
||||
|
@ -172,7 +184,7 @@
|
|||
conda activate semicustom
|
||||
|
||||
# Launch the jupyter notebook
|
||||
jupyter notebook
|
||||
jupyter-notebook
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@ -186,7 +198,7 @@
|
|||
conda activate fullcustom
|
||||
|
||||
# Launch the jupyter notebook
|
||||
jupyter notebook
|
||||
jupyter-notebook
|
||||
```
|
||||
|
||||
</section>
|
||||
|
|
Loading…
Reference in a new issue