Repository navigation
Releases: Ferrite-Engineering/netcrux
Release list
NetCrux 1.1.3
NetCrux 1.1.3 makes NetCrux work on remote displays without extra setup, and lets it open RTL that instantiates standard cells directly.
New
- Cell libraries (Liberty). RTL that instantiates standard cells or macros now elaborates when you add the library's Liberty file under File → Cell Libraries (Liberty)…. You can also pick
.libfiles together with your sources, or list them in a filelist. NetCrux reads only the cells and their pins, keeps power and ground pins, and caches the result, so even a very large library is read once. One file per library is enough, from any process corner. - Missing modules as black boxes. When a module has no definition, NetCrux offers to draw it as a black box with the pins its instances connect, working out each pin's direction from the wiring. This is for viewing; add a Liberty file for exact pins. The option is kept with the project.
Fixed
- On a display on another machine (an ETX or VNC server reached from a compute farm, or ssh X forwarding), NetCrux now uses its software renderer by itself. With OpenGL, every frame crossed the network, so launch and every click were slow. Set
FLUTTER_LINUX_RENDERER=openglto keep OpenGL. - Over ssh X forwarding to a machine where you are also logged in to a Wayland desktop, the window now opens on your forwarded display instead of that machine's own screen.
- Over
ssh -Xfrom a Mac, NetCrux no longer closes on the first key press. - In a session with no keyring service, NetCrux no longer prints hundreds of
libsecret_errorwarnings. It tries the keyring once and uses the licence file from then on. - In a session with no DBus session bus, the accessibility layer no longer prints warnings for every window.
- A power or ground net that only joins an inout supply port to cells' power pins is now drawn.
- A source file opened from the command line with a relative path is now saved correctly in a project, so the project opens again from its own folder.
Also
- Other performance and quality enhancements.
Download: https://netcrux.app/download
NetCrux 1.1.2
A Linux release for remote displays. On a Linux machine displayed somewhere else, over ssh X forwarding, VNC, ETX or NX, or from a job started on another host, NetCrux's file dialogs failed. They now open wherever NetCrux does. Nothing has changed on macOS or Windows. As with 1.1.1, NetCrux offers this update in the app only to licensed installs, and anyone who wants it can download it.
Fixed
- File dialogs open on any Linux display. Open, Save and Export asked the desktop's file-chooser service to draw the dialog, over the session's DBus bus. Where that bus could not be reached, every dialog failed with "Could not open the file picker". Where it could, the dialog could open on another screen. NetCrux now draws the dialog itself, on the display its window is on. Saving asks before replacing a file, and file filters match extensions in any letter case (#34).
Download: https://netcrux.app/download
NetCrux 1.1.1
A Linux release. NetCrux now runs on Red Hat Enterprise Linux 8 and its rebuilds, draws its window on remote displays that have no OpenGL, and keeps a licence on Linux sessions with no keyring service. Nothing about how NetCrux looks or works has changed on macOS or Windows. NetCrux offers this update in the app only to licensed installs; an install without a licence that already runs well has nothing to gain from it, and anyone who wants it can download it.
New
- Runs on RHEL 8. The Linux build now needs glibc 2.28, down from 2.34. It runs on Red Hat Enterprise Linux, Rocky Linux and AlmaLinux 8 and 9, Ubuntu 22.04 and later, and Debian 12. Each release is now launched on all five before it ships.
Fixed
- NetCrux draws on displays with no OpenGL. On a remote X session (VNC, X forwarding, ETX or NX) or a virtual machine without 3D support, the window stayed empty. NetCrux now checks for OpenGL at startup and, when there is none, draws with the software renderer instead. Setting
FLUTTER_LINUX_RENDERER=openglkeeps OpenGL (#31). - A licence works where no keyring is running. On a Linux session with no secret service, such as a remote X session or a shared login host, activation failed and no licence was kept. A licence file or machine file is now kept in a file only you can read, and the licence panel says where. A licence in your organization's policy file needs no keyring at all. A licence key still needs one, and the panel now says so when there is none (crux-shared#59).
Also
- The
.deband.rpmpackages now declare the EGL and OpenGL ES libraries NetCrux needs, so a minimal install pulls them in.
Download: https://netcrux.app/download
NetCrux 1.1.0
The first feature release since 1.0, shaped by what beta and launch users
asked for. Annotations are now free and simpler, the schematic shows what a
dangling or tied-off pin is doing, Zoom to Selection takes you straight to
what you picked, and wires on large designs click and trace correctly.
Collaboration catches up with WaveCrux, and joining a session is free. Pro
analysis gets clearer CDC crossings, a netlist diff that matches generated
cells, and an X-trace that finds origins on real designs.
New
- Annotations are free in every edition, and bookmarks fold into them. An
annotation pins a title, a Markdown note or both to any cell, net or port.
One docked Annotations panel lists them per design, a click selects and
reveals the element (switching scope when it has to), and annotated cells
carry a badge on the canvas. - Zoom to Selection. Press Z (the WaveCrux key), use the toolbar button
beside Zoom to Fit, or find it in the Navigate menu. It frames the
selection and, while a trace is showing, everything the trace highlights.
An element selected by a cross-probe from another app is framed the same
way. - Pins say how they are driven. Inputs tied to a constant, tied to x, left
undriven, or missing from the netlist altogether are each drawn distinctly,
so a dangling input no longer looks like a connected one. - Pins stay on their side. Inputs are laid out on the left of a cell and
outputs on the right, including on feedback paths and unconnected pins. - File ▸ Save Project As… writes the open design as a
.netcrux-project
with paths relative to the project file, so a committed project opens from
another checkout. - Collaboration catches up with WaveCrux. File ▸ Share Session…, Join
Session… and Leave Session; presenter mode with follow, where a
follower who looks around is detached and snaps back; the presenter's front
analysis panel kept in sync; and annotations made during a session travel to
everyone in it. Joining is free; hosting is Enterprise. - Cross-probing is free in every edition, sending as well as receiving.
Another EDACrux app can now hand NetCrux a whole project (a
.netcrux-project, a.crux-projectmanifest or a.ffilelist), so a
multi-file design arrives with its sources, top module, defines and include
paths. - Better navigation on large designs. Filtering the hierarchy lists
matching cells under their scope, long generated cell names keep the end
that tells them apart, keyboard focus follows the pointer onto the canvas so
the bare zoom keys always work, and Zoom In also answers to
Cmd/Ctrl + + on Swedish, German and other layouts, and to the numeric
keypad. - A keyboard list for state machines. The FSM state list is one Tab stop
that moves with the arrow keys, Home and End, and selects with Enter. In Pro,
a Diagram | List toggle switches the FSM panel between the bubble
diagram and this list. - CDC and reset crossings (Pro). Selecting a crossing paints the crossing
itself on the schematic: every bit of the net, the driver, the capture
register and the synchronizer chain. Crossings are named by your source
nets rather than internal Yosys names, clear from the panel or with Escape,
and Show Crossings for This Signal reuses a current result and reveals
the match. - Netlist diff (Pro) now matches Yosys-generated cells and nets by
structure, so two revisions of a design no longer show every generated cell
as removed and re-added, and Show in Schematic selects exactly the row
you chose. - X-trace (Pro) finds origins on real designs: undriven inputs, inputs
tied to x, and registers with no reset, each with the reason it is an
origin. - Switching activity (Pro) now colors the schematic's wires, keeps clocks
apart from data, and uses a ramp that stays legible on light and dark
canvases. - Custom symbols (Pro) fill their cell with the drawing's shape and name
their anchored pins, and the Symbol Editor can load an SVG from a file. The
RTL source view docks as a Source tab. - Crash detection. If a desktop session ends without a clean exit, the next
launch sends one event that says so. It carries nothing beyond the standard
fields usage statistics already send, and it follows the same setting in
Settings ▸ Privacy: with usage statistics off, nothing is sent. - No identifier while usage statistics are off. With them off, the app
keeps no installation identifier; turning them back on creates a new one.
On first launch, the default now reads your operating system's region
setting as well as its language.
Fixed
- Wires on designs with high-fanout nets. The layout and the schematic
numbered wires differently, so on many real designs a clicked wire showed
nothing, traces lit the wrong wires and Zoom to Selection framed most of the
design. Each wire now has one identity. - A
.ffilelist reopened from Recent Projects or the command line is
expanded again instead of being read as Verilog, and a restored filelist tab
keeps its defines and include paths. - Include paths and defines from a filelist or project reach Yosys.
- The "source changed" prompt comes back on every change on macOS, not only
the first, and opening a design no longer raises it. - The cone of influence (Pro) steps through cells whose Yosys name contains
a colon. - Overview zoom on large schematics paints about ten times faster, and the
first click no longer pauses while an index is built. - On Windows, a Yosys from the OSS CAD Suite starts. NetCrux reported it
unusable when another toolchain onPATHcarried DLLs with the same names;
the suite's ownbinandlibfolders now come first.
Also
- Interface polish across the app: two open files with the same name show the
folder that tells them apart; the "source changed" prompt is the same banner
in every EDACrux app and can be declined; Split Pane Right needs two tabs
to split; command palette shortcut hints are readable on the selected row;
focus rings no longer crowd their text; an empty panel tells a screen reader
what belongs there; and on macOS the window reopens where you left it, on
the same display. - The Linux packages register NetCrux's file types, and the Windows
uninstaller removes the install folder it leaves behind. - Cross-probing between EDACrux apps now proves the identity of both ends
without sending the connection token over the wire. 1.0 apps still connect. - Built with Flutter 3.47.5.
- Other performance and quality enhancements.
Download: https://netcrux.app/download
NetCrux 1.0.0
The first stable release, and the end of the public beta. Two things follow
from that. NetCrux is now licensed: Open Core is free and stays free, and the
Pro and Enterprise features the beta handed to everyone now need a key. When
one is refused, the app says which tier it belongs to instead of quietly doing
nothing. And the app is named for the product rather than for the tier, so it
is NetCrux in the Dock, the title bar, the Start menu and your app menu.
Download it from netcrux.app/download, open a
netlist in the browser at app.netcrux.app, or read
the manual at docs.netcrux.app.
New
- Large designs lay out in seconds, on every platform. The layout engine
now runs natively on macOS, Windows and Linux, as a port of the Eclipse
Layout Kernel that draws the same schematic as before. On a current laptop
picorv32 lays out in about three seconds and VexRiscv in about fifteen, and a
100,000-cell scope fits the window and stays visible when you zoom out.
Windows and Linux previously ran layout in an interpreter and timed out on
designs that size. - X-Trace has a panel. NetCrux could already walk the back-cone of an X and
had nowhere to put the answer, so the result was computed and discarded. The
X-Trace panel is a dock you can move and reopen, it shows the chain with the
net that originated it, and closing the tab keeps the chain while Clear
empties it. Trace X Origin on the schematic's context menu starts the
walk (Pro); the panel itself is Open Core. - Licensing, in the app. Settings ▸ License takes a key, shows what it
entitles you to and when it renews, and Manage subscription opens the
billing portal. Education users can apply for an EDU licence from the same
panel. For machines that cannot reach the internet there are licence files:
export a request, import the signed file, and the tier is active offline. A
licence that has been cancelled or has run out of seats drops the app back to
Open Core and says so, rather than failing in some other way. - A suite licence spends one seat per machine, not one per product. A seat
is a computer. Installing the third and fourth EDACrux product on a machine
that already has a seat no longer exhausts the seat count, because all four
products now present the same machine identity. Deactivate this machine
releases that seat for every EDACrux product on the computer at once, from
whichever product you happen to be in, and the confirmation says so before
you agree to it. - First launch asks. You accept the licence agreement, then answer a
usage-statistics disclosure, before the app opens. Usage statistics start
switched off in the EEA, the UK, Switzerland and South Korea, and can be
turned off anywhere in Settings ▸ Privacy, which now also shows the
installation ID the reports carry, so you can quote it.--reset-eulaand
--reset-telemetry-consentreopen either prompt. - One project file that opens in whichever tool you reach for. A
<design>.crux-projectmanifest, or a design directory, opens from the
file picker, from the command line, and by double-clicking it in Finder or a
Linux file manager; a manifest double-clicked on macOS opens in the EDACrux
product you chose for it. - Open a design from VS Code. The EDACrux extension can hand NetCrux a
design it has never opened before. - Review a schematic together (Enterprise). NetCrux can host a
collaborative session of its own, over the same protocol WaveCrux uses, with
a schematic as the payload. Admission is asked for out loud, and a
participant who leaves clears out of the room. - Deployment for managed fleets. Alongside the installer and the AppImage
there is now an MSI for SCCM and Group Policy, and.deband.rpmpackages
for package-managed Linux. The Linux packages are namednetcrux, soapt
anddnfinstall and remove them under that name.SHA256SUMSis written
so thatsha256sum -cverifies it. - Organization policy (Enterprise). An administrator can ship a signed
policy file that sets the update channel, pins a version or points at a
mirror, distributes organization symbol libraries, and restricts which peers
cross-probing will talk to. At startup NetCrux reports which policy file it
accepted (or that it refused one, and why) and names the keys this build
honours and the ones it ignores, so a mistyped key is visible instead of
silent. The Symbol Manager shows the organization's packs and whether they
arrived. - An audit trail (Enterprise). Schematic opens (by design name), session
saves, searches, cross-probe originations and licence tier changes are
recorded. - Updates know what you are entitled to. A release that only paid seats can
install is no longer offered to an Open Core seat. - NetCrux by ear. A full pass with a screen reader, now pinned as
regression tests: the schematic canvas announces what is on it and can be
driven from the keyboard: select, push into a hierarchy, open the element
menu; the Hierarchy tree is one Tab stop driven by the arrow keys; pins are
selectable without a mouse; focus that is lost returns to a live control; and
the first-launch dialogs can be answered from the keyboard. - Report a problem from inside the app, against the public NetCrux
repository, with issue templates on the other end.
Fixed
- On Linux, designs lay out. Every Linux build through 0.8.0 opened a
netlist and then failed to lay it out, because a library the layout engine
loads was missing from the bundle. - Library black boxes are cells. A netlist carrying vendor
blackbox
modules, assynth_ice40output does, no longer shows each one as an empty
hierarchy scope you can push into. - Zooming from the toolbar, the menu or the keyboard holds the centre of the
view, instead of zooming about the design's origin. - A hierarchy filter that matches nothing points you at Search, which finds
cells as well as scopes. - On Windows a project keeps the case of its source paths.
- On Windows and Linux the menu bar works for the whole session. Items that
need an open document stayed greyed out from launch until you quit; macOS,
which uses the system menu bar, was never affected. - Dropping a tab on another tab reorders it, rather than doing nothing.
- The menu bar did nothing until you clicked something. Straight after
launch the menus dispatched into empty space, so Help ▸ Command Palette
and anything else you picked before touching the window was swallowed. - A netlist whose module contains itself no longer crashes the search and
the hierarchy tree. - A fatal elaboration error fits in the drawer that explains it, instead of
overflowing it. - Large designs pan, click and keyboard-step without freezing. Panning and
hit-testing scanned the whole scope on every interaction, the cone of
influence froze the window on a large scope, the activity heatmap's net walk
held the frame, and a net's fanout was rendered as one enormous paragraph.
All four are fixed. - Sessions and projects come back as you left them. A reopened session
lands where it was saved and keeps its scope when the design reloads; a
restored project tab keeps the settings from its project file. - Load Comparison Netlist loads the revision you picked, and the Diff View
panel no longer advertises controls that do nothing. - Open Waveform File has a waveform picker and the activity heatmap honours
the window you give it. - Toggle Theme switches between Crux Dark and Crux Light, and every theme
preset paints the window chrome it has always painted. - VHDL needs only GHDL. NetCrux lowers VHDL with
ghdl --synthand has
never usedghdl-yosys-plugin; the documentation, the engine-fetch script
and the notices said otherwise. There is nothing extra to install. - The web viewer loads a netlist, from a URL or from a file you pick.
- Colours, dialogs and empty states across the app. A border token that was
colouring text is corrected and guarded against; Solarized Dark's status bar
is legible; dialogs no longer stack on a held shortcut or close on a stray
click; the Symbol Manager shows the same empty state as every other panel;
and toggling a dock redraws the dock rather than the whole layout. - Double-clicking works, and NetCrux stops claiming files that are not its
own. Its netlists, sessions and project manifests open from Finder and from
Linux file managers; NetCrux no longer offers itself as the handler for every
source and text file. - The command line behaves.
netcrux --helpprints usage and exits, and a
flag given without a value no longer swallows the filename after it. - Sessions, suite manifests and netlists open as what they are, rather than
being guessed at. - LAN sharing on a port that is already taken fails and says why, host
addresses dial correctly, and an IPv6 host with a zone id is recognised on
Linux as well as macOS. - A symbol directory that cannot be read is skipped with the problem
logged, instead of taking the load down with it. - Cross-probe sends report every failure, in your language, and closing the
panel mid-send is safe. - Help icons open the section of the manual that answers them, and the
privacy and terms links go to the suite pages. - A keymap written by a newer build is refused with an explanation, rather
than silently overwritten. - A cross-probe arriving from another EDACrux tool bounces the Dock icon.
- A project file can no longer choose what NetCrux runs. Yosys commands
from a project file are vetted, and a cross-probing peer can no longer
influence the editor command line NetCrux builds.
Also
- **macOS 12.0 (Monterey) or newer is now...