Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ERROR:LIT:675 - In Spartan-6 devices when the data path on a TBUF is driven by an ODDR2, tri state path of the same TBUF must also be driven by an

Status
Not open for further replies.

promach

Advanced Member level 4
Joined
Feb 22, 2016
Messages
1,199
Helped
2
Reputation
4
Reaction score
5
Trophy points
1,318
Activity points
11,636
I got some "tri-state" related errors during mapping process.


Code:
NGDBUILD done.

Process "Translate" completed successfully

Started : "Map".
Running map...
Command Line: map -intstyle ise -p xc6slx16-ftg256-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o test_ddr3_memory_controller_map.ncd test_ddr3_memory_controller.ngd test_ddr3_memory_controller.pcf
Using target part "6slx16ftg256-3".
Mapping design into LUTs...
ERROR:LIT:675 - In Spartan-6 devices when the data path on a TBUF is driven by
   an ODDR2, tri state path of the same TBUF must also be driven by an ODDR2.
   TBUF symbol "ddr3_control/dq_io[0].IO_dq/OBUFT" (output signal=dq<0>) has its
   I input pin driven by
   'ddr3_control/physical_group_dq_w<0>/dq_io[0].ODDR2_dq_w/D1' which is a D1
   pin of an ODDR2. However, no ODDR2 was found driving the corresponding T
   input pin 'ddr3_control/dq_io[0].IO_dq/OBUFT/E', which will result in only
   half of the ODDR2's data path being enabled. This will cause the design to
   not work in hardware. Please ensure that TBUF symbol
   "ddr3_control/dq_io[0].IO_dq/OBUFT" (output signal=dq<0>) has its T input pin
   driven by an ODDR2.
ERROR:LIT:675 - In Spartan-6 devices when the data path on a TBUF is driven by
   an ODDR2, tri state path of the same TBUF must also be driven by an ODDR2.
   TBUF symbol "ddr3_control/dq_io[1].IO_dq/OBUFT" (output signal=dq<1>) has its
   I input pin driven by
   'ddr3_control/physical_group_dq_w<1>/dq_io[1].ODDR2_dq_w/D1' which is a D1
   pin of an ODDR2. However, no ODDR2 was found driving the corresponding T
   input pin 'ddr3_control/dq_io[1].IO_dq/OBUFT/E', which will result in only
   half of the ODDR2's data path being enabled. This will cause the design to
   not work in hardware. Please ensure that TBUF symbol
   "ddr3_control/dq_io[1].IO_dq/OBUFT" (output signal=dq<1>) has its T input pin
   driven by an ODDR2.


The root cause is at the T input port of IOBUF which has to be made to use ODDR primitive as well, but I am not sure how to do this exactly.


Code:
        IOBUF IO_dq (
            .IO(dq[dq_index]),
            .I(dq_w[dq_index]),
            .T(((wait_count > TIME_RL) && (main_state == STATE_READ_AP)) ||
                      (main_state == STATE_READ_DATA)),
            .O(dq_r[dq_index])
        );

Now that adding ODDR2 for dq_iobuf_enable signal got me into another different error :

ERROR : Pack:2531 - The dual data rate register "ddr3_control/ODDR2_dq_iobuf_en"
failed to join the "OLOGIC2" component as required. The output signal for
register symbol ddr3_control/ODDR2_dq_iobuf_en requires general routing to
fabric, but the register can only be routed to ILOGIC, IODELAY, and IOB.

I tried to solve this new error using (* IOB = "FORCE" *), but it is NOT helping.

Any advice ?

1625659796154.png
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top