Min-Mozhi: the first Tamil-rooted, safe-by-default hardware description language

rust dev.to

I built Min-Mozhi (மின்மொழி — "language of electricity"): a modern HDL that
reads like Go/TypeScript, is safe like Rust, and speaks English, Tanglish, and
Tamil over one grammar. It compiles to synthesizable Verilog and ships its own
event-driven simulator. v0.1.0 is out today. 432 passing tests, MIT + Apache-2.0.

Here's a counter:

module Counter(WIDTH: int = 8) {
  clock clk
  reset rst
  out count: bits[WIDTH]
  reg value: bits[WIDTH] = 0
  on rise(clk) {
    value <- value +% 1
  }
  count = value
}
Enter fullscreen mode Exit fullscreen mode

The same module in Tanglish — same grammar, only the keywords change:

thoguthi Counter(WIDTH: int = 8) {
  thudippu clk
  meettamai rst
  veliyeedu count: bits[WIDTH]
  pathivedu value: bits[WIDTH] = 0
  pothu yetram(clk) {
    value <- value +% 1
  }
  count = value
}
Enter fullscreen mode Exit fullscreen mode

Quick start

cargo build
mimz check   examples/english/counter.mimz
mimz compile examples/english/counter.mimz -o counter.v --emit-testbench
mimz sim     demo/cpu.mimz --cycles 8 -o demo/cpu.vcd
Enter fullscreen mode Exit fullscreen mode

Release v0.1.0: https://github.com/Naveen2070/min-mozhi/releases/tag/v0.1.0
Repo: https://github.com/Naveen2070/min-mozhi
Site: https://mimz.naveenr.in

What would you build if you could write hardware in your own language?

Source: dev.to

arrow_back Back to Tutorials