Skip to content

Releases: Ferrite-Engineering/netcrux

NetCrux 1.1.3

Choose a tag to compare

@martin-robert-fink martin-robert-fink released this 29 Oct 22:26

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 .lib files 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=opengl to 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 -X from 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_error warnings. 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

Choose a tag to compare

@martin-robert-fink martin-robert-fink released this 28 Oct 23:26

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

Choose a tag to compare

@martin-robert-fink martin-robert-fink released this 28 Oct 18:46

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=opengl keeps 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 .deb and .rpm packages 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

Choose a tag to compare

@martin-robert-fink martin-robert-fink released this 19 Oct 17:16

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-project manifest or a .f filelist), 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 .f filelist 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 on PATH carried DLLs with the same names;
    the suite's own bin and lib folders 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

Choose a tag to compare

@martin-robert-fink martin-robert-fink released this 30 Sep 14:07

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-eula and
    --reset-telemetry-consent reopen either prompt.
  • One project file that opens in whichever tool you reach for. A
    <design>.crux-project manifest, 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 .deb and .rpm packages
    for package-managed Linux. The Linux packages are named netcrux, so apt
    and dnf install and remove them under that name. SHA256SUMS is written
    so that sha256sum -c verifies 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, as synth_ice40 output 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 --synth and has
    never used ghdl-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 --help prints 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...
Read more