Wednesday, November 3, 2010

Calculate IO flight time using IBIS model

Some high speed interfaces (DDR3 memory interface for example) require skew of signals in the interface well matched. One of the factors affecting the skew is the flight time from the IO pad on the die to the package pin. AR15321 provides a simple method of multiplying the package trace length by 6.0ps/mm(best case) or 7.1ps/mm(worst case) to calculate the flight time. This is the formula that ADEPT has been using for a long time. A new AR (AR34174) was published recently with instructions on how to use the inductance and capacitance matrix in IBIS model to get more precise flight time. ADEPT v0.42.1 incorporated the new method to calculate the flight time for all Virtex6 devices/packages. Below are instructions on how to use the new method:
  • Unzip the IBIS Models zip file and you will see lots of .pkg files for different package/device combinations
  • Run ADEPT and load a Virtex6 device/package
  • Run "File->Read IBIS Model" to load the IBIS model .pkg file for the loaded device
  • Once the IBIS model is read in, the "Trace Len" column is now displayed as "Flight Time LC" column to indicate that the flight time (ps) is calculated with the inductance(L) and capacitance(C) data extracted from the IBIS model

Wednesday, May 19, 2010

Enable Macro in Excel 2007 for "Export to Excel" functions

Excel 2007 doesn't automatically pop up a window asking user to enable macros. Instead, it silently displays a security warning message right below the tool bar (see the snapshotshot). If you don't notice it, ADEPT may appear to be doing nothing when you run any "Export to Excel" function. You will need to click the "Options..." button in the warning message and a window will pop up for you to enable the macro. Select "Enable this content" and then click OK. The exported spreadsheet will then be generated.

Tuesday, May 4, 2010

Run ADEPT with IDS without setting PATH

IDS installer doesn't set up environment variables such as XILINX and add paths to IDS tools to the PATH environment variable. Instead all IDS tools now execute settings32.bat in the installation directory first to set up the environment before invoking the actual executable. This makes it a lot easier to keep multiple IDS versions on the same machine.

However, ADEPT uses the PATH environment variable to find IDS command line tools. This means that you would have to modify PATH manually to run ADEPT with IDS. To make things easier, ADEPT 0.47.0 now includes a shortcut "adept_ise14.bat" that uses IDS settings32.bat to set up the environment before starting ADEPT. You can just double-click on this shortcut to run ADEPT with IDS. The target of the shortcut (see the snapshot below) is currently set to the default installation path used by IDS installer. If you installed IDS in a different location, please change the path to settings32.bat to match your IDS installation directory. After you made the change, make sure you rename the file so it won't get overwritten if you install a new ADEPT release in the same directory next time.

Tuesday, April 6, 2010

Component View displays BRAM modes for Virtex6

According to AR34859 (, Virtex6 BRAM can become corrupted with different clocks clocking CLKA and CLKB of the block RAM and address overlap in the modes below
  • True Dual Port (TDP) mode with WRITE_MODE = READ_FIRST for the RAMB36E1 or RAMB18E1 components
  • Simple Dual Port (SDP) mode for the RAMB36E1 or RAMB18E1 components, including the Error Correction Code (ECC) implementation
 To help identify potential problems with BRAM corruption, the "View->Component View" in ADEPT 0.39.7 now displays the modes for all BRAMs used in the design (see the snapshot below). When you read a NCD, make sure "Get instance names/MGT attributes" checkbox is checked. BRAMs in READ_FIRST mode are highlighted in red. Please note that ADEPT currently does NOT check if CLKA and CLKB are different clocks.

Tuesday, February 2, 2010

Spartan6 Clock Region View

The Spartan6 Clock Region View displays which BUFH/BUFG/DCM/PLL is in which clock region. The CR column shows the clock region XY coordinates. e.g. X0Y6 is CLOCK_REGION_X0Y6. An example Excel spreadsheet can be downloaded here.