{"adoption": {"forks": 388, "observed_at": "2026-08-28T04:06:07.311059+00:00", "stars": 2031}, "canonical_url": "https://ross.abutalabs.com/products/spinalhdl", "card": {"archived": false, "artifact_type": "library", "description": "Scala based HDL", "domain": ["hardware", "embedded-systems"], "enriched": true, "function": ["programming-language", "compiler", "simulation", "testing"], "health_score": 97, "homepage": null, "language": "Scala", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["SpinalHDL/SpinalHDL"], "name": "SpinalHDL/SpinalHDL", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-08-12T07:15:05+00:00", "repo": "SpinalHDL/SpinalHDL", "stars": 2031, "tags": ["hdl", "rtl", "hardware-description-language", "vhdl", "verilog", "systemverilog", "fpga", "asic", "scala", "hardware-construction", "rtl-generation", "eda-tools", "digital-circuit-design", "hardware-verification", "chisel-alternative", "digital-design", "eda"], "topics": ["scala", "rtl", "vhdl", "verilog", "fpga"], "urls": [], "use_cases": ["describe digital hardware using a modern Scala-based HDL instead of VHDL or Verilog", "generate VHDL and Verilog RTL code for FPGA or ASIC synthesis", "use object-oriented and functional programming to parameterize and elaborate hardware designs", "write less verbose, more powerful hardware descriptions than SystemVerilog", "verify hardware designs using Scala-based testing and simulation", "build reusable hardware component libraries with software engineering practices", "design FPGA circuits without area or performance overhead versus hand-written HDL"], "what_it_is": "SpinalHDL is an open-source Scala-based hardware description language (HDL) library for describing digital hardware at the register-transfer level (RTL). It generates standard VHDL and Verilog output compatible with existing EDA tools, while offering the expressiveness of a modern programming language with object-oriented and functional programming features.", "when_to_avoid": ["you need high-level synthesis (HLS) from C/C++ or similar - SpinalHDL is explicitly not an HLS tool", "your team and toolchain are firmly committed to VHDL, Verilog, or SystemVerilog with no room for a Scala-based flow", "you require an event-driven simulation paradigm - SpinalHDL is RTL-based", "your environment cannot run the JVM or Scala build tooling (SBT/Gradle)", "you need a standalone language with its own compiler rather than an embedded Scala DSL"], "when_to_choose": ["you want a modern, expressive HDL with strong typing and OOP/FP features instead of VHDL/Verilog/SystemVerilog", "you need to generate standard VHDL or Verilog that works with your existing EDA toolchain", "you want to parameterize and generate hardware programmatically with Scala libraries", "you prefer concise hardware descriptions with one-to-one, no-black-magic RTL generation", "you want a free, industry-usable HDL without licensing costs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spinalhdl", "repo": "SpinalHDL/SpinalHDL", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.311059+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:31.589217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32b5765702f879a02982994b5fd9ea60e0f36f0af4ffeeb338442a57b4b40772", "fetched_at": "2026-08-28T04:06:07.311059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SpinalHDL/SpinalHDL"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 62}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4238, "days_push": 21, "days_rel": 98, "gap_med": 91, "n_releases_24m": 8}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}