-In this paper, we present a new scheduling algorithms that generates area-efficient register transfer level datapaths with multiport memories. The proposed scheduling algorithm assigns an operation to a specific control step such that maximal sharing of functional units can be achieved with minimal number of memory ports, while satisfying given constraints. We propose a measure of multiport memory cost, MAV (Multiple Access Variable) which is defined as a variable accessed at several control steps , and overall memory cost is reduced by equally distributing the MAVs throughout all the control steps. When compared with previous approaches for several benchmarks available from the literature, the proposed algorithm generates the datapaths with less memory modules and interconnection structures by reflecting the memory cost in the scheduling process.hence require less chip area, as compared to random logic. Furthermore, the generated design can be tested easily due to the reduced number of hardware modules. The availability of highdensity and high-speed multiport memories motivates the use of multiport memories in datapath synthesis.Most of the previous approaches allocate variables either to isolated registers or to register files [2][3][4][5]. However, they do not fully utilize the advantages of multiport memories for variable mapping. A handful of systems reported the use of multiport memories for datapath designs. Balakrishnan et al. [6] have reported a technique to minimize the number of memory modules. Grouping a maximal number of registers into a cluster, their algorithm assigns a cluster of registers to a multiport memory at a time. The left-over registers are either allocated to isolated registers or grouped into multiport memories by repeatedly applying the same procedure. The algorithm often leads to nonoptimal register allocations in the number of memory modules and interconnection cost. Wilson et. al. [7] presented a heuristic algorithm in which registers are allocated to available multiport memories one-by-one. Due to the local nature of greedy search, the algorithm does not guarantee an optimal solution in the number of memory modules and the number of registers in each memory module. Ahmad et al.[8] formulated the 0-1 integer linear programming (ILP) to generate the minimum number of multiport memory modules, and tried to reduce the number of registers in each memory module. However, by not considering the connections between multiport memory modules and FUs, the algorithm incurs larger inter-connection cost in the final implementation of datapaths. Kim et al.[9] also used the 0-1 ILP to group variables into multiport memory modules, but they did not try to minimize the number of registers in each memory module.
Q. INTRODUCTIONDue to the advance of VLSI circuit fabrication and design techniques, it has been become feasible to realize a large-scale system in a single chip. For the productivity enhancement of design engineers, researchers in the CAD community have been attempting to automa...