Cell assignment in hybrid CMOS/nanodevices architecture using a PSO/SA hybrid algorithm

Research output: Contribution to journalArticlepeer-review

8 Scopus citations


In recent years, substantial advancements have been made in VLSI technology. With the introduction of CMOL (Cmos\nanowire\MOLecular Hybrid), higher circuit densities are possible. In CMOL there is an additional layer of nanofabric on top of CMOS stack. Nanodevices that lie between overlapping nanowires are programmable and can implement any combinational logic using a netlist of NOR gates. The limitation on the length of nanowires put a constraint on the connectivity domain of a circuit. The gates connected to each other must be within a connectivity radius; otherwise an extra buffer is inserted to connect them. Particle swarm optimization (PSO) has been used in a variety of problems that are NPhard. PSO compared to the other iterative heuristic techniques is simpler to implement. Besides, it delivers comparable results. In this paper, a hybrid of PSO and simulated annealing (SA) for solving the cell assignment in CMOL, an NP-hard problem, is proposed. The proposed method takes advantage of the exploration and exploitation factors of PSO and the intrinsic hill climbing feature of SA to reduce the number of buffers to be inserted. Experiments conducted on ISCAS'89 benchmark circuits and a comparison with other heuristic techniques, are presented. Results showed that the proposed hybrid algorithm achieved better solution in terms of buffer count in reasonable time.

Original languageEnglish
Pages (from-to)653-664
Number of pages12
JournalJournal of Applied Research and Technology
Issue number5
StatePublished - Oct 2013


  • Assignment
  • CMOL
  • Combinatorial optimization
  • Hybrid heuristics
  • Nanofabric
  • Search heuristics
  • VLSI

ASJC Scopus subject areas

  • Engineering (all)


Dive into the research topics of 'Cell assignment in hybrid CMOS/nanodevices architecture using a PSO/SA hybrid algorithm'. Together they form a unique fingerprint.

Cite this