This repository showcases the complete development journey of a PAM4 (4-level Pulse Amplitude Modulation) receiver system, demonstrating advanced MATLAB2HDL transformation capabilities using an intelligent sub-agents framework. The project achieves 95.99% functional accuracy and 141.28 MHz achieved frequency through systematic optimization.
- π 95.99% Functional Accuracy - High-performance PAM4 symbol detection
- β‘ 7.5Γ Frequency Improvement - From 18.83 MHz to 141.28 MHz operation
- π§ DSP-Optimized Implementation - Using dsp.FIRFilter system objects
- π€ >95% Transformation Success Rate - Intelligent sub-agents framework
- β±οΈ <3 Second Agent Load Time - Efficient tier-based access system
| Implementation | Accuracy | Frequency | DSP Usage | Stability | Complexity |
|---|---|---|---|---|---|
| Original MATLAB | Reference | N/A | N/A | Very High | |
| Basic HDL | ~90% | 18.83 MHz | 560 DSPs (13.11%) | β Perfect | Medium |
| DSP Optimized | 96.44% | 89.16 MHz | 1,152 DSPs | β Perfect | Medium |
| Timing Optimized | 95.99% | 141.28 MHz | 1,152 DSPs | β Perfect | Optimized |
[PAM4 Input] β [AGC] β [32-tap FFE] β [PAM4 Slicer] β [Decision Output]
β β
[LMS Adaptation] β [Error Signals]
- ποΈ Automatic Gain Control (AGC): Digital amplitude normalization
- π 32-tap Feed-Forward Equalizer (FFE): ISI compensation using circular buffers
- π PAM4 Slicer: 3-threshold decision circuit for 4-level modulation
- π§ LMS Adaptation Engine: Real-time coefficient optimization
- βοΈ DSP Optimization: dsp.FIRFilter system objects for improved timing
- π Tier-Based Access System: 4 essential files (<2s), conditional templates (1-3 files), reference materials (0-2 files)
- π€ Intelligent Sub-Agents: Specialized transformation, analysis, validation, and coordination agents
- π >95% Success Rate: Systematic approach ensuring reliable HDL compatibility
- β‘ <3s Load Time: Optimized file organization and agent coordination
hdl_transformation_agent.md: Primary transformation engine with copy-based configurationalgorithm_analysis_agent.md: Deep pattern recognition and template selectionvalidation_agent.md: Comprehensive testing with dual-purpose testbench patternsworkflow_coordinator.md: Multi-agent orchestration and optimization sequencing
- FFE Analysis: 32-tap coefficient evolution and convergence behavior
- AGC Performance: Digital gain control with power-based adaptation
- Slicer Quality: 3-threshold PAM4 decision with optimal eye openings
- LMS Stability: Adaptive algorithm convergence and long-term stability
DSP Slices: 1,152 (optimized via dsp.FIRFilter)
Block RAM: Optimized usage for circular buffers
Logic Cells: Balanced pipeline architecture
Max Frequency: 141.28 MHz (7.5Γ improvement)
- Signal Levels: 4 levels (-3, -1, +1, +3) representing 2 bits per symbol
- Bandwidth Efficiency: 2Γ improvement over NRZ signaling
- Eye Diagram: 3 eye openings for signal integrity analysis
- Applications: High-speed SerDes, 100G/400G Ethernet, data center interconnects
- Target Platform: Xilinx Kintex-7 (xc7k410t-ffg900-1)
- Clock Frequency: 141.28 MHz achieved
- Data Width: 7-bit ADC input, 32-parallel processing
- Arithmetic: Q6.6 fixed-point with overflow protection
- Pipeline: 4-stage inter-module pipeline with validIn/validOut interfaces
PAM4Receiver/
βββ index.html # Main GitHub Pages website
βββ assets/
β βββ style.css # Responsive CSS styling
β βββ script.js # Interactive JavaScript features
βββ images/ # Performance visualization assets
β βββ pam4_receiver_overview.png
β βββ pam4_eye_diagram_analysis.png
β βββ pam4_dsp_opt_hdl_*.png
β βββ ...
βββ docs/ # Technical documentation
β βββ PAM4_Receiver_Project_Documentation.md
β βββ PAM4_Receiver_Design_Evolution_Analysis.md
βββ data/ # Test vectors and configuration files
βββ _config.yml # GitHub Pages configuration
βββ README.md # This file
- MATLAB R2025a or later
- HDL Coderβ’ toolbox
- Fixed-Point Designerβ’ toolbox
- DSP System Toolboxβ’
- Xilinx Vivado (for synthesis)
-
Clone the repository:
git clone https://github.com/rockyco/PAM4Receiver.git cd PAM4Receiver -
View the live demo: Visit GitHub Pages site
-
Explore implementations: Review the four progressive implementation variants
-
Run analysis: Execute performance comparison and visualization scripts
The project includes comprehensive visualization suite:
- π Performance Analysis: Complete receiver chain analysis with BER curves
- ποΈ Eye Diagram Analysis: PAM4 signal quality with 500+ overlapped traces
- π§ Component Analysis: Individual module performance (FFE, AGC, Slicer, LMS)
- π± Interactive Comparisons: Web-based comparison between implementation variants
- π¨ Framework Visualization: Sub-agents workflow and transformation process
- π Original MATLAB Algorithm: High-level implementation with advanced features
- π Framework Analysis: Algorithm classification and template selection
- βοΈ HDL Transformation: Systematic conversion using sub-agents framework
- π DSP Optimization: Timing optimization using system objects
- β±οΈ Timing Optimization: Pipeline architecture for maximum frequency
- β Validation & Testing: Comprehensive verification with 5000+ test vectors
- Functional Verification: Bit-accurate comparison between implementations
- Resource Analysis: Synthesis reports and utilization optimization
- Timing Analysis: Static timing analysis and frequency optimization
- Long-term Stability: Extended testing (19K+ blocks) for stability analysis
- Project Documentation: Complete technical overview
- Design Evolution: Development progression and performance analysis
- HDL Transformation Guide: Systematic transformation methodology
- Sub-Agents Framework: Intelligent agent coordination and optimization
- Template System: Algorithm-specific optimization patterns
We welcome contributions to improve the PAM4 receiver implementation and framework:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Algorithm Optimization: New optimization techniques and strategies
- Framework Enhancement: Sub-agents improvements and new templates
- Visualization: Enhanced analysis tools and interactive features
- Documentation: Technical guides and implementation examples
- Testing: Extended test cases and verification methodologies
This project is licensed under the MIT License - see the LICENSE file for details.
- MATLAB & HDL Coder: Enabling rapid prototyping and HDL generation
- Xilinx Vivado: FPGA synthesis and implementation tools
- PAM4 Standards: IEEE and industry specifications for high-speed signaling
- Open Source Community: Inspiration from various signal processing projects
- π§ Email: [Add your email]
- π Issues: GitHub Issues
- π‘ Discussions: GitHub Discussions
- π Documentation: GitHub Pages