Beruflich Dokumente
Kultur Dokumente
BY
HASSAN AL MANASRAH
TAMIR AL ZU’BI
Outline
2
Introduction
Automation: synthesis
Verification: hardware/software co-simulation
Reuse: intellectual property cores
Design process models
Introduction
3
Verification Reuse
Implementation
Automation: synthesis
6
Hardware design involves many more dimensions, while compilers must generate assembly instructions to implement itself.
Hardware Designer concerned about size, power, performance and other metrics.
Synthesis Levels
9
Gajski’s Y-chart
Each axis represents type of Carry-ripple adder Addition
FSM synthesis
State minimization
State encoding
Two-level minimization
11
00
0 0 1 0 00
0 0 1 0
1 represents minterm 01
0 0 1 0 01
0 0 1 0
Circle represents implicant
11
1 0 0 0 11
1 0 0 0
10
0 0 1 0 10
0 0 1 0
Minimum cover Minimum cover
Covering all 1’s with min # of circles F=abc'd' + a'cd + ab'cd
01
0 0 1 0
Minimum cover that is prime 11
1 0 0 0
10
0 0 1 0
Covering with min # of prime implicants
Minimum cover that is prime
Min # of max-sized circles
F=abc'd' + a'cd + b'cd
Example: prime cover vs. min cover
Implementation
Same # of gates
a
4 vs. 4 1 4-input AND gate
b 2 3-input AND
Less transistors c F gates
26 vs. 28 1 4 input OR gate
d → 26 transistors
Minimum cover: heuristics
15
Heuristic
Solution technique where optimal solution not guaranteed
delay
Solve for smallest size
Multilevel gives pareto-optimal solution
2-level minim.
Minimum delay for a given size
size
Minimum size for a given delay
Example
18
used
FSM synthesis
19
High-level synthesis
Converts single sequential program to single-purpose processor
FSDM Does not require the program to schedule states
Behavioral synthesis tool use advance techniques to carry out task
scheduling allocation.
Key sub problems
Allocation Implementing a sequential program needs
Binding
Scheduling
Assign sequential program’s operations to states
Optimizations important
Compiler
Constant propagation, dead-code elimination, loop unrolling
Advanced techniques for allocation, binding, scheduling
System synthesis
Collection of processors 23
Tasks (cont.)
Partitioning
Mapping 1 or more processes to 1 or more processors
Variables among memories
Communications among buses
Scheduling
Determining when each of the multiple processes on a single processor will have
chance to execute on the processor.
Memory accesses, bus communications must be schedule.
Verification
Verification
27
completeness verification
Verifying completeness of a behavioral verification is proving of that a certain situations will never occur.
Example:
Formally prove elevator door can never open while elevator is moving
1. Derive conditions for door being open.
2. Show conditions conflict with conditions for elevator moving.
Drawbacks:
Formal Verification is very hard
limited to small designs or verifying only certain key properties
Simulation
29
It is an approach in which we create a model of the design that can be executed on computer
We entered the input values to the module and check that the output values of the module
match the expected values.
Correctness verification
Example :
Prove ALU structural implementation equivalent to behavioral description.
1. Providing all possible input combinations to the module
2. Checking the ALU outputs for correct results
completeness verification
Example :
Formally prove Elevator door closed when moving
1. Provide all possible input sequences
2. Check door always closed when elevator moving
Simulation of all possible inputs is impossible, like simulating of all possible inputs for 32-bits
ALU ,which requires 232*232 possible input combinations which take a very long time to
simulate.
Designer can only simulate a tiny subset of possible inputs, which includes typical values ,and
boundary inputs.
Simulation increases confidence of correctness/completeness of the design but Does not prove
anything.
Simulation advantages & disadvantages
30
Simulation has several advantages over the physical implementation with respect to test
& debugging the system.
o Controllability
The ability to control the execution of the system, like the control of time and the data inputs of the system.
o Observability
the ability to examine system values, that the user can stop the simulation and observe internal system values.
o Debugging
the user can stop the simulation at any time ,either small ,and change the input values or the internal values or the
environment values, then restarting again.
o Setting up time
Simulation takes a less setting up time than physical implementation, and gives the ability to test the system and check
the output before setting up the system in hardware.
Simulation has disadvantages
o Set up simulation take much time for a complex external environment.
o The models of the environment likely is incomplete ,so environment behavioral may be not modeled correctly.
o Simulation speed is slower than physical implementation speed.
Cont…
31
It is a simulator that is designed to hide the details of integration of an ISS and HDL
simulator.
There are many simulation approaches varying in speed ,precision ,and accuracy.
You may find a very detailed simulation like gate-level mode ,and very abstract
simulation like instruction level model.
Simulation tools evolved separately for hardware/software ,so every one has separate
design evolution.
Software Global Purpose Processor(GPP)
Typically with instruction-set simulator (ISS)
Hardware Special Purpose Processor(SPP)
Typically with models in HDL environment
The integration of GPP & SPP onto a single IC increased the need of simulating these two
processors together, by merging the Software/Hardware simulation tools.
There are two approaches to merge Software & Hardware simulation together
o The Simple way is to create an HDL module for the GPP which will run the software of the system,
and then integrating the HDL model of the SPP, it has two disadvantages:
Much slower than ISS
Less observable/controllable than ISS
o Creating communication between GPP (ISS) & SPP(HDL) ,that every one run alone at its
simulation and transferred data between them by shared communication when needed, this is
known as Hardware/Software Co-Simulation.
Cont…
34
It is general physical device onto which a system can be mapped relatively quickly, and
can be placed in the system real environment.
It is created to solve the problems of simulation ,expensive environment setup,
incomplete environment models, and slow simulation speed.
An emulator consists of microprocessor IC and monitoring &controlling circuits.
It may contain tens or hundreds of FPGAs ,and Usually supports debugging tasks
Emulation has several advantages over simulation:
Mapped relatively quickly
Hours, days
Can be placed in real environment
No environment setup time
No incomplete environment
Typically faster than simulation
Hardware implementation
Cont…
36
Changing the way COTS components are sold ,it is being sold as intellectual
property (IP) rather than actual IC.
Designers can integrate these descriptions with other to form one large SOC.
Processor-level components known as cores ,and it is referred to GPP or SPP IP
component.
Cont…
38
Soft core
Gajski’s Y-chart
Synthesizable behavioral
description Structural Behavioral
Chips
Physical description
Boards
Hard cores
Ease of use
Developer already designed and tested hard core
Can use right away
Can expect to work correctly
Predictability
Size, power, performance predicted accurately
It is specific for exact IC process ,and not easily mapped (retargeted) to different process
E.g., core available for vendor X’s 0.25 micrometer CMOS process
Can’t use with vendor X’s 0.18 micrometer process
Can’t use with vendor Y
Soft cores
Can be synthesized to nearly any technology
Can optimize for particular use
E.g., delete unused portion of core which gives Lower power ,and smaller designs
Requires more design effort
May not work in technology not tested for
Not as optimized as hard core for the same processor ,since hard cores have been given more
attention.
Firm core advantages & disadvantages
40
Cores have dramatically changed business model of vendors of GPP & SPP.
These changes made for Pricing model & IP protection
Pricing models
In the past
Vendors sold product as IC to the designers
Designers must buy any additional copies, because of impossible copying of ICs
• Could not (economically) copy from original
Today
Vendors can sell as IP instead of ICs itself
Designers incorporate IPs into SOC
Designers can make as many copies as needed, and vendors gain money
Vendor can use different pricing models
Royalty-based model
• Similar to old IC model
• Designer pays for each additional model created
Fixed price model
• One price for IP and designers can make as many copies as needed
Many other models used
IP protection
The next slide
IP protection
42
There are a new challenges posed for a designers to use GPP & SPP
Licensing arrangements
Purchasing a cores is not as easy as purchasing ICs
More contracts enforcing pricing model and IP protection and possibly requiring legal assistance .
Extra design effort
Especially for soft cores
Must still be synthesized and tested
There is no direct access to a core once it has been integrated into a chip
Cores buried within IC
Cannot simply replace bad core like replacing bad IC in the past
Design process model
44
It describes order that design steps are
processed, and each step has many sub Waterfall design
steps. model
1. Behavior description step Behavioral
2. Behavior to structure conversion step
3. Mapping structure to physical
implementation step Structural
Waterfall model
Compilation
Manual design
Spiral-like model