Академический Документы
Профессиональный Документы
Культура Документы
Formulate a hypothesis
Test the hypothesis Collect the data Analyze the data and decide what to do next.
Srinivas Siripurapu Seer Akademi 2011
Srinivas Siripurapu
gathering information about the problem. The term "research" is properly applied here.
Standard cell overlapping? Possible because core utilization is
Srinivas Siripurapu
solves the problem or not. Experiments are done to gather data. It is very important that good observations and records are made during an experiment.
Re initialize the floorplan with the constraints that you
Srinivas Siripurapu
your hypothesis failed or passed. verify_pg_nets -pad_pin_connection all Verify_drc > ../reports/drc_check.rpt Report_congestion > ../reports/congestion.rpt
Srinivas Siripurapu Seer Akademi 2011
Srinivas Siripurapu
conclusions can be drawn. In it's simplest form, the conclusion will be "yes" the hypothesis was correct, or "no" the hypothesis was not correct.
Based on the results in previous step you may want to
Srinivas Siripurapu
refined into a program that can automatically build the entire chip. Your flow needs software to make sure that only the necessary steps are executed, in the correct order, on the correct data. Different hierarchical blocks must be constructed similarly, yet differently.
Srinivas Siripurapu
Flow steps
Dont tempt to write huge script to run EDA tool from
start to finish.
Separate the flow into smaller steps that perform
individual tasks.
Srinivas Siripurapu
Reentrant step
Each step must be reentrant. This means that you can safely restart the flow at any step. The most basic requirement for reentrance is that the step
reads data from one database at the beginning, and saves the result in a database with a different name at the end.
Srinivas Siripurapu
Descriptive names
Srinivas Siripurapu
Input to Output
Where reasonable and efficient, the inputs and outputs of a
Tip: Use vendor independent formats like Open-Access, LEF, DEF or Verilog most of the times. But many steps are best saved as a proprietary database, particularly in place and route. Milkyway database in our case.
Srinivas Siripurapu
result that will allow you to make an informed decision about what to do next.
For example, produce a legal placement, create a timing
Srinivas Siripurapu
tweak your power routing script, run, and observe the results several times before it works correctly.
Note: However, starting and stopping EDA tools, reading and writing databases takes time and space. For the sake of economy, you want fewer steps.
Srinivas Siripurapu
Srinivas Siripurapu
Flow controller
Flow controller is the boss. It manages the execution of flow steps like placement or
timing analysis.
It may be a simple shell script or a well organized
software program.
Sample shell script is shown in next slides. See how to
executing a particular step. Once all steps are finished remove comments and execute the full design flow.
Srinivas Siripurapu
Now placment
#! /bin/sh export flowPath=../../flow # icc_shell -f ${flowPath}/icc/scr/netlistIn.tcl | tee netlistIn.log # icc_shell -f ${flowPath}/icc/scr/floorplan.tcl | tee floorplan.log # icc_shell -f ${flowPath}/icc/scr/pgRoute.tcl | tee pgRoute.log
Conclusion
IC design is an iterative process. Scientific method of problem solving applies for
Srinivas Siripurapu
you simply wasting your time by running monotonous commands all the time without any results, and results in frustration.
icc_shell icc_shell . Bore Bore ..
Then solve your problems on your time not on others.
Srinivas Siripurapu
Srinivas Siripurapu