Difference between revisions of "Design Partitioning"

From EUDP
Jump to: navigation, search
(What)
(How)
Line 6: Line 6:
 
'''Ingredients'''
 
'''Ingredients'''
  
* One or more drafts of the [[blockdiagram]] of you system-to-be  
+
* One or more drafts of the [[blockdiagram]] of your system-to-be  
 
* System requirements and design constraints
 
* System requirements and design constraints
  
Line 15: Line 15:
 
A good starting point for performing partitioning would be to take a look at the block diagram.
 
A good starting point for performing partitioning would be to take a look at the block diagram.
  
The correct block diagram, represents all the functional blocks in your design, each fulfilling a part of the systems functionality.
+
A correct block diagram represents all the functional blocks in your design, each fulfilling a part of the systems functionality.
 
The obvious advantage of splitting functionality into small manageable blocks is: '''simplicity'''.
 
The obvious advantage of splitting functionality into small manageable blocks is: '''simplicity'''.
  
Small blocks are '''much''' easier to constrain, to implement and verify, and to reuse in future projects.
+
Small blocks are '''much''' easier to constrain, to implement and verify and to reuse in future projects.
  
 
With an overview of the blocks in the diagram, now take a look at the system constraints.
 
With an overview of the blocks in the diagram, now take a look at the system constraints.
  
The difference between '''requirements''' and '''constraints''' can be identified as follows
+
The difference between '''requirements''' and '''constraints''' can be identified as follows:
 
* Requirements are used for design and verification of all blocks in a design.
 
* Requirements are used for design and verification of all blocks in a design.
 
* Constraints defines overall behaviour and guidelines for the system-to-be to conform to.
 
* Constraints defines overall behaviour and guidelines for the system-to-be to conform to.

Revision as of 10:10, 23 September 2015

What

Assigning responsibility and functionality to blocks and components within the entire system, thus resulting in updated block and component diagrams.

How

Ingredients

  • One or more drafts of the blockdiagram of your system-to-be
  • System requirements and design constraints

Process

The process of partitioning a design can have multiple approaches, depending on the prerequisites.

A good starting point for performing partitioning would be to take a look at the block diagram.

A correct block diagram represents all the functional blocks in your design, each fulfilling a part of the systems functionality. The obvious advantage of splitting functionality into small manageable blocks is: simplicity.

Small blocks are much easier to constrain, to implement and verify and to reuse in future projects.

With an overview of the blocks in the diagram, now take a look at the system constraints.

The difference between requirements and constraints can be identified as follows:

  • Requirements are used for design and verification of all blocks in a design.
  • Constraints defines overall behaviour and guidelines for the system-to-be to conform to.

Why

Design Partitioning is an essential part of the System architecture.

Modeling the system architecture is an activity composed of :

  • modeling the blockdiagram,
  • partitioning the design
  • assessing the designs constraints

After performing partitioning (probably more than one try), it should end up with the final blueprint for the design, aka. The System Architechture

Example

The constraints can have a diverse nature, examples could be:

  • The device must have a maximum production price of 3$
  • The lifetime of the device must be a minimum 25 Years
  • The device must be field-upgradable, without disassembly.
  • The device must be build around an NXP lpc2478 ARM7 CPU.
  • The device must be able to accommodate future feature add-ons.

A production price of 3$ implies certain restrictions on the selection of components, from which to build the platform from. I.e it would probably be necessary to select a low cost, targeted microcontroller that matches the immediate needs, instead of reusing the large microcontroller platform already known.

A lifetime of 25 years implies selecting hardware with great care, paying special attention to temperature ratings, lifetime, de-rating usage parameters, etc.

Field-upgradability leads to design with network connectability.