Introduces a dependency resolver to clone and manage project dependencies recursively.
Updates CLI to include a new "dep" command for dependency resolution.
Enhances source resolver to handle dependencies and expand all sources.
Improves console utilities with live mode for real-time feedback.
Marks dependency names in project configuration as optional.
Enables streamlined multi-repository workflows and dependency management.
Introduces argparse-based CLI for build management, adding clear, build, and synth commands. Consolidates and simplifies build process logic while improving usability through structured command handling.
Improves maintainability and user experience.
Replaces duplicate file copy logic with a unified `copy_file` function to improve code reuse and maintainability. Updates step tracking across the toolchain to reflect a consistent 12-step workflow. Adds a new entry point (`xilinx_ise_all`) to streamline execution of the entire toolchain.
Improves logging by integrating enhanced console utilities for better step visualization and progress tracking.
Replaces print statements with a ConsoleUtils helper for consistent, customizable output.
Adds a new `clear_build_directories` function to exclude specific directories from deletion.
Changes default behavior of `silent` parameter to `False` for better visibility.
Improves code readability and user feedback.
Refactors spinner and log rendering to use the Rich library for better formatting and improved user experience.
Adds support for task prefixes, step tracking, and transient live updates.
Replaces manual console manipulation with structured rendering for clarity and maintainability.
Introduces a `silent` parameter to suppress console output in
`ensure_directories_exist` and `clear_directories` functions.
Enhances flexibility by allowing optional logging control.
No issue reference provided.
Introduces a utility class for managing console tasks with a
spinner and log output. Includes features for logging messages,
running commands, and displaying real-time status updates.
Enhances user experience with clear task status visualization.
Introduces step tracking for Xilinx toolchain stages with step number and total steps added to tool execution calls. Enhances user feedback during execution.
Refactors `run_tool` to improve progress display and integrates `ConsoleTask` for better command handling. Simplifies code comments and improves readability.
Implements the `trace` tool support, including execution and report generation for timing analysis.
Adds minor enhancements like file copy feedback with icons.
Replaces repetitive tool execution logic with a reusable `run_tool` function to streamline code and reduce duplication.
Introduces a shared `copy_report_file` utility for consistent report copying and error handling.
Simplifies individual tool scripts (XST, NGDBuild, MAP, PAR, BitGen) by delegating core logic to common utilities.
Improves maintainability and consistency across the codebase.
Adds scripts and utilities for synthesis, mapping, placement, and bitstream generation using Xilinx ISE tools. Refactors configuration management into a dedicated module. Updates project model to support tool-specific options. Adjusts `.gitignore` and Python version compatibility.
Simplifies directory handling and ensures modularity by reorganizing configuration and tool logic.
Introduces a function to resolve wildcard patterns in source file paths, normalizing and returning them as tuples of library and file path. Improves flexibility in handling source files.
Implements functions to ensure directories exist and to clear them based on configuration. Provides user feedback for created, existing, or removed directories.
Helps manage project-specific directory structure efficiently.
Updates .gitignore to exclude build artifacts and project-specific files.
Introduces pyproject.toml with project metadata, dependencies, and build system configuration using Poetry.
Facilitates project reproducibility and dependency management.