Efficient Structural Design
August, 1989
Outline
f Methodology
Definition and relationship to tools
f Good Methodologies
Bottom-up and top-down deficiencies
Evaluation criteria
f A Methodology Illustrated
f A Methodology Evaluated
What's hot, what's not
Methodology
Transformation of Idea into Artifact
f Each design has its own methodology
uncertainties
designer
environment
f Tools available constrain design's methodology
f Desired methodology impacts tool requirements
Bottom Up
f Definition
low level gate description + structure
f In practice
fixed macros frequently useless
little early application constraint feedback
low level primitives lead to
f large source, which is
f not easily modified at high level, requiring a
f single pass, which leads to
f top down methodology
Top Down
f Definition
Multiple levels of abstraction
Successive refinement
f In practice
f top down behavioural description and overoptimization, which leads to
f larger source, and thus we have a
f positive feedback system
Claims
f Minimal source leads to fast design
Fewer keystrokes ->###less to debug
f Early design evaluation required
Technology constraints affect requirements
Intended behaviour defined by what is possible
f Fast turnaround for small changes required
You can't get it right the first time so make it easy to go around the loop
f High level primitives, but not too high
Consistent with automatic synthesis capabilities
f All designs will have some structural decomposition
What we want to design always outpaces the capabilities of automatic synthesis
A Methodology
f Specification
mixed text and graphics
f Register Transfer Level Design
Technology constraints affect requirements
Intended behaviour defined by what is possible
f System Simulation
You can't get it right the first time so make it easy to go around the loop
f Layout
Consistent with automatic synthesis capabilities
Behavioral Models
DRamSimple: EvalProc = {
SELECT state FROM
PowerUp => SELECT TRUE FROM
nRAS AND nCAS => state := Idle;
ENDCASE => NULL;
Idle => SELECT TRUE FROM
nRAS AND nCAS => NULL;
nRAS AND CAS => state := RefreshStart;
RAS AND nCAS => {
rowAddress := Add;
state := AccessOrExternalRefresh;
};
ENDCASE => ERROR;
RefreshStart => SELECT TRUE FROM
nRAS AND CAS => NULL;
RAS AND CAS => state := InternalRefresh;
ENDCASE => ERROR;
InternalRefresh => SELECT ctl FROM
nRAS AND nCAS=> state := Idle;
nRAS AND CAS=> state := RefreshDoneRAS;
RAS AND nCAS => state := RefreshDoneCAS;
RAS AND CAS => NULL;
ENDCASE => ERROR;
RefreshDoneRAS => SELECT ctl FROM
nRAS AND nCAS=> state := Idle;
nRAS AND CAS => state := RefreshDoneRAS;
ENDCASE => ERROR;
RefreshDoneCAS => SELECT ctl FROM
nRAS AND nCAS => state := Idle;
RAS AND nCAS => state := RefreshDoneCAS;
ENDCASE => ERROR;
ENDCASE => ERROR;
};
What's Hot
f Minimally redundant design capture
less source to prepare & debug
no manual maintenance of consistency
some redundancy for error checking
f Reusable parameterized component library
less source to prepare & debug
f No behavioural design
less source to prepare & debug
technology constraints factored into design
f Some behavioural modeling
invariant checks
system environment
More Heat
f RTL describes logical organization of design
f Evolution of RTL into physical description
enables incremental optimization
eliminates debugging entirely new description
make a change, push a button, get a new artifact
f Open system enables demand driven tool upgrade
Dragon processor -> datapath
memory controller -> FSM
f Living documents
RTL -> physical
specification -> data sheet
What's Not
f Physical schematic loses RTL information
data and control are split
hierarchical bin sorting problem
f Slow system simulation
need good compilation, e.g. Verilog, DACAPO
emulation
f Partially incremental tool set
Small changes only require a push of the button
but the resulting action takes a long time
f Primitives not entirely state of the art
Only simple logic synthesis, no Synopsys
No sticks layout editing
Conclusion
f Bottom Up
Delays Application Constraint Satisfaction
f Top Down
Delays Technology Constraint Satisfaction
f Evolutionary Structural
Simultaneous Application and Technology Constraint Satisfaction
Minimal Source Description
Minimal Design Time and Manpower