add support for Mill

This commit is contained in:
Matthias Wächter
2021-06-14 08:35:22 +02:00
parent bb5f15798e
commit 9b3093e193
3 changed files with 43 additions and 1 deletions

1
.mill-version Normal file
View File

@@ -0,0 +1 @@
0.9.8

View File

@@ -109,3 +109,31 @@ And do the following :
Normally, this must generate output file ```MyTopLevel.v```. Normally, this must generate output file ```MyTopLevel.v```.
## Mill Support (Experimental)
This Spinal Base Project contains support for the [Mill build tool](https://com-lihaoyi.github.io/mill).
The prerequisites are the same as for using SBT, except for sbt itself. Additionally, the ```mill``` executable needs to be installed on the path. Download it to ```/usr/local/bin/mill``` or ```~/bin/mill``` according to the [installation instructions](https://com-lihaoyi.github.io/mill/mill/Intro_to_Mill.html#_installation).
You can clone and use this repository in the following way.
```sh
git clone https://github.com/SpinalHDL/SpinalTemplateSbt.git
```
Open a terminal in the root of it and execute your favorite mill command. At the first execution, the process could take some seconds
```sh
cd SpinalTemplateSbt
//If you want to generate the Verilog of your design
mill mylib.runMain mylib.MyTopLevelVerilog
//If you want to generate the VHDL of your design
mill mylib.runMain mylib.MyTopLevelVhdl
//If you want to run the scala written testbench
mill mylib.runMain mylib.MyTopLevelSim
```
The top level spinal code is defined into src\main\scala\mylib

13
build.sc Normal file
View File

@@ -0,0 +1,13 @@
import mill._, scalalib._
val spinalVersion = "1.4.3"
object mylib extends SbtModule {
def scalaVersion = "2.12.14"
override def millSourcePath = os.pwd
def ivyDeps = Agg(
ivy"com.github.spinalhdl::spinalhdl-core:$spinalVersion",
ivy"com.github.spinalhdl::spinalhdl-lib:$spinalVersion"
)
def scalacPluginIvyDeps = Agg(ivy"com.github.spinalhdl::spinalhdl-idsl-plugin:$spinalVersion")
}