16 www.xilinx.com Synthesis and Simulation Design Guide
8.1i
R
RTL Simulation Using Xilinx Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Simulating Certain Xilinx Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
CLKDLL, DCM and DCM_ADV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
CLKDLL/DCM Clocks Do Not Appear De-Skewed . . . . . . . . . . . . . . . . . . . . . . . . . . 267
TRACE/Simulation Model Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Non-LVTTL Input Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Viewer Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Attributes for Simulation and Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Simulating the DCM in Digital Frequency Synthesis Mode Only. . . . . . . . . . . . . . . . . 269
JTAG / BSCAN (Boundary Scan) Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Timing Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Glitches in Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Debugging Timing Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Identifying Timing Violations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Verilog System Timing Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
VITAL Timing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Timing Problem Root Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Design Not Constrained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Path Not or Improperly Constrained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Design Does Not Meet Timespec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Simulation Clock Does Not Meet Timespec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Unaccounted Clock Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Asynchronous Inputs, Asynchronous Clock Domains, Crossing Out-of-Phase . . . . . . 275
Debugging Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Special Considerations for Setup and Hold Violations . . . . . . . . . . . . . . . . . . . . . . . . 276
Zero Hold Time Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Negative Hold Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
RAM Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
$Width Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
$Recovery Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Simulation Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
ModelSim SE/PE/XE VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
VCS-MX VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
NC-SIM VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
NC-SIM Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Using Library Source Files With Compile Time Options . . . . . . . . . . . . . . . . . . . . . . . 280
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
VCS-MX Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Using Library Source Files With Compile Time Options . . . . . . . . . . . . . . . . . . . . . . . 281
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
ModelSim Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Using Library Source Files With Compile Time Options . . . . . . . . . . . . . . . . . . . . . . . 283
Using Shared Precompiled Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
IBIS I/O Buffer Information Specification (IBIS). . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Chapter 7: Equivalency Checking