A behavioral synthesis tool for generating an integrated circuit design is
described. The behavioral synthesis tool allows a designer to
interactively allocate variables or arrays to memory resources without
having to modify a source code description of the integrated circuit. The
behavioral synthesis tool reads the source code description and generates
a synthesis intermediate format stored in memory. The synthesis tool
searches the in-memory synthesis intermediate format to find arrays for
each process. The arrays are then listed in a graphical user interface
(GUI). The GUI allows the designer to create memory resources, specifying
the type of memory, the packing mode, etc. The designer is also provided
the ability to vary the format among a plurality of formats used to pack
arrays to memory during the memory packing process. Upon completion of
modifying the memory allocation, the designer saves the changes and such
changes are effectuated by automatically updating the synthesis
intermediate format.