📈 GH Trending Explorer 🎲 Surprise me

← all repos

RSI-Labs / RSI-Chip

git clone https://github.com/RSI-Labs/RSI-Chip.git

—

—
stars, 24h
+29
stars, 7 days · #1,359
+29
stars, 30 days · #9,082
29
★ total · +29% this week
1
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageRust
License—
Created2026-10-13 (7d ago)
Last push1d ago
Watchers1
OwnerOrganization

Links

README excerpt
# Rust EDA Toolchain
This workspace is an API-first, Rust-native EDA toolchain intended for agent
driven digital, analog, and physical-design flows. It is deliberately modular:
each domain is independently consumable and the `eda-api` facade provides the
one-call surface preferred by automation.
## Run and test
 [code] 
The data-driven regression target currently contains **15,101 unique named
cases**. It is not a collection of three or four broad assertions: every case
has a distinct name and independently reports success or failure. Of those,
`eda_tests::ams_cases` contributes exactly 3,110 analog/mixed-signal
circuit cases spanning:
The HDL frontend now executes a SystemVerilog class subset that underpins
agent-driven verification: `class`/`virtual class` declarations with
`extends` inheritance, `this`/`super` member and method dispatch (including
`super.new`), constructors via `h = new(args)` with trailing default
arguments, explicit `null` handle assignment/comparison with alias-group
detachment, object-identity `==`/`!=` across aliased handles, and declaration
initializers, `$cast` between handles on statically known inheritance chains,
shallow-copy construction via `dst = new source`, void `function`/`task`
methods, value-returning methods in
statement and expression positions (direct assignment calls also execute
method side effects and virtual dispatch), shared `static` properties and
`static function` methods addressed through the class name, handle copy semantics, property
qualifiers (`rand`, `randc`, `local`, `protected`, `const`), classes with
parameter lists (`class C #(parameter W = 8)` with explicit
`C #(.W(4))` / `C #(4)` integer specializations and default-value
substitution across widths, defaults, and method bodies, plus parameterized
base selection and forwarded actuals in `extends`), package-scope
classes with `pkg::Type` visibility, and a built-in UVM-lite `uvm_object`
base class (`new`/`get_id`) that derived transaction classes can extend
without any external library. A `string` subset (512-bit NUL-padded
byte packing, up to 64 characters) supports declaration, assignment,
literal comparison, `len()`/`getc()`/`putc()`/`substr()`/`atoi()`/
`atohex()`/`atobin()`/`itoa()`/`hextoa()`/`bintoa()`/`compare()`/
`icompare()`/`toupper()`/`tolower()` methods, class properties, and constructor arguments, plus
`$sformatf` with fully constant
arguments (compile-time `%0d/%h/%b/%s/%%` formatting into the packed
string subset) a `uvm_objection`
counter (`raise`/`drop` with call counts and a `drained`/`check_drained`
termination check), a depth-four
`uvm_tlm_fifo` mailbox (`try_put`/`try_get`/`peek` with FIFO ordering,
full rejection, and empty reads; sharable by sequencer and driver
handles), a sequential UVM-lite `uvm_event`
(`trigger`/`wait_trigger`/`reset`/`is_on` with trigger and consumption
counts), a `uvm_barrier` threshold counter, a bounded depth-four
`uvm_queue` int deque (`push_front`/`push_back`/`pop_front`/`pop_back`/
`size`/`