SlideShare une entreprise Scribd logo
1  sur  19
System partitioning & its considerations

                  Subash John
                  CGB0911005
                     VSD 531
     M.Sc. [Engg.] in VLSI System Design


    Module Title: IC planning & implementation
      Module Leader: Mr. Chandramohan P.




             M. S. Ramaiah School of Advanced Studies   1
Contents


• Introduction

• Physical design flow

• Need for partitioning

• Rules of partitioning

• Methods of partitioning

• Tool based partitioning

• Conclusion

• References




                          M. S. Ramaiah School of Advanced Studies   2
Introduction


•   Decomposition of a complex system into smaller subsystems

•   Each subsystem can be designed independently speeding up the design process

•   Decomposition scheme has to minimize the interconnections between the
    subsystems

•   Decomposition is carried out hierarchically until each subsystem is of
    manageable size

•   This is done mainly to separate different functional blocks and also to make
    placement and routing easier




                                    Figure 1. Bad partitioning results in more delay [2]
                          M. S. Ramaiah School of Advanced Studies                         3
Components of partitioning


•   Inputs
     – A set of components or modules

     – A netlist: In the form of weighted graph or hyper graph: nodes representing modules;
        edge or hyper edge representing a net

•   Outputs
     – A set of sub circuits that when connected, function as the original circuit

     – Terminals required for each sub circuit to be connected to other sub circuits




                             Figure 2. (a) Network (b) Graph [2]
                              M. S. Ramaiah School of Advanced Studies                        4
Physical design flow

                                                               Partitioning



                                                              Floor Planning



                                                              Power planning



                                                                Placement



                                                                  CTS



                                                                 Routing
Figure 3. Physical flow [2]
                   M. S. Ramaiah School of Advanced Studies                    5
Need for partitioning


•   Dividing a net list into clusters to minimize # of inter-cluster connections

•   Becomes more critical with VDSM

•   Influences the final quality of placement, global routing & detail routing

•   System size increases
     – Need to minimize design coupling

•   Interconnect dominates chip performance
     – Have to minimize number of block-to-block connections (e.g. global buses)

•   Helps reduce chip area
     – Minimizes length of global wires




                             M. S. Ramaiah School of Advanced Studies              6
Partitioning at different levels

                       Partitioning




System
                       Board level                          Chip level
 level




          Figure 4. Levels of partitioning [3]
                 M. S. Ramaiah School of Advanced Studies                7
5 Golden rules of partitioning

•   Interconnections between partitions
     – Reducing interconnections reduces the delay & interface between the partitions
        making it easier for independent design and fabrication

•   Delay due to partitioning

     – Partitioning of a circuit might cause a critical path to go in between partitions a
        number of times

•   Number of terminals

     – Number of nets required to connect a sub circuit to other sub circuits does not
        exceed the terminal count of the sub circuit.

•   Number of partitions

     – Large number of partitions may ease the design of individual partitions but they
        may also increase the cost of fabrication and the number of interconnections
        between the partitions

•   Area of each partition

                                 M. S. Ramaiah School of Advanced Studies                    8
Methods of partitioning


•   Constructive or iterative
     – Constructive algorithms determine a partitioning from the graph describing the
        circuit or system, whereas iterative methods aim at improving the quality of an
        existing partitioning solution



•   Deterministic or probabilistic
     – Deterministic programs generate the same solution each time they are started.
        Probabilistic methods result in differing solutions because they are based on
        random numbers




                                M. S. Ramaiah School of Advanced Studies                  9
Partitioning example I



      Input size: 48




Cut 1=4      Cut 2=4
Size 1=15    Size 2=16         Size 3=17




                           Figure 5. Partitioning example [2]
                           M. S. Ramaiah School of Advanced Studies   10
Partitioning example II


                                                                       A constructed
                                                                   partition using logic
  A partitioning                                                   cell C as a seed. It is
with five external                                                      difficult to
connections (nets                                                   get from this local
                                                                      minimum, with
  2, 4, 5, 6, and
                                                                      seven external
8)—the minimum                                                     connections (2, 3, 5,
     number.                                                            7, 9,11,12),




                       Figure 6. Partitioning example [2]
                        M. S. Ramaiah School of Advanced Studies                             11
Partitioning example III

                                                  7
7




6                                                 6




5                                                 4




       Figure 7. Partitioning example [2]
       M. S. Ramaiah School of Advanced Studies       12
Tool based partitioning

•   create_partition - Creates and manipulates partitions in a design through
    command-line specification, auto partitioning or manual GUI-based changes

                create_partition
                [-input_files files]
                [-reset overrides | partition | keepouts | all]
                [-auto_partition instance_count | area]
                [-area sub_block_area]
                [-internal_keepout keepout]
                [-external_keepout keepout]
                [-utilization block_utilization]
                [-aspect_ratio float]
                [-output_dir dir_name]
                [-create verilog_files | design | top_level_floorplan]
                [-verbose]
                [module_name_list]

      create_partition -input_files {myDesign.v} -utilization 0.85 –reset all
                 –aspect_ratio .7 -auto_partition instance_count

                            M. S. Ramaiah School of Advanced Studies            13
Tool based partitioning

•   optimize_netlist_hierarchy - Modifies the net-list tree structure in order to
    create physically partition-able hierarchy nodes in the top level such that the
    size of the nodes are well-balanced while minimizing the number of top level
    nets that need to connect to hierarchy block interface.

                optimize_netlist_hierarcy
                -netlist_files filelist
                -top topName
                [-opaque_modules modulelist]
                [-filename filename]
                [-max_partition_to_chip_ratio sizeRatio]
                [-keep_top_hier modulelist]
                [-hier_marker symbol]
                [-max_hier_mod_depth level]
                [-max_num_nodes count]

           optimize_netlist_hierarchy -netlist_files input.v -top MYTOP -
     max_partition_to_chip_ratio 0.3 -keep_top_hier {PDB08DGZ PDIANA2PC
          PDIDGZ} - max_num_nodes 500 -hier_marker / -output nlout


                            M. S. Ramaiah School of Advanced Studies                  14
Benefits of tool based partitioning


•   Identifies an optimal partitioning scheme
    for a given design, such that the blocks
    can be implemented independently

•   Ensures that the size of the partitions are
    balanced by either area or instance count

•   Minimizes the number of top-level nets
    connecting to one of more block I/O
    ports

•   Partitions the netlist without changing the
    functionality.




                               M. S. Ramaiah School of Advanced Studies   15
Summary


•   Partitioning divides a large circuit into a group of smaller sub circuits

•   These sub circuits can be designed independently and simultaneously to speed
    up the design process

•   In the tool based flow, constraints can be given to generate an efficient
    partitioned netlist




                             M. S. Ramaiah School of Advanced Studies              16
References


1. Arnab Sarkar (2008), ‘VLSI Physical Design Automation’ available from
    <http://conf05.iitkgp.ac.in/avlsi/logf/summercourse/2008/Physical_Design_A
    rnab.pdf> Retrieved on 01st Apr 2012

2. Michael John & Sebastian Smith (1997), ‘Application Specific Integrated
    Circuit’. Massachusetts: Addison-Wesley Publishing Company

3. Naveed Sherwani (1999) ‘Algorithms for Physical Design Automation’.
    Dordrecht: Kluwer Academic Publishers

4. Newton, Keutzer & Orshansky (2000) Partitioning of Physical Design,
    University of California, Berkeley, CA

5. Synopsys Inc. (2009), ‘IC Compiler Design Planning User Guide’.




                           M. S. Ramaiah School of Advanced Studies              17
Thank You




M. S. Ramaiah School of Advanced Studies   18
Remarks



Sl. No.              Topic                    Max. marks            Marks
                                                                   obtained
  1            Quality of slides                     5
  2            Clarity of subject                    5
  3              Presentation                        5
  4       Effort and question handling               5
                Total                               20




                        M. S. Ramaiah School of Advanced Studies              19

Contenu connexe

Tendances

fpga programming
fpga programmingfpga programming
fpga programming
Anish Gupta
 

Tendances (20)

Physical design
Physical design Physical design
Physical design
 
ASIC design Flow (Digital Design)
ASIC design Flow (Digital Design)ASIC design Flow (Digital Design)
ASIC design Flow (Digital Design)
 
ASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENTASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENT
 
floor planning
floor planningfloor planning
floor planning
 
BiCMOS Technology
BiCMOS TechnologyBiCMOS Technology
BiCMOS Technology
 
Altera flex
Altera flexAltera flex
Altera flex
 
VLSI Design Methodologies
VLSI Design MethodologiesVLSI Design Methodologies
VLSI Design Methodologies
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notes
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 
Low power VLSI design
Low power VLSI designLow power VLSI design
Low power VLSI design
 
SRAM
SRAMSRAM
SRAM
 
Low power vlsi design ppt
Low power vlsi design pptLow power vlsi design ppt
Low power vlsi design ppt
 
Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift KeyingPhase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
 
Placement and algorithm.
Placement and algorithm.Placement and algorithm.
Placement and algorithm.
 
fpga programming
fpga programmingfpga programming
fpga programming
 
Floor planning ppt
Floor planning pptFloor planning ppt
Floor planning ppt
 
Unit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA ArchitectureUnit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA Architecture
 
Eco
EcoEco
Eco
 
Diversity Techniques in Wireless Communication
Diversity Techniques in Wireless CommunicationDiversity Techniques in Wireless Communication
Diversity Techniques in Wireless Communication
 

En vedette

Partition problem IN VLSI algorithem automation
Partition problem IN VLSI algorithem automationPartition problem IN VLSI algorithem automation
Partition problem IN VLSI algorithem automation
Anil Kumar Sahu
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processors
Aiswaryadevi Jaganmohan
 
minimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routingminimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routing
Chandrajit Pal
 

En vedette (14)

Partition problem IN VLSI algorithem automation
Partition problem IN VLSI algorithem automationPartition problem IN VLSI algorithem automation
Partition problem IN VLSI algorithem automation
 
Understanding cts log_messages
Understanding cts log_messagesUnderstanding cts log_messages
Understanding cts log_messages
 
Kernighan lin
Kernighan linKernighan lin
Kernighan lin
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processors
 
THE VLSI INDUSTRY - An Overview of Market, Job Functions And Product Developm...
THE VLSI INDUSTRY - An Overview of Market, Job Functions And Product Developm...THE VLSI INDUSTRY - An Overview of Market, Job Functions And Product Developm...
THE VLSI INDUSTRY - An Overview of Market, Job Functions And Product Developm...
 
DPCM
DPCMDPCM
DPCM
 
Embedded System-design technology
Embedded System-design technologyEmbedded System-design technology
Embedded System-design technology
 
CAD: Floorplanning
CAD: Floorplanning CAD: Floorplanning
CAD: Floorplanning
 
THE CMOS VLSI DESIGN
THE CMOS VLSI DESIGNTHE CMOS VLSI DESIGN
THE CMOS VLSI DESIGN
 
minimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routingminimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routing
 
CAD: introduction to floorplanning
CAD:  introduction to floorplanningCAD:  introduction to floorplanning
CAD: introduction to floorplanning
 
Floorplanning in physical design
Floorplanning in physical designFloorplanning in physical design
Floorplanning in physical design
 
Mobile IP
Mobile IPMobile IP
Mobile IP
 
Low Power VLSI Design
Low Power VLSI DesignLow Power VLSI Design
Low Power VLSI Design
 

Similaire à System partitioning in VLSI and its considerations

Topograhical synthesis
Topograhical synthesis   Topograhical synthesis
Topograhical synthesis
Deiptii Das
 
Chapter1 introductiontoscalingnetworks
Chapter1 introductiontoscalingnetworksChapter1 introductiontoscalingnetworks
Chapter1 introductiontoscalingnetworks
josepholaguer
 
An octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passingAn octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passing
eSAT Journals
 

Similaire à System partitioning in VLSI and its considerations (20)

Topograhical synthesis
Topograhical synthesis   Topograhical synthesis
Topograhical synthesis
 
Adbms 23 distributed database design
Adbms 23 distributed database designAdbms 23 distributed database design
Adbms 23 distributed database design
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
 
2.pptx
2.pptx2.pptx
2.pptx
 
Chapter1 introductiontoscalingnetworks
Chapter1 introductiontoscalingnetworksChapter1 introductiontoscalingnetworks
Chapter1 introductiontoscalingnetworks
 
Chapter 5.pptx
Chapter 5.pptxChapter 5.pptx
Chapter 5.pptx
 
Chapter 1 introduction to scaling networks
Chapter 1   introduction to scaling networksChapter 1   introduction to scaling networks
Chapter 1 introduction to scaling networks
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
Unit 1
Unit 1Unit 1
Unit 1
 
Embedded C
Embedded CEmbedded C
Embedded C
 
An octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passingAn octa core processor with shared memory and message-passing
An octa core processor with shared memory and message-passing
 
Distributed Database Management System
Distributed Database Management SystemDistributed Database Management System
Distributed Database Management System
 
Design Hierarchy, Concepts of Regularity, Modularity and Locality
Design Hierarchy, Concepts of Regularity, Modularity and LocalityDesign Hierarchy, Concepts of Regularity, Modularity and Locality
Design Hierarchy, Concepts of Regularity, Modularity and Locality
 
Vlsi physical design (Back End Process)
Vlsi physical design (Back End Process)Vlsi physical design (Back End Process)
Vlsi physical design (Back End Process)
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
lecture25_fpga-conclude.ppt
lecture25_fpga-conclude.pptlecture25_fpga-conclude.ppt
lecture25_fpga-conclude.ppt
 
Decision Tree Clustering : A Columnstores Tuple Reconstruction
Decision Tree Clustering : A Columnstores Tuple ReconstructionDecision Tree Clustering : A Columnstores Tuple Reconstruction
Decision Tree Clustering : A Columnstores Tuple Reconstruction
 
Decision tree clustering a columnstores tuple reconstruction
Decision tree clustering  a columnstores tuple reconstructionDecision tree clustering  a columnstores tuple reconstruction
Decision tree clustering a columnstores tuple reconstruction
 
DDBMS
DDBMSDDBMS
DDBMS
 
DISTRIBUTED DATABASE WITH RECOVERY TECHNIQUES
DISTRIBUTED DATABASE WITH RECOVERY TECHNIQUESDISTRIBUTED DATABASE WITH RECOVERY TECHNIQUES
DISTRIBUTED DATABASE WITH RECOVERY TECHNIQUES
 

Plus de Subash John

Piezoelectric electric based energy harvesting
Piezoelectric electric based energy harvestingPiezoelectric electric based energy harvesting
Piezoelectric electric based energy harvesting
Subash John
 
Nano solar cells
Nano solar cellsNano solar cells
Nano solar cells
Subash John
 
Seminar on Cascode amplifier
Seminar on Cascode amplifierSeminar on Cascode amplifier
Seminar on Cascode amplifier
Subash John
 
Component & assembly issues in PCB design
Component & assembly issues in PCB designComponent & assembly issues in PCB design
Component & assembly issues in PCB design
Subash John
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancements
Subash John
 
Fault simulation – application and methods
Fault simulation – application and methodsFault simulation – application and methods
Fault simulation – application and methods
Subash John
 
Companies handling VLSI and ASIC design
Companies handling VLSI and ASIC designCompanies handling VLSI and ASIC design
Companies handling VLSI and ASIC design
Subash John
 
High k dielectrics
High k dielectricsHigh k dielectrics
High k dielectrics
Subash John
 
Fabrication units in India and outside
Fabrication units in India and outsideFabrication units in India and outside
Fabrication units in India and outside
Subash John
 

Plus de Subash John (10)

Piezoelectric electric based energy harvesting
Piezoelectric electric based energy harvestingPiezoelectric electric based energy harvesting
Piezoelectric electric based energy harvesting
 
Nano solar cells
Nano solar cellsNano solar cells
Nano solar cells
 
Seminar on Cascode amplifier
Seminar on Cascode amplifierSeminar on Cascode amplifier
Seminar on Cascode amplifier
 
Component & assembly issues in PCB design
Component & assembly issues in PCB designComponent & assembly issues in PCB design
Component & assembly issues in PCB design
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancements
 
Fault simulation – application and methods
Fault simulation – application and methodsFault simulation – application and methods
Fault simulation – application and methods
 
Companies handling VLSI and ASIC design
Companies handling VLSI and ASIC designCompanies handling VLSI and ASIC design
Companies handling VLSI and ASIC design
 
High k dielectrics
High k dielectricsHigh k dielectrics
High k dielectrics
 
Fabrication units in India and outside
Fabrication units in India and outsideFabrication units in India and outside
Fabrication units in India and outside
 
DDR2 SDRAM
DDR2 SDRAMDDR2 SDRAM
DDR2 SDRAM
 

Dernier

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Dernier (20)

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 

System partitioning in VLSI and its considerations

  • 1. System partitioning & its considerations Subash John CGB0911005 VSD 531 M.Sc. [Engg.] in VLSI System Design Module Title: IC planning & implementation Module Leader: Mr. Chandramohan P. M. S. Ramaiah School of Advanced Studies 1
  • 2. Contents • Introduction • Physical design flow • Need for partitioning • Rules of partitioning • Methods of partitioning • Tool based partitioning • Conclusion • References M. S. Ramaiah School of Advanced Studies 2
  • 3. Introduction • Decomposition of a complex system into smaller subsystems • Each subsystem can be designed independently speeding up the design process • Decomposition scheme has to minimize the interconnections between the subsystems • Decomposition is carried out hierarchically until each subsystem is of manageable size • This is done mainly to separate different functional blocks and also to make placement and routing easier Figure 1. Bad partitioning results in more delay [2] M. S. Ramaiah School of Advanced Studies 3
  • 4. Components of partitioning • Inputs – A set of components or modules – A netlist: In the form of weighted graph or hyper graph: nodes representing modules; edge or hyper edge representing a net • Outputs – A set of sub circuits that when connected, function as the original circuit – Terminals required for each sub circuit to be connected to other sub circuits Figure 2. (a) Network (b) Graph [2] M. S. Ramaiah School of Advanced Studies 4
  • 5. Physical design flow Partitioning Floor Planning Power planning Placement CTS Routing Figure 3. Physical flow [2] M. S. Ramaiah School of Advanced Studies 5
  • 6. Need for partitioning • Dividing a net list into clusters to minimize # of inter-cluster connections • Becomes more critical with VDSM • Influences the final quality of placement, global routing & detail routing • System size increases – Need to minimize design coupling • Interconnect dominates chip performance – Have to minimize number of block-to-block connections (e.g. global buses) • Helps reduce chip area – Minimizes length of global wires M. S. Ramaiah School of Advanced Studies 6
  • 7. Partitioning at different levels Partitioning System Board level Chip level level Figure 4. Levels of partitioning [3] M. S. Ramaiah School of Advanced Studies 7
  • 8. 5 Golden rules of partitioning • Interconnections between partitions – Reducing interconnections reduces the delay & interface between the partitions making it easier for independent design and fabrication • Delay due to partitioning – Partitioning of a circuit might cause a critical path to go in between partitions a number of times • Number of terminals – Number of nets required to connect a sub circuit to other sub circuits does not exceed the terminal count of the sub circuit. • Number of partitions – Large number of partitions may ease the design of individual partitions but they may also increase the cost of fabrication and the number of interconnections between the partitions • Area of each partition M. S. Ramaiah School of Advanced Studies 8
  • 9. Methods of partitioning • Constructive or iterative – Constructive algorithms determine a partitioning from the graph describing the circuit or system, whereas iterative methods aim at improving the quality of an existing partitioning solution • Deterministic or probabilistic – Deterministic programs generate the same solution each time they are started. Probabilistic methods result in differing solutions because they are based on random numbers M. S. Ramaiah School of Advanced Studies 9
  • 10. Partitioning example I Input size: 48 Cut 1=4 Cut 2=4 Size 1=15 Size 2=16 Size 3=17 Figure 5. Partitioning example [2] M. S. Ramaiah School of Advanced Studies 10
  • 11. Partitioning example II A constructed partition using logic A partitioning cell C as a seed. It is with five external difficult to connections (nets get from this local minimum, with 2, 4, 5, 6, and seven external 8)—the minimum connections (2, 3, 5, number. 7, 9,11,12), Figure 6. Partitioning example [2] M. S. Ramaiah School of Advanced Studies 11
  • 12. Partitioning example III 7 7 6 6 5 4 Figure 7. Partitioning example [2] M. S. Ramaiah School of Advanced Studies 12
  • 13. Tool based partitioning • create_partition - Creates and manipulates partitions in a design through command-line specification, auto partitioning or manual GUI-based changes create_partition [-input_files files] [-reset overrides | partition | keepouts | all] [-auto_partition instance_count | area] [-area sub_block_area] [-internal_keepout keepout] [-external_keepout keepout] [-utilization block_utilization] [-aspect_ratio float] [-output_dir dir_name] [-create verilog_files | design | top_level_floorplan] [-verbose] [module_name_list] create_partition -input_files {myDesign.v} -utilization 0.85 –reset all –aspect_ratio .7 -auto_partition instance_count M. S. Ramaiah School of Advanced Studies 13
  • 14. Tool based partitioning • optimize_netlist_hierarchy - Modifies the net-list tree structure in order to create physically partition-able hierarchy nodes in the top level such that the size of the nodes are well-balanced while minimizing the number of top level nets that need to connect to hierarchy block interface. optimize_netlist_hierarcy -netlist_files filelist -top topName [-opaque_modules modulelist] [-filename filename] [-max_partition_to_chip_ratio sizeRatio] [-keep_top_hier modulelist] [-hier_marker symbol] [-max_hier_mod_depth level] [-max_num_nodes count] optimize_netlist_hierarchy -netlist_files input.v -top MYTOP - max_partition_to_chip_ratio 0.3 -keep_top_hier {PDB08DGZ PDIANA2PC PDIDGZ} - max_num_nodes 500 -hier_marker / -output nlout M. S. Ramaiah School of Advanced Studies 14
  • 15. Benefits of tool based partitioning • Identifies an optimal partitioning scheme for a given design, such that the blocks can be implemented independently • Ensures that the size of the partitions are balanced by either area or instance count • Minimizes the number of top-level nets connecting to one of more block I/O ports • Partitions the netlist without changing the functionality. M. S. Ramaiah School of Advanced Studies 15
  • 16. Summary • Partitioning divides a large circuit into a group of smaller sub circuits • These sub circuits can be designed independently and simultaneously to speed up the design process • In the tool based flow, constraints can be given to generate an efficient partitioned netlist M. S. Ramaiah School of Advanced Studies 16
  • 17. References 1. Arnab Sarkar (2008), ‘VLSI Physical Design Automation’ available from <http://conf05.iitkgp.ac.in/avlsi/logf/summercourse/2008/Physical_Design_A rnab.pdf> Retrieved on 01st Apr 2012 2. Michael John & Sebastian Smith (1997), ‘Application Specific Integrated Circuit’. Massachusetts: Addison-Wesley Publishing Company 3. Naveed Sherwani (1999) ‘Algorithms for Physical Design Automation’. Dordrecht: Kluwer Academic Publishers 4. Newton, Keutzer & Orshansky (2000) Partitioning of Physical Design, University of California, Berkeley, CA 5. Synopsys Inc. (2009), ‘IC Compiler Design Planning User Guide’. M. S. Ramaiah School of Advanced Studies 17
  • 18. Thank You M. S. Ramaiah School of Advanced Studies 18
  • 19. Remarks Sl. No. Topic Max. marks Marks obtained 1 Quality of slides 5 2 Clarity of subject 5 3 Presentation 5 4 Effort and question handling 5 Total 20 M. S. Ramaiah School of Advanced Studies 19

Notes de l'éditeur

  1. Partitioning can be done in the RTL design phase when the design engineer partitions the entire design into sub-blocks and then proceeds to design each module. These modules are linked together in the main module called the TOP LEVEL module. This kind of partitioning is commonly referred to as Logical Partitioning.Efficient designing of any complex system necessitates decomposition of the same into a set of smaller subsystems. Subsequently, each subsystem can bedesigned independently and simultaneously to speed up the design process. The process of decomposition is called partitioning .Three broad parameters to be taken into consideration:1. The system must be decomposed carefully so that the original functionality of the system remains intact. 2. An interface specification is generated during the decomposition, which is used to connect all the subsystems. The system decomposition should ensure minimization of the interface interconnections between any two subsystems.3. Finally, the decomposition process should be simple and efficient so that the time required for the decomposition is a small fraction of the total design time.
  2. The greatest challenge in modern VLSI design is not in designing the individual transistors but rather in managing system complexity. Modern System-On-Chip (SOC) designs combine memories, processors, high speed I/O interfaces, and dedicated application-specific logic on a single chip. They use hundreds of millions (soon billions) of transistors. The implementation must be divided among large teams of engineers. If the implementation is too rigidly partitioned, each block can be optimized without regard to its neighbors, leading to poor system results.Conversely, if every task is interdependent with every other task, design will progress too slowly. Design managers face the challenge of choosing a suitable tradeoff between these extremes.
  3. The partitioning of a system into a group of PCBs is called the system level partitioning. The partitioning of a PCB into chips is called the board levelpartitioning while the partitioning of a chip into smaller sub circuits is called the chip level partitioning.
  4. 1.Interconnections between partitions: The number of interconnections at any level of partitioning have to be minimized. Reducing the interconnections not only reduces the delay but also reduces the interface between the partitions making it easier for independent design and fabrication.A large number of interconnections increase the design area as well as complicate the task of the placement and routing algorithms. Minimizationof the number of interconnections between partitions is called the mincut problem. The minimization of the cut is a very important objective function for partitioning algorithms for any level or any style of design.2. Delay due to partitioning: The partitioning of a circuit might cause a critical path to go in between partitions a number of times. As the delay between partitions is significantly larger than the delay within a partition, this is an important factor which has to be considered while partitioning high performance circuits. This is an objective function for partitioning algorithms for all levels of design.3. # of terminals: Partitioning algorithms at any level must partition the circuit so that the number of nets required to connect a subcircuit to other subcircuits does not exceed the terminal count of the subcircuit. In case of system level partitioning, this limit is decided by the maximum number of terminals available on a PCB connector which connects the PCB to the system bus. In case of board level partitioning, this limit is decided by the pin count of the package used for the chips. In case of chip level partitioning, the number of terminals of a subcircuit is determined by the perimeter of the area used by the subcircuit. At any level, the number of terminals for a partition is a constraint for the partitioning algorithm 4. Number of partitions: The number of partitions appears as a constraint in the partitioning problem at system level and board level partitioning.This prevents a system from having too many PCBs and a PCB from having too many chips. A large number of partitions may ease the design of individual partitions but they may also increase the cost of fabrication and the number of interconnections between the partitions. At the same time, if the number of partitions is small, the design of these partitions might still be too complex to be handled efficiently. At chip level, the number of partitions is determined, in part, by the capability of the placement algorithm. 5. Area of each partition: In case of system level partitioning, the area of each partition (board) is fixed and hence this factor appears as a constraint for the system level partitioning problem. In case of board level partitioning, although it is important to reduce the area of each partition (chip) to a minimum to reduce the cost of fabrication, there is also an upper bound on the area of a chip, Hence, in this case also, the area appears as a constraint for the partitioning problem. At chip level, the size of each partition is not so important as long as the partitions are balanced.
  5. -input_filesfilesSpecifies that a partition is to be created by using one or more Verilog files. The structure of the Verilog files does not matter. Each module mustbe defined only once. All unused modules will remain as independent top modules.-reset overrides | partition | keepouts | allResets some or all of the computed parameters in the partition. Possible choices are overrides, which resets any areas or utilization settings thatwere overridden; partition, which resets any partitioning choices that were made manually or through autopartitioning; keepouts, which resets anykeepouts that were set; or all, which does all of these things.-auto_partition instance_count | areaChooses autopartitioning as part of the partitioning for this object. You can choose instance_count, which balances partitions based on equalizing thenumber of instances in each partition, or you choose area, which balances partitions based on the size of the area.-physicalIndicates that the blocks in the module_name_list will be labelled as physical (and logical) blocks, labelling them as partitions. Note that thetop block in a design is by definition physical and logical. This option is mutually exclusive with the -logical option.-logicalIndicates that the blocks in the module_name_list will be labelled as logical-only blocks, labelling them as internal (logical) hierarchy. Notethat the top block in a design is by definition physical and logical. This option is mutually exclusive with the -physical option.-area sub_block_areaAllows you to set or to override the area for a given block within the hierarchy. This option should be used in a top-down design flow when one ormore (presumably large) blocks are missing, but their estimated area is known. This can result in more properly considering the missing blocksexpected contribution during area-based autopartitioning and during topdown, black-box shaping and floorplanning. There is no restriction on whetheror not the overridden block is a physical block. In some circumstances a block might already have a well-defined area but the designers are aware that a change is coming that will result in a different area. A designer can get a head start on refloorplanning the design by overriding the area on the current version of the block. Note that in this case, using this option will fail with an error message unless it is used with the -force-fP option.-internal_keepoutkeepoutSets an internal keepout on the given blocks. This keepout will be added to the area of the block. If that block is partitioned into a physical block,it will become larger by the internal keepout. The default internal keepout is 0.-external_keepoutkeepoutSets an external keepout on the given blocks. This keepout will be added to the the area of the block but it will not cause the partitioned physical blockto become larger. Note, however, that adding to the area of the block will cause the parents of this block to be larger. The default external keepout is 0.-utilization block_utilizationAllows you to specify the utilization on modules. There are two ways to do this. First, if used with the -input_files option, it will set a defaultutilization on all modules. Second, if used with a module_name_list, it will override the default utilization on the specified modules. The setutilization is used along with the leaf cell areas to compute the required area for the physical blocks. Note that in some cases you might need to usethe -force option to have this work.-aspect_ratiofloatAllows you to specify a target aspect ratio (height/width) for the chip to be created using the -create top_level_floorplan option. The default aspectratio is 1.