As briefly introduced, the specification for a given hierarchy level results from sizing the upper level. This is the initial specification or requirement specification. Usually, such a specification is not sufficient to completely define a cell, additional item are required. Some examples of additional items are:
So, for a the top-cell design specification, managing a separate document is usually the only solution. In this case, the design specification should contain only the added items that result from implementation. For the other cells, the design specification can be in the same document as the requirement specification. But it is important to keep record of which items come from requirement and which result from implementation. A suggested solution is adding an indication of origin in the design specification for each specification item.
Even in the case where the same designer manages two or more levels, it is a good practice to write the specifications.
A specification is a long list of items and parameters. In order to make it as clear as possible, a specification is organized by sections. For each item in a specification a good practice is to have an identifier and a status.
Basically, a specification contains six sections. These sections are listed in a particular order as they refer to each other.
Absolute maximum ratings define environment parameters not to be exceeded for the circuit to survive. Values between normal operating conditions and absolute maximum ratings can be used for short periods without significant effect on reliability but functionality is not guaranteed and performances are not specified. Using the circuit for long periods above the normal operating conditions may permanently affect functionality or performances.
Parameters to be specified in this section are:
Usually, absolute maximum ratings are defined by application or sometimes by particular regulations that apply for some applications. Most parameters in this section are global for a circuit. This is the case for temperature or supply voltage. Rarely, voltage on pins or ESD specification can be pin specific. This is the case if some pins are connected to long wires that go outside the product enclosure. Normally, such conditions are well identified at application level and they can appear in the circuit specification even though they relate to lower level cells. So, this section usually exists for a circuit but it is not necessary to have it for an internal cell. For internal cells a reference to the top cell specification is sufficient.
Normal operating conditions are environment parameters that allow permanent operation without performance change or loss of functionality. Electrical parameters are guaranteed only within the normal operating conditions.
Parameters to be specified in this section are:
Usually, operating conditions are defined by application. Just as for absolute maximum ratings, operating conditions are usually global for a circuit but some rare exceptions can exist. Again, for internal cells, referring to the top-cell operating conditions is sufficient.
A circuit can have more than one functional mode. A simple example is the power save mode in which the circuit is supplied normally but does not operate. Another example is a wireless transceiver that can operate in transmit or receive mode. When a circuit has several operating modes, the active functional blocks depend on the functional mode so the electrical parameters depend on the mode. There are no particular parameters to specify in this section which is mainly a list of modes with definitions. Functional modes are defined by:
Obviously, most functional modes are application defined. But some modes can be added so as to extend application range. As an example, a standby mode in which the circuit does not operate but reduces dramatically its power consumption can extend application to intermittent portable applications even if the primary application does not require this feature. Implementation often requires additional modes such as test modes or intermediate modes that are required to switch properly from a mode to another. Functional modes are defined for the entire circuit but they are implemented by each cell modes. For instance in an RF transceiver, the top cell modes can be TX and Rx while for lower level cells modes can be On and Off. All the blocks that are used in Tx have to be On in Tx, all blocks that are used in Rx have to be On in Rx. So, this section must exist for all the cells in a circuit. The number of modes in a cell define the number of bits required to control the mode.
This section lists functionality items. Usually, functions depend on functional modes, so this section is often organized by functional mode. Again, there are no particular parameters, this section is a list of lists. For the top-cell, functions are most of the time entirely defined by application. For lower level cells, some functions like bias cells are defined by implementation. So, this section must exist for all the cells in a circuit.
This section lists the circuit pins. For the top-cell, most of the pins are defined by application but some pins such as bypassing or test pins result from implementation. For lower level cells, some pins are application defined but most pins result from implementation. So, this section must exist for all the cells in a circuit.
Electrical parameters define basically voltages and currents and their combinations such as impedance or gain values. This section is organized by functions. As functions depend on modes, this section can be organized by modes and functions. Electrical parameters are grouped in tables. Each specification item has a status, a reference, a description, minimum, typical and maximum values, unit, and origin. Description has to define pins, characteristics and conditions. This section must exist for all the cells in a circuit.
Items in the specification fall in one of five statuses:
The first two statuses are directly related to the cell requirements. In other words, they come from the upper level. They define hard and soft design constraints.
The next two ones can be related to the requirement or to the implementation. In other words they can come either from the upper level either from the current level. They define design degrees of freedom.
The last one is mostly related to implementation but can also be a requirement. This status can only be transient. At some point, an item with this status must fall in one of the other four.
For every parameter he writes in the specification, the designer should wonder how this parameter will be checked during design validation and how this parameter will be guaranteed in production.In order to design efficiently, specification items should be ranked as they cannot be addressed simultaneously. Designer’s ranking is based on a mix of importance in the specification and difficulty to implement. Important items should be addressed before secondary ones, and difficult to meet items should be addressed before easy ones.Architecture choices, sizing and even design validation should be based on the ranked specification items. This is a good way to minimize rework.
As strange as it may seem, there are no specific tools for writing specifications. Specifications are mainly text files that can be created with word processing tools such as Word or Open Office.
As specifications contain many tables, spreadsheet tool can be used but they are less convenient for text sections.
The biggest issue with specifications is that they depend on each other through the circuit hierarchy and it is very difficult to keep them consistent through design and specification changes.
Another issue is revision control.
Writing a specification is a difficult exercise. Everything that can help is welcome. A formal specification review with other designers can highlight missing items. A checklist such as the following can also help, eventually before a review can take place. The following checklist is based on the proposed standard specification structure. It is not intended to replace an existing specification template but to indicate some items that are sometimes forgotten even though critical for the design.