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