Useful Links
Computer Science
Software Engineering
FPGA Development
1. Introduction to FPGAs and Digital Logic
2. FPGA Architecture Fundamentals
3. Hardware Description Languages
4. The FPGA Design Flow
5. Simulation and Verification
6. Timing Constraints and Analysis
7. Advanced HDL Design Techniques
8. System-on-Chip FPGA Design
9. On-Chip Debugging and Practical Implementation
10. High-Level Synthesis
Timing Constraints and Analysis
Core Timing Concepts
The Clock Signal
Clock Sources
Crystal Oscillators
Phase-Locked Loops
External Clock Sources
Clock Distribution
Clock Trees
Clock Skew
Clock Jitter
Propagation Delay
Gate Delay
Interconnect Delay
Temperature and Voltage Effects
Setup Time
Definition and Importance
Setup Time Violations
Hold Time
Definition and Importance
Hold Time Violations
Clock-to-Output Delay
Timing Margins
Design Margins
Process Variations
Timing Paths
Data Paths
Register-to-Register Paths
Input-to-Register Paths
Register-to-Output Paths
Input-to-Output Paths
Clock Paths
Clock Source to Register
Clock Distribution Networks
Asynchronous Paths
Reset Paths
Asynchronous Inputs
Static Timing Analysis
STA Fundamentals
Timing Graph Construction
Path Delay Calculation
Slack Calculation
Setup Slack
Hold Slack
Critical Path Analysis
Identifying Critical Paths
Path Tracing
Timing Violations
Setup Violations
Hold Violations
Recovery Violations
Removal Violations
Multi-Corner Analysis
Process Corners
Temperature Variations
Voltage Variations
Design Constraints
Timing Constraints Files
SDC Format
XDC Format
TCL-Based Constraints
Clock Constraints
Primary Clock Definition
Generated Clock Definition
Virtual Clocks
Clock Groups
Clock Uncertainty
I/O Constraints
Input Delay Constraints
Output Delay Constraints
I/O Standards
Path Constraints
False Path Constraints
Multicycle Path Constraints
Maximum Delay Constraints
Minimum Delay Constraints
Physical Constraints
Location Constraints
Area Constraints
Floorplanning Constraints
Clock Domain Crossing
Metastability
Causes of Metastability
MTBF Calculations
Synchronization Techniques
Two-Flip-Flop Synchronizers
Multi-Flip-Flop Synchronizers
Asynchronous FIFO Design
Gray Code Counters
Empty and Full Flag Generation
Handshake Protocols
Request-Acknowledge Protocols
Pulse Synchronizers
CDC Verification
CDC Checking Tools
Simulation Techniques
Achieving Timing Closure
Analyzing Timing Reports
Understanding Slack Reports
Path Detail Analysis
Constraint Coverage
Design Techniques for Performance
Pipelining
Pipeline Stages
Pipeline Balancing
Pipeline Hazards
Retiming
Register Movement
Automatic Retiming
Logic Replication
Fanout Reduction
Load Balancing
Resource Optimization
DSP Inference
BRAM Utilization
Implementation Optimization
Placement Optimization
Routing Optimization
Physical Synthesis
Iterative Design Flow
Synthesis Settings Optimization
Implementation Strategy Selection
Incremental Compilation
Previous
5. Simulation and Verification
Go to top
Next
7. Advanced HDL Design Techniques