Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


Amount of memory that is required by XACT/XDE 5.2.1


Record #1138

Product Family:  Software

Product Line:  FPGA Core

Problem Title:
Amount of memory that is required by XACT/XDE 5.2.1


Problem Description:
This solution gives the amount of memory that is required by XACT when
run on a PC or X workstations.


Solution 1:

The memory requirements for XDELAY and MAKEBITS will be the same or slightly
less than those given for VGA4, using the -p option.  This is the fourth
chart below.

IMPORTANT NOTE ABOUT XDE:
When the XACT -p command line is NOT in effect, the memory requirements
given below assume that the initial request for a panning buffer is met.
If the initial request for a panning buffer cannot be met (and for large
parts this can be a huge amount of memory) XDE will cut the size of the
request in half in each direction (this 1/4 the memory) and make the request
again, and so on until either a panning buffer is obtained or the request
becomes smaller than the screen size, in which case XDE will fail.

On a PC this is the amount of memory that must be available to the program
when it starts up, and is not the amount of physical memory that must be
installed.  Physical memory can be used by XDM, device drivers, RAM disks,
Windows, and many other utilities and programs before XACT is loaded.

On an X workstation, this is the amount of memory that must be available
before the program will start paging.  It is also the amount of swap space
that must be available to the program.

PC note: Note that the amount of memory required for the smallest LCAs has
gone up (relative to pre 5.0.0 release).  This is due to the increased
executable size and the increased size of the runtime stack, which is now
768K bytes.

There are 3 sections to this memo, PC Memory Requirements, X Workstation
Memory Requirements, and Conclusions.

PC MEMORY REQUIREMENTS

Memory required for VGA4, no -p option (default panning buffer):
(See IMPORTANT NOTE above.)

    Part   2064PC44	 3396552     3316k
    Part   2018PC44	 3746312     3658k
    Part   3020PC68	 4464744     4360k
    Part   3030PC44	 5251920     5128k
    Part   3042PC84	 6172424     6027k
    Part   3064PC84	 7836896     7653k
    Part   3090PC84	 9801016     9571k
    Part   3195PC84	13000888    12696k
    Part   4003PC84	 7136384     6969k
    Part   4005PC84	 9505880     9283k
    Part  4006PQ208	10914440    10658k
    Part  4008PQ208	12485344    12192k
    Part  4010PG191	14227504    13894k
    Part  4013MQ208	18211224    17784k
    Part       4020	22768800    22235k
    Part  4025pg223	28020696    27363k
    Part  4002APC84	 5216592     5094k
    Part  4003APC84	 5928408     5789k
    Part  4004APC84	 6760616     6602k
    Part  4005APC84	 7711200     7530k
    Part 4003HPG191	 7413776     7240k
    Part 4005HPG223	 9842784     9612k
    Part   5202PC84	10387480    10144k
    Part   5204PC84	15560872    15196k
    Part   5206PC84	22341168    21817k
    Part  5210PQ100	33550392    32764k
    Part  5215HQ208	47287424    46179k

Memory required for VGA8, no -p option (default panning buffer):
(See IMPORTANT NOTE above.)

    Part   2064PC44	 3765736     3677k
    Part   2018PC44	 4216728     4117k
    Part   3020PC68	 5199640     5077k
    Part   3030PC44	 6239792     6093k
    Part   3042PC84	 7484432     7309k
    Part   3064PC84	 9692840     9465k
    Part   3090PC84	12329216    12040k
    Part   3195PC84	16606144    16216k
    Part   4003PC84	 7974000     7787k
    Part   4005PC84	10801408    10548k
    Part  4006PQ208	12497760    12204k
    Part  4008PQ208	14360192    14023k
    Part  4010PG191	16454936    16069k
    Part  4013MQ208	21206584    20709k
    Part       4020	26657240    26032k
    Part  4025pg223	32925032    32153k
    Part  4002APC84	 5735344     5600k
    Part  4003APC84	 6595360     6440k
    Part  4004APC84	 7571840     7394k
    Part  4005APC84	 8704712     8500k
    Part 4003HPG191	 8294336     8099k
    Part 4005HPG223	11198560    10936k
    Part   5202PC84	12590048    12294k
    Part   5204PC84	18956384    18512k
    Part   5206PC84	27354056    26712k
    Part  5210PQ100	41219672    40253k
    Part  5215HQ208	58172648    56809k

Memory required for VGA16, no -p option (default panning buffer):
(See IMPORTANT NOTE above.)

    Part   2064PC44	 4134920     4038K
    Part   2018PC44	 4687144     4577K
    Part   3020PC68	 5934536     5795K
    Part   3030PC44	 7227664     7058K
    Part   3042PC84	 8796440     8590K
    Part   3064PC84	11548784    11278K
    Part   3090PC84	14857416    14509K
    Part   3195PC84	20211400    19737K
    Part   4003PC84	 8811616     8605K
    Part   4005PC84	12096936    11813K
    Part  4006PQ208	14081080    13751K
    Part  4008PQ208	16235040    15854K
    Part  4010PG191	18682368    18244K
    Part  4013MQ208	24201944    23634K
    Part       4020	30545680    29829K
    Part  4025pg223	37829368    36942K
    Part  4002APC84	 6254096     6107K
    Part  4003APC84	 7262312     7092K
    Part  4004APC84	 8383064     8186K
    Part  4005APC84	 9698224     9470K
    Part 4003HPG191	 9174896     8959K
    Part 4005HPG223	12554336    12260K
    Part   5202PC84	14792616    14445K
    Part   5204PC84	22351896    21828K
    Part   5206PC84	32366944    31608K
    Part  5210PQ100	48888952    47743K
    Part  5215HQ208	69057872    67439K

When the -p option is not in effect, XACT will try to size the large panning
buffer to be big enough to draw the entire die at Xlarge In.  If the panning
buffer cannot be allocated to be this size, XACT will retry the allocation
until a buffer is obtained, cutting its size in half in each dimension with
each retry.  Thus each retry will ask for 1/4 the amount of memory for the
panning buffer.

The following tables give the amount of memory required when the -p command
line option is used.  This option tells XACT to make the panning buffer only
as large as the screen.  In this case any panning activity will cause a
redraw of the buffer, but since the buffer is so small it should redraw very
quickly.  The amount of memory used by the panning buffer in this case is
small and device (LCA) independent.

Note that the -p option is has several sub-options that can be used to set
the size of the panning buffer to essentially any size.  This gives the user
control of the tradeoff between the frequency of redraws, the time per
redraw, and the ability to pan without redraw.

See the XACT online help (xact -help) for more details.

Memory required for VGA4, -p, (fixed screen size panning buffer):
(This chart can also be used to get the memory requirements for
XDELAY and MAKEBITS on either the PC or workstation.)

    Part   2064PC44	 2484760     2426k
    Part   2018PC44	 2609768     2548k
    Part   3020PC68	 2874536     2807k
    Part   3030PC44	 3126640     3053k
    Part   3042PC84	 3411664     3331k
    Part   3064PC84	 3934784     3842k
    Part   3090PC84	 4553392     4446k
    Part   3195PC84	 5563592     5433k
    Part   4003PC84	 5409832     5283k
    Part   4005PC84	 6849784     6689k
    Part  4006PQ208	 7699784     7519k
    Part  4008PQ208	 8649552     8446k
    Part  4010PG191	 9709944     9482k
    Part  4013MQ208	12142384    11857k
    Part       4020	14901680    14552k
    Part  4025pg223	18106072    17681k
    Part  4002APC84	 4127112     4030k
    Part  4003APC84	 4571760     4464k
    Part  4004APC84	 5077264     4958k
    Part  4005APC84	 5671272     5538k
    Part 4003HPG191	 5623304     5491k
    Part 4005HPG223	 7089360     6923k
    Part   5202PC84	 6613184     6458k
    Part   5204PC84	 9343776     9124k
    Part   5206PC84	12915584    12612k
    Part  5210PQ100	18821048    18379k
    Part  5215HQ208	26034112    25423k

Memory required for VGA8, -p, (fixed screen size panning buffer):

    Part   2064PC44	 2665928     2603k
    Part   2018PC44	 2791232     2725k
    Part   3020PC68	 3080688     3008k
    Part   3030PC44	 3332712     3254k
    Part   3042PC84	 3618232     3533k
    Part   3064PC84	 4142104     4045k
    Part   3090PC84	 4761024     4649k
    Part   3195PC84	 5769928     5634k
    Part   4003PC84	 5661848     5529k
    Part   4005PC84	 7102064     6935k
    Part  4006PQ208	 7951592     7765k
    Part  4008PQ208	 8901640     8693k
    Part  4010PG191	 9961648     9728k
    Part  4013MQ208	12394152    12103k
    Part       4020	15153792    14798k
    Part  4025pg223	18358256    17927k
    Part  4002APC84	 4379464     4276k
    Part  4003APC84	 4824040     4710k
    Part  4004APC84	 5329464     5204k
    Part  4005APC84	 5923584     5784k
    Part 4003HPG191	 5875496     5737k
    Part 4005HPG223	 7341864     7169k
    Part   5202PC84	 7232632     7063k
    Part   5204PC84	 9963032     9729k
    Part   5206PC84	13535088    13217k
    Part  5210PQ100	19438872    18983k
    Part  5215HQ208	26653624    26028k

Memory required for VGA16, -p, (fixed screen size panning buffer):

    Part   2064PC44	 2847096     2780K
    Part   2018PC44	 2972696     2903K
    Part   3020PC68	 3286840     3209K
    Part   3030PC44	 3538784     3455K
    Part   3042PC84	 3824800     3735K
    Part   3064PC84	 4349424     4247K
    Part   3090PC84	 4968656     4852K
    Part   3195PC84	 5976264     5836K
    Part   4003PC84	 5913864     5775K
    Part   4005PC84	 7354344     7181K
    Part  4006PQ208	 8203400     8011K
    Part  4008PQ208	 9153728     8939K
    Part  4010PG191	10213352     9973K
    Part  4013MQ208	12645920    12349K
    Part       4020	15405904    15044K
    Part  4025pg223	18610440    18174K
    Part  4002APC84	 4631816     4523K
    Part  4003APC84	 5076320     4957K
    Part  4004APC84	 5581664     5450K
    Part  4005APC84	 6175896     6031K
    Part 4003HPG191	 6127688     5984K
    Part 4005HPG223	 7594368     7416K
    Part   5202PC84	 7852080     7668K
    Part   5204PC84	10582288    10334K
    Part   5206PC84	14154592    13822K
    Part  5210PQ100	20056696    19586K
    Part  5215HQ208	27273136    26633K

You can see that the difference between VGA8 and VGA16 for any part is the
same.  This difference represents the amount of memory that is needed for
a VGA screen bit plane.

X WORKSTATION MEMORY REQUIREMENTS

The following two tables give the amount of memory required by XDE when run
on a workstation.  An important difference is that the existing X
implementations of graphics must accept the X allocation of 8 bits per pixel
in panning buffers.  The program does not have control of the number of bits
per pixel as it does on the PC.

Memory required for X, no -p option (default panning buffer):
(See IMPORTANT NOTE above.)

    Part   2064PC44	 4873288     4759K
    Part   2018PC44	 5627976     5496K
    Part   3020PC68	 7404328     7230K
    Part   3030PC44	 9203408     8987K
    Part   3042PC84	11420456    11152K
    Part   3064PC84	15260672    14903K
    Part   3090PC84	19913816    19447K
    Part   3195PC84	27421912    26779K
    Part   4003PC84	10486848    10241K
    Part   4005PC84	14687992    14343K
    Part  4006PQ208	17247720    16843K
    Part  4008PQ208	19984736    19516K
    Part  4010PG191	23137232    22594K
    Part  4013MQ208	30192664    29485K
    Part       4020	38322560    37424K
    Part  4025pg223	47638040    46521K
    Part  4002APC84	 7291600     7120K
    Part  4003APC84	 8596216     8394K
    Part  4004APC84	10005512     9771K
    Part  4005APC84	11685248    11411K
    Part 4003HPG191	10936016    10679K
    Part 4005HPG223	15265888    14908K
    Part   5202PC84	19197752    18747K
    Part   5204PC84	29142920    28459K
    Part   5206PC84	42392720    41399K
    Part  5210PQ100	64227512    62722K
    Part  5215HQ208	90828320    88699K

Memory required for X, -p, (fixed screen size panning buffer):
(See IMPORTANT NOTE above.)

    Part   2064PC44	 3209432     3134K
    Part   2018PC44	 3335624     3257K
    Part   3020PC68	 3699144     3612K
    Part   3030PC44	 3950928     3858K
    Part   3042PC84	 4237936     4138K
    Part   3064PC84	 4764064     4652K
    Part   3090PC84	 5383920     5257K
    Part   3195PC84	 6388936     6239K
    Part   4003PC84	 6417896     6267K
    Part   4005PC84	 7858904     7674K
    Part  4006PQ208	 8707016     8502K
    Part  4008PQ208	 9657904     9431K
    Part  4010PG191	10716760    10465K
    Part  4013MQ208	13149456    12841K
    Part       4020	15910128    15537K
    Part  4025pg223	19114808    18666K
    Part  4002APC84	 5136520     5016K
    Part  4003APC84	 5580880     5450K
    Part  4004APC84	 6086064     5943K
    Part  4005APC84	 6680520     6523K
    Part 4003HPG191	 6632072     6476K
    Part 4005HPG223	 8099376     7909K
    Part   5202PC84	 9090976     8877K
    Part   5204PC84	11820800    11543K
    Part   5206PC84	15393600    15032K
    Part  5210PQ100	21292344    20793K
    Part  5215HQ208	28512160    27843K

CONCLUSIONS:

It appears that allowing XACT to default to trying to allocate huge panning
buffers for the large parts (4020, 4025, 5210) is not a good strategy for
either the PC or workstations.	Some variant of the -p option should be the
default in such cases.	It should of course be possible to force the panning
buffer to be any size, as it is now.





End of Record #1138

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals!

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents