UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 52124

MIG 7 Series DDR3/DDR2 - Synplify fails due to DQS parameters

Description

The MIG 7 Series DDR3/DDR2 designs will fail in Synplify with errors similar to the following:

@E: CG596 :"/user_design/rtl/phy/mig_7series_v1_7_ddr_mc_phy_wrapper.v":1185:14:1185:21|Parameter DQS_BIAS cannot be found in module IOBUFDS_DCIEN.

or

@E: CG596 :"/user_design/rtl/ddr3_sdram/phy/mig_7series_v1_8_ddr_byte_lane.v":435:3:435:18|Parameter DQS_FIND_PATTERN cannot be found in module PHASER_IN_PHY.

Solution

These errors occur because between ISE design tools 14.2 and 14.3, the DQS_BIAS I/O feature changed from an attribute on an I/O primitive to a parameter on an I/O primitive. This change is nowreflected in the Synplify FPGA 2012.09 overlay patch and will be included into the official release of Synplify FPGA G-2012.09-SP1.

The overlay update can be downloaded at the bottom of this answer record.

Note: When this overlay is applied, critical warnings may be seen in Vivado implementation similar to the following:
[Netlist 29-73] Incorrect value 'UNDECLARED' specified for property 'OSERDES_DATA_WIDTH'. The system will either use the default value or the property value will be dropped. Verify your source files. ["/proj/ipmig/mig_7series_v1_8//
test10_ddr3_ver_synp/example_design/par_vivado/project_1/pro
ject_1.srcs/sources_1/imports/rev_1/example_top.edf":44124]

These critical warnings can safely be ignored.


If the overlay file cannot be used, then the following workaround can be used to bypass the error message.

Synplify Flow Work-around:

1. Open the user_design/rtl/phy/mig_7series_v1_7_ddr_mc_phy_wrapper.v module.
2. Make the following edits:

Original code:

IOBUFDS_DCIEN #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR),
.DQS_BIAS ("TRUE")
)

Modified code:

(* DQS_BIAS = "TRUE" *) IOBUFDS_DCIEN #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR)
)

Original code:

IOBUFDS_INTERMDISABLE #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR),
.DQS_BIAS ("TRUE")
)

Modified code:

(* DQS_BIAS = "TRUE" *) IOBUFDS_INTERMDISABLE #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR)
)

Original code:

IOBUFDS #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR),
.DQS_BIAS ("TRUE")
)

Modified code:

(* DQS_BIAS = "TRUE" *) IOBUFDS #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR)
)

Note:These updates cannot be made for simulation because the Xilinx models require the DQS_BIAS I/O parameter. The file originally generated by MIG 7 Series v1.7 must be used for simulation.

In the ISE 14.4 release, the same situation occurs with the DQS_AUTO_RECALL and DQS_FIND_PATTERN attributes in the ddr_byte_lane module. Between 14.3 and 14.4 these changed from attributes to parameters. A similar workaround can be made to the mig_7series_v1_8_ddr_byte_lane.v module:

Original code:
PHASER_IN_PHY #(
.BURST_MODE ( PI_BURST_MODE),
.CLKOUT_DIV ( PI_CLKOUT_DIV),
.DQS_AUTO_RECAL ( DQS_AUTO_RECAL),
.DQS_FIND_PATTERN ( DQS_FIND_PATTERN),
Modified code:

(* DQS_AUTO_RECAL = DQS_AUTO_RECAL, DQS_FIND_PATTERN = DQS_FIND_PATTERN *) PHASER_IN_PHY #(
.BURST_MODE ( PI_BURST_MODE),
.CLKOUT_DIV ( PI_CLKOUT_DIV),
// .DQS_AUTO_RECAL ( DQS_AUTO_RECAL),
// .DQS_FIND_PATTERN ( DQS_FIND_PATTERN),

Revision History
01/18/2013 - Added workaround for DQS_AUTO_RECALL and DQS_FIND_PATTERN issue in v1.8
11/02/2012 - updated with overlay patch
10/16/2012 - Initial release

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
45195 MIG 7 Series - Release Notes and Known Issues for All ISE versions and Vivado 2012.4 and older tool versions N/A N/A
AR# 52124
Date Created 10/01/2012
Last Updated 02/27/2013
Status Needs Tech Review
Type Known Issues
Devices
  • Artix-7
  • Kintex-7
  • Virtex-7
IP
  • MIG 7 Series