The Lumina system
Lumina Protect · IP protection

Ship your IP encrypted, for every tool your customer runs.

lumprotect encrypts Verilog, SystemVerilog, SPICE and Verilog-A files into IEEE 1735 envelopes, for Lumina and for any other tool whose public key you add. Lumina Sim, Lumina Lint and Lumina Spice read encrypted IP in memory, and what they show of it follows the rights its author set.

lumprotectCONNECTED
# for Lumina and for another tool, in one file
$ lumprotect encrypt --whole --key "Lumees Lab/LUMEES-IP-2026" \
--public-key "Acme EDA/ACME-KEY-1=acme.pub.pem" ip.sv -o ip.svp
# what an envelope holds
$ lumprotect info ip.svp
# your customer uses it like any other source
$ lumsim tb.sv ip.svp --top tb

Commands from the IP protection guide

IEEE 1735
version 1 and 2 envelopes
Several tools
one envelope per key
Rights
control what is shown
In memory
never written decrypted
Capabilities

What Lumina Protect does

Encrypt for many tools

One envelope carries a key block per tool, so the same file works in Lumina and in the other simulators and linters your customers use.

Rights you set

Choose whether errors point to the original file and line, and whether ports or all names are visible at run time.

Hidden where it matters

Inside protected IP there are no source lines in messages, no signals in waveforms, no VPI objects, no stepping in the debugger and no coverage.

Your code still checked

The protected design takes part in lint, CDC and simulation: its connections, clocks and resets count, while nothing inside it is reported.

Analog IP too

SPICE netlists, model libraries and Verilog-A files encrypted the same way, read by Lumina Spice with their nodes and devices kept private.

Keys and checks

Generate key pairs and keyrings, inspect an envelope's keys and rights, and decrypt with your own key to check what you ship.

Reference

What stays private

  • Errors

    Reported as a problem in protected IP; source lines are never printed

  • Waveforms

    Signals and scopes inside the IP are not dumped

  • VPI and cocotb

    Objects inside the IP are not found, iterated or returned

  • Debugger

    No breakpoints or stepping inside the IP

  • Coverage

    The IP's statements and signals are not measured

  • Lint

    No findings inside the IP; your code is checked as usual

Questions

Frequently asked

What is IEEE 1735?

The IEEE recommended practice for encrypting electronic design IP so that EDA tools can use it without revealing it. It defines envelopes with a key block per tool and rights that control what each tool may show.

Will my encrypted IP work in other vendors' tools?

Add each tool's public key when you encrypt and the envelope carries a key block for it, alongside the one for Lumina.

Can I use encrypted IP I received from a vendor?

Yes, if it is encrypted for the Lumees key or for a key you hold in a keyring. It is decrypted only in memory.

Run your own design on Lumina first.

We are working with a small group of design teams before release. You run your real designs; we fix what you find, and your cases become part of the tests every build must pass.

Privacy settings

Choose what this site may use. You can change your mind at any time from the Privacy settings link at the bottom of every page.

What the site needs to work, and the record of the choice you make here, kept in your browser. No cookies are set.

Always on

Would let us count visits and see which pages are useful, without advertising or cross-site tracking. We do not use any analytics today, so nothing is loaded whichever you choose.

Cookie policy · Privacy policy