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.
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:
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),
(* 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
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 | 02/27/2013 |
Status | Needs Tech Review |
Type | Known Issues |
Devices | |
IP |