EDA toolchain configuration and debugging knowledge base. Records configuration, compilation, linking, and version-compatibility issues encountered with VCS, Xrun, Design Compiler, and other EDA tools at the IT infrastructure level (not IC design knowledge). This skill serves as a continuously growing case library — new toolchain issues should always be added here.
Trigger signals — consult this skill immediately when you see:
lto-wrapper, PIE, ld:, gcc:, g++:, _sigintr.so, .a, undefined reference, relocation R_X86_64_32Slicense checkout failed, FLEXlm errorcommand not found, library not foundfsdb, Verdi, DVEDo not try to figure it out from scratch — search this skill first for existing solutions!
This skill records EDA toolchain issues at the IT infrastructure level, including but not limited to:
Out of scope: RTL syntax errors, simulation logic bugs, timing analysis methodology, and other IC design knowledge. Those belong to ip-design and other skills.
eda_toolchain_debug/
├── SKILL.md # This file: overview + usage guide + contribution rules
└── issues/ # Case library, organized by tool subdirectories
├── vcs/
│ ├── 001_verdi_pli_lto_mismatch.md
│ └── 002_vcs_nontty_linking.md
├── xrun/ # (Reserved) Cadence Xrun issues
├── dc/ # (Reserved) Synopsys Design Compiler
├── vivado/ # (Reserved) Xilinx Vivado
├── quartus/ # (Reserved) Intel Quartus
├── verilator/ # (Reserved) Verilator
└── common/ # Cross-tool generic issues (shell env, GCC version, OS libs, etc.)
└── 001_bash_alias_noninteractive.md
issues/<tool_name>/ in this skill for similar cases firstlto-wrapper, PIE, license)vcs linker)A new record must be added when:
issues/<tool_name>/<number>_<short_description>.md, where number is the next sequential ID in that tool's directoryEach case must contain these fields:
# <Short title>
## Basic Info
| Field | Value |
|-------|-------|
| Tool | <Tool name and version, e.g., VCS L-2016.06> |
| OS | <e.g., Ubuntu 22.04, CentOS 7> |
| Date Found | <YYYY-MM-DD> |
| Severity | Blocking / Workaround available / Warning only |
## Symptom
<Full error message, paste key parts verbatim>
## Root Cause Analysis
<Brief explanation of the root cause>
## Solution
<Specific resolution steps, including commands, option changes, etc.>
## Notes
<Additional info: known limitations, side effects, alternatives, etc.>
001, 002, ..., 099, 100| Tool | Vendor | Directory | Purpose |
|---|---|---|---|
| VCS | Synopsys | issues/vcs/ | RTL simulation |
| Verdi | Synopsys | issues/vcs/ | Waveform debugging (tightly integrated with VCS, shared directory) |
| Xrun | Cadence | issues/xrun/ | RTL simulation |
| Design Compiler (DC) | Synopsys | issues/dc/ | Logic synthesis |
| Vivado | AMD/Xilinx | issues/vivado/ | FPGA synthesis and implementation |
| Quartus | Intel/Altera | issues/quartus/ | FPGA synthesis and implementation |
| Verilator | Open source | issues/verilator/ | Open-source RTL simulation |
| Common | — | issues/common/ | GCC, OS libs, license, and other cross-tool issues |
If you encounter a tool not listed above, simply create a new subdirectory under
issues/.
This index should be kept up to date as cases accumulate.
| ID | Title | Severity |
|---|---|---|
| 001 | Verdi PLI library LTO version mismatch causes linker failure | Blocking |
| 002 | VCS linking failure due to inconsistent linker options in non-TTY environments | Blocking |
| 003 | VCS coverage (-cm) linker failure on older versions (e.g. L-2016.06) | Blocking |
| 004 | urg fails with missing libncursesw.so.5 on Ubuntu 22.04+ | Workaround available |
(No records yet)
(No records yet)
| ID | Title | Severity |
|---|---|---|
| 001 | Bash aliases do not expand in non-interactive shells | Blocking |
| 002 | Draw.io diagram export in VS Code environment | Blocking |