In this thesis, an efficient algorithm for the placement of arbitrarily sized rectangular functional blocks within a rectilinear region is proposed. The proposed algorithm uses a unsupervised learning algorithm, i.e., self-organization, which is proposed by $Kohonen^{[5]}$. The modified self-organization algorithm finds the relative position of blocks with the consideration of external signals, input signals and output signals. To remove the overlaps among blocks, heuristics called block packing process, are proposed. The proposed algorithm can obtain the placement results of a circuit within a rectilinear region as well as a rectangular region with the $O(n^2)$-time complexity, which is faster than the earlier $algorithm^{[6]}$.