You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Papon 4b1ed795e3 SdramXdr cleaning 3 days ago
core SpinalSim allow output clock 1 week ago
debugger Fix many compilation warnings #171 10 months ago
demo Fix many compilation warnings #171 10 months ago
lib Fix SdramXdr CKE 3 days ago
project Add sbt-assembly 4 weeks ago
sim/src VerilatorBackend add -Wno-CMPCONST 2 weeks ago
storage Remove delayed init from bundle to allow inner class bundle declaration 4 years ago
tester SdramXdr cleaning 3 days ago
.gitattributes Added git attributes. 4 years ago
.gitignore update to SBT 1.3.3 1 month ago
.gitmodules add cocotblib 3 years ago
.travis.yml add (dummy) envvar to identify the new job 9 months ago
Dockerfile dockerize 9 months ago
LICENSE Change spinal.lib license to MIT 3 years ago
LICENSE_core Change spinal.lib license to MIT 3 years ago
LICENSE_lib Change spinal.lib license to MIT 3 years ago
README.md Fix a few textual mistakes in the readme. 10 months ago
build.sbt Add sbt-assembly 4 weeks ago
todo.md (a)syncronous -> (a)synchronous 11 months ago
travis.sh fix: pass TRAVIS envvar to docker container 9 months ago

README.md

About SpinalHDL

SpinalHDL is:

  • A language to describe digital hardware
  • Compatible with EDA tools as it generate the corresponding VHDL/Verilog file
  • Much more powerful than VHDL, Verilog and SystemVerilog by its syntaxes and features
  • Much less verbose than VHDL, Verilog and SystemVerilog
  • Not an HLS, nor based on the event driven paradigm
  • Only generating what you asked him in a one to one way (no black-magic, no blackbox)
  • Not introducing Area/Performance overhead in your design (versus a hand written VHDL/Verilog)
  • Based on the RTL description paradigm, but can go much further
  • Allowing you to use Object Oriented Programming and Functional Programming to elaborate your hardware and verify it
  • Free and can be used in the industry without any license

Build Status

SBT (Scala build tool)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  "com.github.spinalhdl" % "spinalhdl-core_2.11" % "latest.release",
  "com.github.spinalhdl" % "spinalhdl-lib_2.11" % "latest.release"
)

You can force to pick a specific SpinalHDL version by replacing the ‘latest.release’. See https://github.com/SpinalHDL/SpinalTemplateSbt/blob/master/build.sbt

JAR

https://oss.sonatype.org/content/groups/public/com/github/spinalhdl/spinalhdl-core_2.11/
https://oss.sonatype.org/content/groups/public/com/github/spinalhdl/spinalhdl-lib_2.11/

Changes logs

https://github.com/SpinalHDL/SpinalHDL/tags

License

The SpinalHDL core is using the LGPL3 license while SpinalHDL lib is using the MIT one. That’s for the formalities. But there is some practices statements of those license implications :

Your freedoms are :

  • You can use SpinalHDL core and lib in your closed/commercial projects.
  • The generated RTL is yours (.vhd/.v files)
  • Your hardware description is yours (.scala files)

Your obligations (and my wish) are :

  • If you modify the SpinalHDL core (the compiler itself), please, share your improvements.

Also, SpinalHDL is provided “as is”, without warranty of any kind.