Ece587 Lec02
Ece587 Lec02
▶ This lecture: 1, 2
▶ Next lecture: 3.1
Models
An Example Design
Models
An Example Design
▶ Behavioral model
▶ A blackbox with description of functionality, i.e. input/output
relationship
▶ Implementation, i.e. how to obtain output from input, is not
specified
▶ Structural model
▶ An implementation of interconnected components
▶ Functionality is not specified explicitly
▶ Physical model
▶ Specify the physical characteristics of components and
interconnects
▶ Dimensionality and placement
▶ From the perspective of models, modern ASIC design can be
summarized as: RTL (behavioral) → Netlist (structural) →
standard cells (physical)
▶ Natural languages
▶ Ambiguous: even native speakers may have different
explanations
▶ Incomplete: cumbersome to elaborate all possible behaviors
▶ Formal languages
▶ Based on math: everyone should understand
▶ No ambiguity and complete
▶ Training is required to use both kind of languages effectively.
Models
An Example Design
▶ Mathematical model:
Input: n P
numbers a1 , a2 , . . ., an
Output: ni=1 ai
▶ More details are necessary to incorporate such model into a
system
▶ What is n?
▶ What is the type of the numbers?
▶ What if overflow/underflow happens?
▶ Assumptions
▶ 16 32-bit integers
▶ Ignore overflow/underflow
▶ Now the model can be used for simulation without knowing
anything about implementation.
▶ Hardware
▶ Need at least one two-input adder
▶ Software
▶ Coordinate hardware to complete summation by adding two
numbers a time
▶ If a higher precision is required later, software can be updated
▶ Assume adders that can add two 32-bit integers in 1ns are
available
▶ Sequential program
▶ Accumulator: 1 adder and 1 32-bit register
▶ Smallest size
▶ What is the latency and the throughput?