Changelog ========= All notable changes to the VHDL Digital Design Samples project. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. [Unreleased] ------------ Added ~~~~~ - Comprehensive Sphinx documentation system - GitHub Pages deployment via GitHub Actions - Documentation workflow with automatic building - Professional documentation theme with Read the Docs theme - Mermaid diagram support for architecture visualization [1.0.0] - 2025-01-06 --------------------- Added ~~~~~ **Project Structure:** - Complete reorganization of VHDL files into logical categories - Hierarchical directory structure: gates, combinational, sequential, modules - Professional project layout with separated source and test directories **Testing Framework:** - Comprehensive test runner script with colored output - Automated test discovery and execution - GHDL integration with proper error handling - Individual component testing capabilities - Complete test suite with 100% pass rate (8/8 tests) **Components:** - Basic logic gates: OR gate, XOR gates (behavioral, dataflow, structural) - Combinational logic: Adders, decoders, multiplexers, comparators, shifters - Sequential logic: Flip-flops, latches, registers, counters, state machines - 32 total VHDL source files with standardized headers **Build System:** - Comprehensive Makefile with intuitive targets - GHDL integration with proper flags and standards - Build automation and dependency management - Project statistics and reporting - Clean and install targets **CI/CD Pipeline:** - GitHub Actions workflow for automated testing - Ubuntu environment with GHDL installation - Automated test execution on push and pull requests - Test result artifacts and reporting **Documentation:** - Complete README with project overview and usage instructions - Installation guide for multiple platforms - Component documentation and examples - Professional project presentation **Quality Assurance:** - Standardized VHDL file headers with project metadata - Consistent coding style and conventions - Comprehensive test coverage for critical components - Error handling and validation Changed ~~~~~~~ - Migrated from flat file structure to hierarchical organization - Updated README with comprehensive project information - Improved test reliability with proper timing and assertions - Enhanced Makefile with more intuitive target names Fixed ~~~~~ - VHDL syntax errors in testbenches (timing units, deprecated packages) - Test script path resolution issues - Component instantiation mismatches - Infinite loop issues in ripple carry adder testbench Security ~~~~~~~~ - No security-related changes in this release [0.1.0] - Initial Release ------------------------- Added ~~~~~ - Basic VHDL file collection in single directory - Simple testbench structure - Basic README documentation - MIT License Technical Details ----------------- **Supported Platforms:** - macOS (with Homebrew) - Ubuntu/Debian Linux - Windows (via WSL) **Dependencies:** - GHDL 5.0.1 or later - GNU Make 3.81 or later - Git 2.0 or later **Metrics:** - Total lines of code: 1,754 - Test coverage: 25% (8/32 components) - Build success rate: 100% - Test pass rate: 100% Migration Guide --------------- **From 0.1.0 to 1.0.0:** If you have an existing clone of the repository: .. code-block:: bash # Pull the latest changes git pull origin master # Run tests to verify everything works make test # Update any custom scripts that reference old paths # Old: src/component.vhd # New: src/category/component.vhd Known Issues ------------ - Some components lack comprehensive testbenches (addressed in roadmap) - Documentation build requires Python dependencies (optional) - GTKWave integration not yet automated Future Releases --------------- **Planned for 1.1.0:** - Additional testbenches for untested components - Performance benchmarking framework - Waveform generation and analysis tools - Advanced state machine examples **Planned for 1.2.0:** - FPGA synthesis examples - Timing constraint files - Place and route examples - Hardware-in-the-loop testing **Planned for 2.0.0:** - SystemVerilog interoperability - UVM testbench framework - Formal verification examples - Advanced verification methodologies