You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# should find the just installed jdk, agree to cs' questions for adding to your PATH
62
+
./cs setup
63
+
source~/.profile
64
+
65
+
If you want to install the tools for simulation and/or formal proofs, we recommend `oss-cad-suite <https://github.com/YosysHQ/oss-cad-suite-build>`_.
66
+
It contains a waveform viewer (gtkWave), verilog simulators (verilator and iverilog), VHDL simulator (GHDL) and other tools.
67
+
In case you want to build the tools yourself have a look at the legacy simulation tool :ref:`installation instructions <sim backend install>`.
68
+
69
+
We first install the needed C++ toolchain and download oss-cad-suite. To use it we must load the oss-cad-suite
70
+
environment for each shell we want to use it in. Note that oss-cad-suite contains a Python 3 interpreter that
71
+
may interfere with the system Python installation if loaded permanently.
72
+
73
+
Go to the oss-cad-suite `release page <https://github.com/YosysHQ/oss-cad-suite-build/releases/latest>`_ to get the
74
+
download link for the latest version. You can download/extract oss-cad-suite to a folder of your choice.
75
+
(last tested version of oss-cad-suite is `2023-10-22`, but more recent ones will most likely also work)
76
+
77
+
.. code-block:: sh
78
+
79
+
sudo apt-get install make gcc g++ zlib1g-dev
80
+
curl -fLO <download link>
81
+
tar xzf <file that you downloaded>
82
+
83
+
To use oss-cad-suite in a shell you need to load it's environment, e.g. via ``souce <path to oss-cad-suite>/environment``.
84
+
39
85
40
86
Mac OS X Installation
41
87
----------------------
42
88
You can use homebrew to install on Mac OS X. By default homebrew installs Java 21, but the SpinalHDL tutorial
43
-
SpinalTemplateSbt uses Scala version 2.12.16, which is not supported by Java 21 (17 is still the recommended LTS version, https://whichjdk.com/). So to install Java version 1.7 do:
89
+
SpinalTemplateSbt uses Scala version 2.12.16, which is not supported by Java 21 (17 is still the recommended LTS version,
90
+
https://whichjdk.com/). So to install Java version 1.7 do:
Copy file name to clipboardExpand all lines: source/SpinalHDL/Simulation/index.rst
+6-2Lines changed: 6 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,11 @@
2
2
Simulation
3
3
==========
4
4
5
-
As always, you can use your standard simulation tools to simulate the VHDL/Verilog generated by SpinalHDL. However, since SpinalHDL 1.0.0, the language integrates an API to write testbenches and test your hardware directly in Scala. This API provides the capabilities to read and write the DUT signals, fork and join simulation processes, sleep and wait until a given condition is reached. Therefore, using SpinalHDL's simulation API, it is easy to integrate testbenches with the most common Scala unit-test frameworks.
5
+
As always, you can use your standard simulation tools to simulate the VHDL/Verilog generated by SpinalHDL.
6
+
However, since SpinalHDL 1.0.0, the language integrates an API to write testbenches and test your hardware
7
+
directly in Scala. This API provides the capabilities to read and write the DUT signals, fork and join
8
+
simulation processes, sleep and wait until a given condition is reached. Therefore, using SpinalHDL's
9
+
simulation API, it is easy to integrate testbenches with the most common Scala unit-test frameworks.
6
10
7
11
To be able to simulate user-defined components, SpinalHDL uses external HDL simulators as backend. Currently, four simulators are supported:
8
12
@@ -12,7 +16,7 @@ To be able to simulate user-defined components, SpinalHDL uses external HDL simu
12
16
- `VCS <https://www.synopsys.com/verification/simulation/vcs.html>`_ **(experimental, since SpinalHDL 1.7.0)**
13
17
- `XSim <https://www.google.com/search?q=site%3Axilinx.com+xsim>`_ **(experimental, since SpinalHDL 1.7.0)**
14
18
15
-
With external HDL simulators it is possible to directly test the generated HDL sources without increasing the SpinalHDL codebase complexity.
19
+
With external HDL simulators it is possible to directly test the generated HDL sources without increasing the SpinalHDL codebase complexity.
Copy file name to clipboardExpand all lines: source/SpinalHDL/Simulation/install/GHDL.rst
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,10 @@
2
2
Setup and installation of GHDL
3
3
==============================
4
4
5
+
.. note::
6
+
If you installed the recommended oss-cad-suite during SpinalHDL :ref:`setup <Install>` you
7
+
can skip the instructions below - but you need to activate the oss-cad-suite environment.
8
+
5
9
Even though GHDL is generally available in linux distributions package system, SpinalHDL depends on bugfixes of GHDL codebase that were added after the release of GHDL v0.37. Therefore it is reccomended to install GHDL from source.
6
10
The C++ library boost-interprocess, which is contained in the libboost-dev package in debian-like distributions, has to be installed too. boost-interprocess is required to generate the shared memory communication interface.
Copy file name to clipboardExpand all lines: source/SpinalHDL/Simulation/install/Icarus Verilog.rst
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,10 @@
2
2
Setup and installation of Icarus Verilog
3
3
========================================
4
4
5
+
.. note::
6
+
If you installed the recommended oss-cad-suite during SpinalHDL :ref:`setup <Install>` you
7
+
can skip the instructions below - but you need to activate the oss-cad-suite environment.
8
+
5
9
In most recent linux distributions, a recent version of Icarus Verilog is generally available through the package system.
6
10
The C++ library boost-interprocess, which is contained in the libboost-dev package in debian-like distributions, has to be installed too. boost-interprocess is required to generate the shared memory communication interface.
0 commit comments