Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Not enough sites to place MULT18X18?

30 views
Skip to first unread message

Ken Morrow

unread,
Apr 30, 2004, 8:26:08 AM4/30/04
to
Kelvin,

You will probably find that some of the multiplier sites are blocked from
being used due to
some block RAMs having widths of > 18 bits. If so, try to change some of the
RAMs to
have smaller widths.

I have a design which now uses all 144 of the V2-6000 multipliers, and most
of the RAMs
without prob. I had to reduce the width of all of the RAMs to 18 bits or
less for the multipliers
to be available for use.

(I was impressed that Mentor Precision automatically used multipliers built
with LUTs, once it had
used up all the available multipiers).

Good Luck,

Ken,
Morrow Electronics Limited, UK
Currently specialising in FPGA design for 3G.
www.morro.co.uk


"Kelvin @ SG" <kelvi...@hotmail.com> wrote in message
news:4091...@news.starhub.net.sg...
> Hi, there:
>
> I am implementing a partial chip for virtex-2-6000. My module has 116
> multipliers, the module is allocated an area group with 120 multipliers.
> Later I got 9 multipliers not placed, while the PAR
> informs there are 13 available sites for placing them...However, the
> placement failed...
>
> How may I handle such a situation?
> Replace some smaller * with rtl implementation? How many slices can I
> implement an 8X8 muldipler?
> Repartitioning to put some * signs in somebody else's modules?
Possible
> but troublesome...
>
> Best Regards,
> Kelvin
>
>
>
>
>
>
> Phase 6.9
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wkq_calc_mul_inst_
> m
> ult_11 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wkq_calc_mul_inst
> _mul
> t_11".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wkq_calc_mul_inst_
> mult
> _11 will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_q0_b_mul_inst_mu
> l
> t_2 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_q0_b_mul_inst_m
> ult_
> 2".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_q0_b_mul_inst_mu
> lt_2
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0009_inst_mu
> l
> t_3 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0009_inst_m
> ult_
> 3".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0009_inst_mu
> lt_3
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataii_mul_inst_mu
> l
> t_1 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataii_mul_inst_m
> ult_
> 1".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataii_mul_inst_mu
> lt_1
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_a_mul_inst_mu
> l
> t_2 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_a_mul_inst_m
> ult_
> 2".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_a_mul_inst_mu
> lt_2
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0010_inst_mu
> l
> t_3 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0010_inst_m
> ult_
> 3".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_multipath_top/i_multipath_wk_calc/Mmult__n0010_inst_mu
> lt_3
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataqq_mul_inst_mu
> l
> t_1 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataqq_mul_inst_m
> ult_
> 1".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_dataqq_mul_inst_mu
> lt_1
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wki_calc_mul_inst_
> m
> ult_11 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wki_calc_mul_inst
> _mul
> t_11".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_wk_calc/Mmult_wki_calc_mul_inst_
> mult
> _11 will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> WARNING:Place:119 - Unable to find location. MULT component
>
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_b_mul_inst_mu
> l
> t_2 not placed.
> MULT18X18
>
"i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_b_mul_inst_m
> ult_
> 2".
> COMPGRP "RX.MULT18X18" LOCATE = SITE
"MULT18X18_X1Y23:MULT18X18_X5Y0"
> LEVEL 4 ;
> Only the one associated with MULT18X18
>
i_ofdm_rx/i_wrx_top/i_channel_top/i_channel_calc/Mmult_data_i0_b_mul_inst_mu
> lt_2
> will be looked at.
> The AREA group contains 120 possible sites for this component. 13 of
these
> sites were available to place this component into.
> ===============================================================
> List of 13 available sites in area are:
> Site MULT18X18_X1Y3
> Site MULT18X18_X1Y5
> Site MULT18X18_X1Y12
> Site MULT18X18_X1Y15
> Site MULT18X18_X1Y19
> Site MULT18X18_X2Y4
> Site MULT18X18_X2Y6
> Site MULT18X18_X2Y8
> Site MULT18X18_X2Y12
> Site MULT18X18_X2Y16
> Site MULT18X18_X2Y19
> Site MULT18X18_X2Y20
> Site MULT18X18_X2Y22
> ===============================================================
> List of comps in area without same LOC are:
> ===============================================================
> ERROR:Place:120 - There were not enough sites to place all selected
> components
> Phase 6.9 (Checksum:39386fa) REAL time: 27 mins 46 secs
>
> Total REAL time to Placer completion: 27 mins 47 secs
>
>
>


Kelvin @ SG

unread,
May 3, 2004, 10:32:36 PM5/3/04
to
i used core generator to generate the RAMs, and they have 64-depth 64-bit
RAMs,
so I have no much control over how XST implements it in the synthesis.
Actually in
Floor Planner I can see some BRAM and MULT18X18 side by side...

I have replaced 16 multipliers with LUTs implementions from Core
generator...
And it is working now but I am concerned with the slice usage...

Kelvin

"Ken Morrow" <junk@not_morro.co.uk> wrote in message
news:vzrkc.36293$h44.5...@stones.force9.net...

John_H

unread,
May 4, 2004, 11:18:13 AM5/4/04
to
Do you need the 64-bit width of your RAMs at full speed? If you need wide
but can handle a little latency, going 16 bits wide with the BlockRAMs into
64 bits of register would give you the width and depth you need in one
BlockRAM *and* allow access to the accompanying MULT.

This might help - I only scanned it recently...

XAPP229 - Wider Block Memories
http://www.xilinx.com/bvdocs/appnotes/xapp229.pdf


"Kelvin @ SG" <kelvi...@hotmail.com> wrote in message

news:4096ff41$1...@news.starhub.net.sg...

Erik Widding

unread,
May 4, 2004, 3:02:17 PM5/4/04
to
"Kelvin @ SG" <kelvi...@hotmail.com> wrote in message news:<4096ff41$1...@news.starhub.net.sg>...

> i used core generator to generate the RAMs, and they have 64-depth
> 64-bit RAMs, so I have no much control over how XST implements it in
> the synthesis.

If you want to force the core generator to use x16 BRAMs just tell it
that you want a ram that is 1K deep, as it will be forced to build it
from 1K x 16 BRAMs. We have generally found that it is easier to
instantiate primitives (i.e. BRAMs) in the VHDL with loops, than it
is to use the core generator for things like memories. When you use
core generator to make a memory, XST is really just treating it as a
black box.


> I have replaced 16 multipliers with LUTs implementions from Core
> generator... And it is working now but I am concerned with the slice
> usage...

It might make more sense to use SelectRAMs rather than BRAMs for the
rather shallow memories. This will use slices to build the memories,
but may be a better trade off than using slices for the multipliers.
You did mention 8x8 multipliers in your original posts, so this is
probably not the case.


Regards,
Erik Widding.

---
Birger Engineering, Inc. -------------------------------- 617.695.9233
100 Boylston St #1070; Boston, MA 02116 -------- http://www.birger.com

0 new messages