1 / 26

Engineering 1000Chapter 6 Abstraction and

Modeling

Outline

- Why is abstraction useful?
- What are models?
- how are models different from theory and

simulation? - Examples from microelectronics
- Types of model
- finite element models
- Approximations and responsibility

Abstraction

- Abstraction has the same root meaning as the

abstract of a report - 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 - 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 - 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

- 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

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)

Models as Purposeful Representations

- The textbook uses the words purposeful

representation as a brief definition of a model - Models are used to assist the designers

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 engineerings

oldest tools - complex and understood systems are usually solved

by simulation in computer-based approaches (see

later for an example)

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

models 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

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

Microelectronic Circuit Design

- The goal here is to predict as closely as

possible the behaviour of a microelectronic

circuit design before it is manufactured - e.g. amplifier gain, bandwidth, distortion, logic

gate switching time - There are a number of levels which we must

consider - 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

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
- 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?

www.silvaco.com

SPICE Models

- SPICE contains an analytical model of how every

device behaves - analytical means mathematically solvable
- 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 - 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

- 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

www.silvaco.com

Device Simulators

- Most of the basic theory for semiconductor

devices is well known - 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 - 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

- 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 - but a design must still work even if there is no

adequate theory - and so (good) models are of paramount importance

www.avanticorp.com

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

AutoCad

- Another standard CAD package is AutoCad
- which you will learn in part 2 of ENG1000
- www.autodesk.com

Computer-Aided Manufacture (CAM)

- The logical conclusion of CAD is CAM
- and the two are often lumped together as CAD/CAM
- By using the data generated by the CAD tools

directly for controlling the machines

manufacturing the item several benefits follow - 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

Types of Model

- Models can be categorised into three basic types
- Iconic 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 - Analogic models
- 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

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

- One general FEM solver is ANSYS
- www.ansys.com

mesh

stresses

Approximations

- It should be remembered at all times that models

and simulations are all approximations to reality - 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 engineer must understand
- 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

Responsibility

- The performance of the design is engineers

responsibility, regardless of how the design was

carried out - errors in simulation or modelling are also the

engineers 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.

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 its 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 well-established companies in

each engineering field

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/theor

etical description is exact - It is the engineers responsibility to ensure

that these tools are used appropriately

Homework

- Read chapter 6 of the textbook and the case

studies described in that chapter - Do problems 6.1 and 6.2

Exercise

- Develop a simple model governing the number of

economy-class 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