cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
6,691 Views
Registered: ‎04-24-2008

A problem with ISE 14.5 map.

Jump to solution

 

With Virtex6 LX760 device. I just use the MIG 3.9.2 generate a DDR3 memory controller with dqs implement as,

 

IOBUFDS_DIFF_OUT #
(
.IBUF_LOW_PWR (IBUF_LOW_PWR)
)
u_iobuf_dqs
(
.O (dqs_ibuf_p),
.OB (dqs_ibuf_n),
.IO (ddr_dqs_p),
.IOB (ddr_dqs_n),
.I (dqs_p_iodelay),
.TM (dqs_p_tq),
.TS (dqs_n_tq)
);

 

When I set -global_opt speed in map phase, it will get a wrong impelement. The IOBUFDS_DIFF_OUT will implement as a IOB on the p port and a IOBS on the n port. It will let the route fail.

 

When I set -global_opt off. It will impment as IOBM and IOBS.

 

But I need use -global_opt speed to improve timing of the other path. How could I do?

 

Thanks.

 

 

1.png
2.png
0 Kudos
1 Solution

Accepted Solutions
Scholar
Scholar
10,550 Views
Registered: ‎06-14-2012

This is a known issue. The problem is that the connectivity in the actual IOB site is changing depending on if -global_opt is used or not. 
when running -global_opt OFF (used by MIG) the IO site is of type "IOBM" and contains routes to the N pair (inside the IOB), but if -global_opt Area/Speed/Power is used the type changes to just "IOB" and does not contain any physical routes to the N pair. Hence there becomes an unroutable situation. 
This can be worked around using "S" constraint. 
NET "u_memc_ui_top/u_mem_intfc/phy_top0/u_phy_data_io/gen_dqs[0].u_phy_dqs_iob/u_iobuf_dqs/split_buf_net" S;
NET "u_memc_ui_top/u_mem_intfc/phy_top0/u_phy_data_io/gen_dqs[1].u_phy_dqs_iob/u_iobuf_dqs/split_buf_net" S; 

 

I hope thsi helps.

 

Regards

Sikta

View solution in original post

4 Replies
Scholar
Scholar
10,551 Views
Registered: ‎06-14-2012

This is a known issue. The problem is that the connectivity in the actual IOB site is changing depending on if -global_opt is used or not. 
when running -global_opt OFF (used by MIG) the IO site is of type "IOBM" and contains routes to the N pair (inside the IOB), but if -global_opt Area/Speed/Power is used the type changes to just "IOB" and does not contain any physical routes to the N pair. Hence there becomes an unroutable situation. 
This can be worked around using "S" constraint. 
NET "u_memc_ui_top/u_mem_intfc/phy_top0/u_phy_data_io/gen_dqs[0].u_phy_dqs_iob/u_iobuf_dqs/split_buf_net" S;
NET "u_memc_ui_top/u_mem_intfc/phy_top0/u_phy_data_io/gen_dqs[1].u_phy_dqs_iob/u_iobuf_dqs/split_buf_net" S; 

 

I hope thsi helps.

 

Regards

Sikta

View solution in original post

Highlighted
Observer
Observer
6,674 Views
Registered: ‎04-24-2008

Thank, I will try the work around.

 

BR

Shihua

0 Kudos
Highlighted
Scholar
Scholar
6,661 Views
Registered: ‎06-14-2012

Sure.Keep us posted.

0 Kudos
Highlighted
Observer
Observer
6,639 Views
Registered: ‎04-24-2008

Just try the constraint, it works.

 

Thanks.

 

BR

Shihua

0 Kudos