[HN Gopher] Show HN: Manta - A tool for FPGA Debugging and Rapid...
___________________________________________________________________
Show HN: Manta - A tool for FPGA Debugging and Rapid Prototyping
Hi HN! I'm Fischer, and I'm super stoked to share a project that
I've been working on for a little over a year: Manta, an open-
source, cross-platform, vendor-independent tool for debugging and
rapid prototyping with FPGAs. This was originally my Master's
Thesis at MIT, where I developed it for our course on FPGA design.
We needed an alternative to vendor debugging tools, which only
supported x86 machines running Windows or Linux. We were able to
patch in macOS support with VMs, but as more students came bringing
ARM-based devices, we needed a new tool. So I developed this. It's
called Manta, and I've just released v1.0.0. It's written in Python
using Amaranth HDL, which allows it to run on nearly any machine,
and export vendor-agnostic Verilog-2001. It lets you read and write
to arbitrary registers and memory on the FPGA, and provides an
integrated logic analyzer. It's modular, so you can use any number
of these functionalities in any combination, as long as you've got
a UART or Ethernet connection to the FPGA. Next up on the docket
is adding support for more advanced interfaces like Wishbone, AXI,
AHB, and Avalon. And maybe even adding a Web UI for debugging with
a logic analyzer in the browser. Or peeking and poking at
individual registers. Or issuing arbitrary AHB3 transactions. I'd
be super curious to hear your thoughts on the tool! And if you want
to kick the tires, be my guest :)
Author : fischerm
Score : 67 points
Date : 2024-03-08 00:49 UTC (22 hours ago)
(HTM) web link (fischermoseley.github.io)
(TXT) w3m dump (fischermoseley.github.io)
| kvemkon wrote:
| Thanks for sharing!
|
| How does Manta compare to the free and open source
| https://github.com/enjoy-digital/litescope?
| fischerm wrote:
| Good question! The design of LiteScope heavily inspired Manta,
| and Manta's Ethernet functionality comes from the LiteX
| Ethernet core.
|
| That said, I spun Manta out into a separate project for a few
| reasons: - LiteX is written in nMigen, which has now spun off
| into Amaranth, and I wanted to use a language that's undergoing
| more active development. - I wanted to provide better support
| for non-SoC workflows. LiteScope is awesome when you're already
| using LiteX for your design, but it's a pretty steep barrier to
| entry if you're just trying to debug a class project real
| quick. - I wanted to provide a _lot_ of documentation! The
| original audience for the docs was undergraduate students that
| are new to the field and don't have a lot of time, so I wanted
| getting started to be as easy as possible.
|
| I know the Amaranth project is working on it's own SoC tool,
| and I'll be curious to see how Manta evolves as the effort
| behind that ramps up.
___________________________________________________________________
(page generated 2024-03-08 23:02 UTC)