thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: lattice
FPGAwars/apio ★ 1008 169 APPLICATION

Apio is a command-line interface (CLI) tool designed to streamline FPGA hardware development workflows. It acts as a wrapper and manager for open-source EDA toolchains (Yosys, Nextpnr, Verilator, GTKWave) and hardware drivers, supporting multiple FPGA architectures (ICE40, ECP5, GOWIN, XILINX) and over 80 development boards. The tool automates the full lifecycle of FPGA projects, including initialization, linting, synthesis, place-and-route, simulation, and bitstream upload to hardware. Architecturally, Apio follows a modular design with a Click-based CLI layer that delegates heavy build tasks to a SCons subprocess. Communication between the CLI and SCons is handled via Protocol Buffers to avoid global state sharing. The codebase includes robust package management for downloading and installing toolchains, cross-platform support for Linux, macOS, and Windows, and a comprehensive test suite using pytest. It is a professional-grade tool with strong engineering practices, including CI/CD pipelines and semantic versioning. Technical drift is moderate due to the volatile nature of SCons APIs and the reliance on external toolchain versions. There is also a noted inconsistency in Python version usage (mixing 3.9 compatibility checks with 3.10+ match statements). However, the repository is actively maintained with recent commits and a healthy issue resolution rate. The codebase is suitable for reuse in FPGA tooling projects, particularly the package management and IPC patterns.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
analogdevicesinc/hdl ★ 2009 1682 APPLICATION

This is a comprehensive FPGA HDL reference design repository from Analog Devices, providing reusable IP cores and complete project templates for interfacing ADI data converters (ADCs/DACs), RF transceivers, and mixed-signal devices with Xilinx, Intel, and Lattice FPGAs. The architecture is modular: a library of parameterized AXI peripherals (e.g., axi_dmac, axi_clkgen, axi_pwm_gen), JESD204B/C link layer cores, SPI engine framework, I3C controller, and utility modules (clock-domain crossing, data packing, FIFOs) are assembled via Tcl-based block designs and Make-driven build scripts into carrier-specific reference designs. The repository is actively maintained with CI checks, extensive documentation (Sphinx, register maps, timing constraints), and testbenches for key blocks. It is not a software application or data research repository; it is a hardware design framework for FPGA-based acquisition and generation systems.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
FPGAwars/icestudio ★ 1933 282 APPLICATION

Icestudio is an open-source graphical FPGA design and programming environment. It allows users to create digital circuits by dragging, dropping, and wiring blocks representing logic elements, I/O, constants, memory, and code. The tool then compiles the design into Verilog, runs the open-source FPGA toolchain (yosys, nextpnr, apio) to generate a bitstream, and uploads it to a wide variety of Lattice iCE40 and ECP5 boards. The application is built as a desktop app using NW.js (Node.js + Chromium) with an AngularJS 1.x frontend, JointJS for diagramming, and a custom plugin system for extensibility. It supports over 60 FPGA boards, includes a package manager (iceHub) for block collections, a serial terminal plugin, a board editor, and an integrated toolchain shell. The codebase is mature but relies on several deprecated technologies (AngularJS, NW.js, Grunt) and lacks automated tests, making modernization risky. Key reusable elements include the event bus, plugin manager, orthogonal wire router, and file system indexer.

RATING: 7.2/10 MAINT: active DRIFT: high
▸ 5 reusable components found
── end of results ──
$ submit: