Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I downloaded Xilinx free Web ISE 5.2i, and toying with different design to get
the feeling of this Spartan-3 thingy.  The only Spartan-3 device supposed to be
supported by the free verison is 3S50.  I am saying "supposed", because I cannot
make it instantiate neither multipliers nor block RAMs.  According to the data
sheet, there are enough of them in the device, but mapper thinks there are none.
Why is that?
 - My error (so I hope!)
 - Bug in ISE
 - Limitation of the free version
 - Typo in the datasheet, and there are no multipliers really.

Code follows.  In this test (one of so many!) I let ISE infer a multiplier:

<<<
module mult (input clk, input [7:0] x, input [7:0] y, output reg [15:0] q);

always @(posedge clk)
  q <= { 8'h0, x } * { 8'h0, y };

endmodule
Quoted text here. Click to load it

Synthesizer infers one:

<<<
Synthesizing Unit <mult>.
    Related source file is mult.v.
WARNING:Xst:643 - Multiplier result width is 16 bits.
    Found 16x16-bit registered multiplier for signal <$n0000> created at line 4.
    Summary:
    inferred   1 Multiplier(s).
Unit <mult> synthesized.


=========================================================================
HDL Synthesis Report

Macro Statistics
# Multipliers                      : 1
  16x16-bit registered multiplier  : 1
Quoted text here. Click to load it

but then, in the final report, says *something* is overmapped.  Note it does not
mark overused resource with an asterisk like '(*)':

<<<
=========================================================================
*                            Final Report                               *
----snip----
# MULTs                            : 1
#      MULT18X18S                  : 1
=========================================================================

Device utilization summary:
---------------------------

Selected Device : 3s50pq208-4

 Number of bonded IOBs:                 32  out of    124    25%  
 Number of GCLKs:                        1  out of      8    12%  

WARNING:Xst:1336 -  (*) More than 100% of Device resources are used
Quoted text here. Click to load it

There supposed to be 4 of MULT18X18S in this part, but then maper fails with a
more detailed, but not more explainable diagnostics:

<<<
Design Summary
---snip---
   Number of bonded IOBs:              33 out of     124   26%
   Number of MULT18X18s:                1 out of       0    0% (OVERMAPPED)
   Number of GCLKs:                     1 out of       8   12%
Quoted text here. Click to load it

 -kkm


Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
: I downloaded Xilinx free Web ISE 5.2i, and toying with different design to
: get the feeling of this Spartan-3 thingy.  The only Spartan-3 device
: supposed to be supported by the free verison is 3S50.  I am saying
: "supposed", because I cannot make it instantiate neither multipliers nor
: block RAMs.  According to the data sheet, there are enough of them in the
: device, but mapper thinks there are none.  Why is that?  - My error (so
: I hope!)  : - Bug in ISE : - Limitation of the free version - Typo in the
: datasheet, and there are no multipliers really.

The first batch of XC3S50 (labeled XC3S50J) has no block ram and no
multipliers. Later batches will have those things as stated in the datasheet.

Bye
--
Uwe Bonnes                 snipped-for-privacy@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
We've slightly trimmed the long signature. Click to see the full one.
Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
WebPack ISE 5.2i only supports the device called the XC3S50J (note the 'J'),
which has no block RAM or multipliers.

WebPack ISE 6.1i, due out at the end of September, supports the XC3S50 (no
'J'),  which has four 18Kbit block RAMs, four 18x18 hardware multipliers,
and two Digital Clock Managers (DCMs).  WebPack 6.1i also supports the next
few larger Spartan-3 devices, namely the XC3S200 and the XC3S400.

My apologies on the short-term confusion.
---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
Spartan-3/II/IIE FPGAs
http://www.xilinx.com/spartan3
---------------------------------
Spartan-3:  Make it Your ASIC

Quoted text here. Click to load it
get
to be
cannot
data
none.
multiplier:
Quoted text here. Click to load it
q);
Quoted text here. Click to load it
line 4.
does not
with a
(OVERMAPPED)
Quoted text here. Click to load it



Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
Quoted text here. Click to load it

Will 6.1i and future versions continue to support the XC3S50J?  Or do we
need to keep the 5.2i release around for those?

What does the "i" at the end of the software version mean, anyhow?

Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
Correct, for the XC3S50J devices, you'll want to keep ISE5.2i around.

What does the "i" stand for?  For me, it stands for "I don't know". :-).  I
believe that it stands for ISE (Integrated Software Environment) to
distinguish it from earlier "Foundation" software.  Still, just a guess.
---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
Spartan-3/II/IIE FPGAs
http://www.xilinx.com/spartan3
---------------------------------
Spartan-3:  Make it Your ASIC

Quoted text here. Click to load it
'J'),
Quoted text here. Click to load it
(no
Quoted text here. Click to load it
multipliers,



Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
Quoted text here. Click to load it

IIRC, the 'i' was added on the first version that was Internet aware.  I
can't say what features were made possible by having web connectivity,
but they have never dropped the designation.  

--

Rick "rickman" Collins

snipped-for-privacy@XYarius.com
We've slightly trimmed the long signature. Click to see the full one.
Re: Spartan-3 3S50 in Web ISE 5.2i = no block RAM, no multiplier?
I think after XACT 6 was rechristened to "M" ("merged" due to Neocad
purchase) it became M1, M1.5 etc. and AFAIR it was somewhere there the "i"
was added. (and later M was replaced by ISE when XST was added) "i" meant
"internet aware" as Rickman pointed out, and the reasons I think was context
sensitive help documents being linked to the web documents...or something
similar...



Quoted text here. Click to load it
I



Site Timeline