الفهرس | Only 14 pages are availabe for public view |
Abstract The increasing functional complexity of system-on-chips, the lack of design automation for analog circuits, and the difficulties in analog design continually increase the bottleneck of analog components in chip design. Automation of analog layout and analog placement has been a research interest since the late 1980s. Layout of analog Integrated Circuits (IC’s) has been manually designed by experts. Analog placers use a variety of mostly hand-entered physical constraints for design rules, placement and certain analog-specific layout conventions to automatically generate small sections of layout. The placement and the routing of an analog circuit have a severe impact on the function and performance. Thus, layout constraints are defined to make sure that the circuit fulfills the performance specifications. The number and diversity of constraints imposed on an analog circuit prevent approaches used in the digital domain from being used for analog design. With advanced nodes, a layout that meets every physical constraint can still fail to meet the electrical requirements of the design. Designers are quick to recognize the appropriate physical constraints that lead to correct electrical behavior using their experience. They have the ability to rapidly evaluate multiple solutions and quickly discard those options whose physical implementations do not meet the electrical constraints assigned to them. Hence, the latest generation of analog placement tools has been designed to create a variety of alternative layouts from which designers can choose. This puts the designer back into the picture by presenting choices rather than assuming that the software has chosen the best layout. The designer can make the choice since layout decisions involve compromise. Satisfiability Modulo Theories (SMT) is an approach that can be used for solving constraint satisfaction problems. SMT combines Boolean satisfiability with term-manipulating symbolic systems. Boolean satisfiability is concerned with determining whether a formula expressing a constraint has a solution. Microsoft Z3 SMT solver is used in this work to find feasible solutions for the given constraints. Hence, the constraints should be translated into equations that can be understood by the Z3 solver, and afterwards the Z3 solver output should be translated into coordinates that can be used by the analog placer. Cloud computing has emerged due to the increasing demand of variable system requirements and the need for more computing power with different specifications at different time zones. In this research we deploy the analog placement platform on a cloud computing environment. The thesis is divided into seven chapters in addition to the lists of contents, tables and figures as well as list of references and one appendix. Chapter 1 In this chapter the analog placement concept is introduced, and its implementation challenges are highlighted. Proliferation of methodologies for resolving constraints such as satisfiability modulo theories is mentioned. Emergence of cloud computing and high performance computing is linked to the mentioned topics. This chapter includes the thesis introduction and presents its outline. Chapter 2 This chapter presents a literature survey of analog integrated circuits placement. In addition it explains the physical constraints of analog circuits and their types. It also shows the emerging rapid prototyping flow and the importance of using constraints in this flow. Chapter 3 This chapter explains SAT and satisfiability modulo theories. It provides the mathematical background and the methodology used by a solver to approach any problem. It discusses complexity of problems versus their tractability and decidability and brings to attention how constraints resolution can be handled according to this perspective. Chapter 4 This chapter demonstrates the design details of the proposed system. It also shows how the satisfiability modulo theories is exactly used to approach the analog integrated circuits’ placement problem. Chapter 5 This chapter elaborates on the cloud computing and shows the steps needed to exploit them in this research. The deployment of the proposed system on the cloud is presented. Chapter 6 This chapter shows the results and compares them to other results that were published in the literature. It shows the timing analysis and the effect of using the cloud. It discusses the different aspects of this work. Chapter 7 This chapter ends the thesis by conclusion, summary and future work. Key words: Analog Layout, Automation, Cloud Computing, Constraints, Integrated Circuits, Placement, Satisfiability Modulo Theories. |