cdc-analysis

Specialized skill for clock domain crossing analysis and synchronizer design in FPGA designs

509 stars

Best use case

cdc-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Specialized skill for clock domain crossing analysis and synchronizer design in FPGA designs

Teams using cdc-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cdc-analysis/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/fpga-programming/skills/cdc-analysis/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cdc-analysis/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cdc-analysis Compares

Feature / Agentcdc-analysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Specialized skill for clock domain crossing analysis and synchronizer design in FPGA designs

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# CDC Analysis Skill

## Overview

Expert skill for Clock Domain Crossing (CDC) analysis and synchronizer design, ensuring metastability-safe multi-clock FPGA designs.

## Capabilities

- Identify all clock domain crossings in RTL
- Design 2FF and 3FF synchronizers with ASYNC_REG
- Implement Gray code counters for async FIFOs
- Design handshake protocols (req-ack, valid-ready)
- Calculate MTBF for synchronizers
- Generate CDC constraints (set_false_path, set_max_delay)
- Detect CDC violations (reconvergence, data stability)
- Support Xilinx CDC-aware design flows

## Target Processes

- cdc-design.js
- reset-strategy.js
- clock-network-design.js
- timing-constraints.js

## Usage Guidelines

### Synchronizer Types
- **2FF Synchronizer**: Standard single-bit synchronization (MTBF > 100 years typical)
- **3FF Synchronizer**: High-reliability applications
- **Pulse Synchronizer**: Edge detection across domains
- **Handshake Synchronizer**: Multi-bit data with control signals

### FIFO Design
- Use Gray code for pointer crossing
- Ensure proper empty/full flag generation
- Consider almost-empty/almost-full for flow control
- Apply correct FIFO depth calculation

### Constraint Guidelines
- `set_false_path` for 2FF synchronizer paths
- `set_max_delay` for data bus with valid synchronization
- `set_clock_groups` for asynchronous clocks
- Apply ASYNC_REG attribute to synchronizer flip-flops

### CDC Violations to Detect
- Combinational logic between synchronizer stages
- Fan-out from unsynchronized signals
- Reconvergence of synchronized signals
- Data stability violations

## Dependencies

- CDC analysis tool integration
- Vendor-specific CDC rule knowledge
- Metastability theory understanding

Related Skills

heatmap-analysis

509
from a5c-ai/babysitter

Analyze user interaction heatmaps for attention patterns and click behavior

static-analysis-runner

509
from a5c-ai/babysitter

Run static analysis tools including SonarQube, ESLint, and multi-language linters

Static Analysis Tools Skill

509
from a5c-ai/babysitter

Integration with security-focused static analysis tools

Smart Contract Analysis Skill

509
from a5c-ai/babysitter

Ethereum and blockchain smart contract security analysis

Network Protocol Analysis Skill

509
from a5c-ai/babysitter

Network protocol capture, analysis, and fuzzing capabilities

Code Coverage Analysis

509
from a5c-ai/babysitter

Multi-language code coverage analysis, reporting, and quality gate enforcement

memlab-analysis

509
from a5c-ai/babysitter

Expert skill for JavaScript memory leak detection using Facebook MemLab. Configure MemLab scenarios, execute memory leak detection runs, analyze heap snapshots, identify detached DOM elements, find event listener leaks, and integrate with CI pipelines.

gpu-memory-analysis

509
from a5c-ai/babysitter

Specialized skill for GPU memory hierarchy analysis and optimization. Analyze memory access patterns, detect bank conflicts, optimize cache utilization, profile global memory bandwidth, and generate optimized memory access code patterns.

power-analysis

509
from a5c-ai/babysitter

FPGA power estimation and optimization skill for low-power design

misra-c-analysis

509
from a5c-ai/babysitter

MISRA C compliance checking and static analysis integration

memory-analysis

509
from a5c-ai/babysitter

Embedded memory analysis, optimization, and leak detection

qualitative-analysis

509
from a5c-ai/babysitter

Conduct systematic qualitative data analysis using grounded theory, thematic analysis, and content analysis with NVivo or Atlas.ti