Engineering 1000 Chapter 6: Abstraction and Modeling Outline Why is abstraction useful? What are models? Examples from microelectronics Types of model how are models different from theory and simulation? finite element models Approximations and responsibility R. Hornsey Abstraction 2 Abstraction “Abstraction” has the same root meaning as the abstract of a report The purpose of abstraction is to enable the designer to consider the relative merits of several options without having to build prototypes of each one By formulating the problem in the ways that we have already considered … to summarise and extract the essential elements from the Oxford English Dictionary: “the act or process of separating in thought, of considering a thing independently of its associations” especially the objective/function trees … we have already moved some way along the road to abstraction the generation of multiple options is sometimes referred to as parsing R. Hornsey Abstraction 3 The advantage of the tree diagrams is that closely related issues are automatically identified and some idea of their ‘level’ has been obtained this is effectively a second stage of abstraction it is worth checking to see if objectives at the same level but on different branches of the tree can be achieved using a common method In our objectives tree, we stopped one stage before developing ways of implementing those objectives in abstraction, we now need to consider what these possible implementations will be to do this we need to shuffle around concepts, find relations, identify commonalities, consider variations, …, i.e. manipulate the elements of the problem the textbook calls this the “dimensions of variation” the statement-restatement technique was one way of achieving this R. Hornsey Abstraction 4 What is a Model? A model is a representation or imitation of a real object in engineering terms, a model is used because it enables predictions or calculations or in some other way makes the design process more convenient often, the model is a mathematical description which can be manipulated by computer but it can also be a physical model of an object, which maintains a desired characteristic (e.g. the shape of a car) but is in some way simpler than the real thing (e.g. no internal machinery) Traditionally, models are small-scale versions of bridges, buildings, planes, etc. which are tested in order to predict how the real structure would behave under appropriate conditions this is not always easy because some effects do not scale linearly with distance (e.g. friction, fluid flow) R. Hornsey Abstraction 5 Models as Purposeful Representations The textbook uses the words “purposeful representation” as a brief definition of a model Models are used to assist the designer’s thinking, analyse potential designs, realise what is known or unknown, predict behaviour, identify connections, etc. Models are typically used when the system is incompletely understood the textbook also states that models are used for complex systems However, we must distinguish here between physical models and computer-based models physical models are indeed used for complex systems, and represent one of engineering’s oldest tools complex and understood systems are usually solved by simulation in computer-based approaches (see later for an example) R. Hornsey Abstraction 6 How is a Model Different from Theory? A model is related to, but different from, a theoretical description of the object the model may be based on theory but may include non-ideal behaviours observed in experiments but not well explained by theory theory may predict certain trends, but empirical numbers from experiments are included to get the calculated results to agree with the real results The key difference is that a model must behave as nearly as possible the same way as the real thing but it is not directly important whether the model’s behaviour is well predicted by theory – it is the result that counts [a good theoretical basis is good however, because it will likely expand the range of conditions over which the model will work] R. Hornsey Abstraction 7 How is a Model Different from Simulation? A simulation is usually a technique for obtaining theoretical results in cases where the theory is mathematically tough to solve so simulation is a practical way of solving the theoretical description assuming you know the appropriate theory! It can help to think of the difference between a model plane and a flight simulator! We will illustrate these situations with an example from microelectronics R. Hornsey Abstraction 8 Microelectronic Circuit Design The goal here is to predict as closely as possible the behaviour of a microelectronic circuit design before it is manufactured There are a number of levels which we must consider e.g. amplifier gain, bandwidth, distortion, logic gate switching time the circuit operation the components which make up the circuit (transistors, resistors, capacitors, diodes, interconnects) the physical mechanisms within each of these components the way in which the manufacturing process affects the behaviour It is not always necessary for the designer to understand all of these levels in depth but the computer software must assume this knowledge R. Hornsey Abstraction 9 SPICE Circuit Simulator SPICE is a widely used circuit analysis package which allows the designer to connect electronic devices into a circuit and predicts the response of the circuit under specified conditions SPICE is a circuit simulator www.silvaco.com it applies circuit analysis equations to the designed circuit to calculate currents and voltages as a function of time for any condition, it may require a lot of calculations to reach a final answer where all the values are internally consistent But how does SPICE ‘know’ how a transistor behaves? R. Hornsey Abstraction 10 SPICE Models SPICE contains an analytical model of how every device behaves There are numerous ‘levels’ of models depending on how complex they are i.e. how accurately they describe every aspect of the device behaviour, no matter how subtle It is not directly important for SPICE models to be theoretically accurate ‘analytical’ means mathematically solvable the basic characteristics are described by theory but many complexities are based on observations of extensive experimental data these are empirical or semi-empirical models This is very important, because it means that the accuracy of your predictions are highly dependent on how much you know about the specific devices in your circuit R. Hornsey Abstraction 11 www.silvaco.com Microelectronic manufacturing ‘fabs’ will measure thousands of devices in order to get accurate SPICE models A widely used SPICE model for transistors is BSIM 3.3 The better the theoretical framework, the more generally applicable will be the results and the model can be refined R. Hornsey Abstraction 12 Device Simulators Most of the basic theory for semiconductor devices is well known Device simulators such as MEDICI sub-divide the device into elements which are simulated individually but consistently with neighbouring elements elements are of varying size to capture details where needed but to save computation time elsewhere www.avanticorp.com however, applying it to a realistic device is extremely complex (sound familiar? – same as SPICE) this is because the 3-D geometry of the devices and the any material layers they contain makes hand calculation impossible R. Hornsey Abstraction 13 As with all simulators, the results are only as good as your theoretical understanding of the situation In the end, engineers like theory to the extent that it improves the models www.avanticorp.com but a design must still work even if there is no adequate theory and so (good) models are of paramount importance R. Hornsey Abstraction 14 Computer-Aided Design (CAD) Many engineering projects would be impossible to realise without CAD CAD is rather a loose term which may range from fancy graphics packages to complex software suites including modelling and simulation e.g. the 10 million transistors in the Pentium would not be feasible if paced and connected by hand (much is done with automatic layout) A common tool for laying out chips is CADENCE it contains a ‘drawing’ package for defining metal, silicon, etc layers a ‘design rule’ checker SPICE automatic layout ‘standard cells’ and numerous other tools R. Hornsey Abstraction 15 AutoCad Another standard CAD package is AutoCad which you will learn in part 2 of ENG1000 www.autodesk.com R. Hornsey Abstraction 16 Computer-Aided Manufacture (CAM) The logical conclusion of CAD is CAM By using the data generated by the CAD tools directly for controlling the machines manufacturing the item several benefits follow and the two are often lumped together as CAD/CAM speed accuracy – no (additional) errors introduced flexibility For example, we email output files from CADENCE to the chip manufacturing plant one of the advantages of standardisation of information formats R. Hornsey Abstraction 17 Types of Model Models can be categorised into three basic types Iconic models Analogic models look identical to the finished object; visually equivalent e.g. maps, globes, computer graphics, physical models but are incomplete in the sense that some information is lost e.g. a 2-D representation of a 3-D object, no internal mechanics are functionally equivalent to the object so they behave like the real object, but not necessarily for the same reasons e.g. the transistor models in SPICE, model aeroplane in a wind tunnel Symbolic models such as descriptions using mathematical (or chemical) equations e.g. postscript representation of a font, x2 + y2 = r2 R. Hornsey Abstraction 18 Finite Element Models The mesh used to analyse electronic devices in MEDICI is an example of a finite element model (FEM) FEMs are used in many situations where the basic equations are known but are very difficult to solve in more than one dimension and for complex situations heat flow = (thermal conductivity) x (temperature gradient) electrical currents as a function of electric field fluid flow as a function of pressure gradients stresses in complex surfaces For each element the equations are solved ensuring that conditions match at boundaries between adjacent elements ‘boundary’ conditions are satisfied R. Hornsey Abstraction 19 One general FEM solver is ANSYS www.ansys.com mesh R. Hornsey stresses Abstraction 20 Approximations It should be remembered at all times that models and simulations are all approximations to reality The engineer must understand they may use simplifying assumptions (i.e. models) unknown effects cannot be included equations may be solved by numerical methods, which do not yield exact results often, models are only valid over a specific range of conditions, especially is they are semi-empirical (use measured data) the theory, models, and techniques on which the solution is based nature of the approximations used in the model the situations for which the technique is valid There is no substitute to experience with a particular modelling tool often engineers ‘know’ when a particular tool gives good or bad results R. Hornsey Abstraction 21 Responsibility The performance of the design is engineer’s responsibility, regardless of how the design was carried out errors in simulation or modelling are also the engineer’s responsibility, not that of the software vendor From the PEO: The practice of professional engineering has become increasingly reliant on computers, and engineers use many computer programs that incorporate engineering principles and matters. Many of these programs are based upon or include assumptions, limitations, interpretations and judgments on engineering matters that were made by or on behalf of an engineer when the program was first developed. Therefore, it is often difficult to determine, just by using a program or by being given a description of its function, the engineering principles and matters it incorporates. The engineer must have a suitable knowledge of the engineering principles involved in the work being conducted, and is responsible for the appropriate application of these principles. When using computer programs to assist in this work, engineers should be aware of the engineering principles and matters they include, and are responsible for the interpretation and correct application of the results provided by the programs. Engineers are responsible for verifying that results obtained by using software are accurate and acceptable. Given the increasing flexibility of computer software, the engineer should ensure that professional engineering verification of the software's performance exists. In the absence of such verification, the engineer should establish and conduct suitable tests to determine whether the software performs what it is required to do. R. Hornsey Abstraction 22 Developing a Model Developing good models is a difficult and time-consuming process this is perhaps not surprising since the complexity of the situation is the likely reason for needing a model in the first place a large proportion of engineering research is devoted to the development and improvement of models How do you know it’s a good model? ultimately, it must be verified by favourable comparison with a wide range of experimental results collected by different people under a variety of appropriate conditions ‘goodness’ depends on the requirements of the specific situation by repeated successful trials, some measure of confidence can be established in the tool a corollary is that software modelling tools are the domain of a few wellestablished companies in each engineering field R. Hornsey Abstraction 23 Summary Theory, simulation, and modelling are tools to enable the engineer to understand and to predict the behaviour of proposed designs without having to construct prototypes The advantage is that various options can be considered and compared as efficiently as possible The disadvantage is that no model/simulation/theoretical description is exact It is the engineer’s responsibility to ensure that these tools are used appropriately R. Hornsey Abstraction 24 Homework Read chapter 6 of the textbook and the case studies described in that chapter Do problems 6.1 and 6.2 R. Hornsey Abstraction 25 Exercise Develop a simple model governing the number of economyclass seats in an aeroplane as a function of other relevant factors (e.g. ticket price) can you optimise the number? What assumptions have you made in your model? it is always important to state explicitly all your assumptions, so users of the model know if it is valid for their situation R. Hornsey Abstraction 26