This application claims priority to Indian patent application no. 5331/CHE/2015 filed on Oct. 5, 2015, the complete disclosure of which, in its entirely, is herein incorporated by reference.
Technical Field
The embodiments herein generally relate to the field of electronic design, automation tool, and more particularly the embodiments relate to a system and a method for area aware schematic design based on analysis of area of each component.
Description of the Related Art
Nowadays, design and manufacturing of electronic circuits, includes a schematic netlist and a layout closure. In this approach, a schematic designer first creates the schematic circuit using a design tool. Once the schematic circuit is designed and verified, then a layout is designed. Area taken up by each component is apparent to the schematic designer only after placement of various components in the layout. Once placement is done, if the schematic designer observes that certain components occupy more area than his estimate, the schematic designer goes back and changes the schematic circuit. Then the verification of the design is done followed by the placement of components in the layout for the new design. This process is carried out iteratively until all the components in the design occupy an optimum area.
Accordingly, there remains a need for a system to analyse an area of a component in a schematic circuit in efficient way and to modify a design of the schematic circuit for better utilization.
In view of a foregoing, an embodiment herein provides an area aware schematic design system is provided. The area aware schematic design system analyses an area of one or more components in a schematic circuit using scripting tools to generate an optimised component placement layout design for designing the schematic circuit. The area aware schematic design system includes (a) a memory unit, and (b) a processor. The memory unit stores a database, and a set of modules. The processor executes the set of modules. The set of modules includes a schematic circuit design module, a component area parameter module, a component information updation module, a circuit design optimisation module, a component placement layout module, and a layout closure module. The schematic circuit design module designs the schematic circuit including one or more of components to be compatible with circuit specifications of the one or more of components based on a first set of component information that includes a first width of the one or more of components, first length of the one or more of components, at least one finger of the one or more of components, and at least one multiplier of the one or more of components. The component area parameter module calculates an area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components.
The component information updation module obtains a second set of component information including a second length of the one or more of components, a second width of the one or more of components, at least one finger of the one or more of components, and at least one multiplier of the one or more of components. The second set of component information is optimised for area based on area parameters including the area of the (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components. The circuit design optimisation module designs and optimises the schematic circuit design based on the second set component information that is optimised for area based on the area parameters. The component placement layout module generates an optimised component placement layout design based on the second set of component information that is optimised for area based on the area parameters. The layout closure module delivers the optimised component placement layout design as a final output for generating an optimized circuit.
In one embodiment, the area aware schematic design system further includes a schematic netlist analysing module. The schematic netlist analysing module performs a schematic netlist analysis on the schematic circuit to compute an area for each of the one or more of components in the schematic circuit. The schematic netlist analysing module includes a schematic netlist exporting module, a schematic netlist parse module, a component information based report generating module, a graphical chart generating module. The schematic netlist exporting module exports a schematic netlist from the schematic circuit. The schematic netlist parse module parses the schematic netlist to obtain the component information associated with the one or more of components. The component information based report generating module (a) processes the component information associated with the one or more of components to (i) calculates an area for each of the one or more components, (ii) calculates an area for each of the one or more components type and (iii) calculates an area for each of the one or more components group, and (b) generates an area report based on the area of the one or more of components. The graphical chart generating module generates a graphical chart based on the area report using the scripting tools.
In one embodiment, the schematic circuit design module modifies the schematic circuit based on the optimised schematic circuit design. In another embodiment, the second set of component information is obtained based on an iterative process of optimising for area based on the area parameters. In yet another embodiment, the component area parameter module displays the first area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components. In yet another embodiment, the component information updation module displays the second area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components.
In yet another embodiment, the area aware schematic design system further includes a component area parameter verification module. The component area parameter verification module performs a verification whether the first set of area parameters meet a pre-defined condition in the first set of component information. The component information updation module determines the second set of component information based on a result of the verification. In one embodiment, the second set of component information is generated by reducing at least one of the area by component, the area by component type, the area by component group for at least one of lower priority comp type or group.
In one aspect, an area aware schematic design system is provided. The area aware schematic design system analyses an area of a one or more of components in a schematic circuit using scripting tools to generate an optimised component placement layout design for designing the schematic circuit. The area aware schematic design system includes (a) a memory unit, and (b) a processor. The memory unit stores (i) a database, and set of modules. The processor executes the set of modules. The set of modules includes a schematic circuit design module, a schematic netlist analysing module, a component area parameter module, a component information updation module, a circuit design optimisation module, a component placement layout module, a layout closure module, and a component area parameter verification module. The schematic circuit design module designs the schematic circuit including the one or more of components to be compatible with circuit specifications of the one or more of components based on a first set of component information that includes a first width of the one or more of components, first length of the one or more of components, at least one finger of the one or more of components, and at least one multiplier of the one or more of components. The schematic circuit design module modifies the schematic circuit based on the optimised schematic circuit design.
The schematic netlist analysing module performs a schematic netlist analysis on the schematic circuit to compute an area for each of the one or more of components in the schematic circuit. The schematic netlist analysing module includes a schematic netlist exporting module, a schematic netlist parse module, a component information based report generating module, and a graphical chart generating module. The schematic netlist exporting module exports a schematic netlist from the schematic circuit. The schematic netlist parse module parses the schematic netlist to obtain the component information associated with the one or more of components. The component information based report generating module (a) to (i) calculate an area for each of the one or more components, (ii) calculates an area for each of the one or more components type and (iii) calculates an area for each of the one or more components group, and (b) generates an area report based on the area of the one or more of components. The graphical chart generating module generates a graphical chart based on the area report using the scripting tools. The component area parameter module calculates an area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components. The component area parameter module displays the first area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components.
The component information updation module obtains a second set of component information including a second length of the one or more of components, a second width of the one or more of components, at least one finger of the one or more of components, and at least one multiplier of the one or more of components. The second set of component information is optimised for area based on area parameters including the area of the (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components. The second set of component information is obtained based on an iterative process of optimising for area based on the area parameters. The component information updation module displays the second area of (a) at least one component of the one or more of components, (b) at least one component type of the one or more of components, and (c) at least one group of components of the one or more of components.
The second set of component information is generated by reducing at least one of the area by component, the area by component type, the area by component group for at least one of lower priority comp type or group. The circuit design optimisation module modifies a design of the one or more of components to obtain an optimised schematic circuit design when the area of the one or more components are higher than a pre-determined area of the one or more of components. The component placement layout module generates an optimised component placement layout design based on the second set of component information that is optimised for area based on the area parameters. The layout closure module delivers the optimised component placement layout design as a final output for generating an optimized circuit. The component area parameter verification module performs a verification whether the first set of area parameters meet a pre-defined condition in the first set of component information. The component information updation module determines the second set of component information based on a result of the verification.
In one embodiment, the scripting tools includes a custom dropdown menu. The custom dropdown menu includes an area analysis by name sub-menu, an area analysis by type sub-menu, an area analysis by group sub-menu, and a layout area estimate sub-menu. The area analysis by name sub-menu is configured to generate the graphical chart based on a name of the one or more of components. The graphical chart displays an area occupied by the one or more of components along with the name of the one or more of components. The area analysis by type sub-menu is configured to generate the graphical chart based on a type of the one or more of components. The graphical chart displays an area occupied by the type of the one or more of components. The area analysis by group sub-menu is configured to generate the graphical chart based on a group of the one or more of components. The graphical chart displays an area occupied by the group of the one or more of components. The layout area estimate sub-menu is configured to generate the graphical chart based on an estimate of area utilization of the one or more of components post designing the schematic circuit.
In another embodiment, the second set of component information is determined based on a percentage of an area occupied by a component, which is calculated by dividing the area of the component with a total area of the schematic circuit. In yet another embodiment, the area of the one or more of components is calculated by multiplying (a) width of the one or more of components, (b) length of the one or more of components, (c) finger of the one or more of components, and (d) multiplier of the one or more of components.
In another aspect, a method for analysing an area of one or more of components in a schematic circuit using scripting tools to generate an optimised component placement layout design for designing the schematic circuit. The method including the step of: (a) designing, using a schematic circuit design module, the schematic circuit including the one or more of components to be compatible with circuit specifications of the one or more of components. The one or more of components includes component information that includes width of the one or more of components, length of the one or more of components, finger of the one or more of components, and multiplier of the one or more of components; (b) analysing, using a schematic netlist analysing module (204), the schematic circuit to compute the area for each of the one or more of components in the schematic circuit; The analyzing includes the step of: (i) exporting a schematic netlist from the schematic circuit; (ii) parsing the schematic netlist to obtain the component information associated with the one or more of components; (iii) processing the component information associated with the one or more of components to calculate an area of the one or more of components; (iv) modifying, using a circuit design optimisation module, a design of the one or more of components to obtain an optimised schematic circuit design when the area of the one or more of components are higher than a pre-determined area of the one or more components; (c) generating, using a component placement layout module, an optimised component placement layout design based on the optimised schematic circuit design; and (d) delivering, using a layout closure module, the optimised component placement layout design for designing the schematic circuit.
In one embodiment, the method further includes the step of: (e) generating an area report based on the area of the one or more of components; and (f) generating a graphical chart based on the area report using the scripting tools.
These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
The embodiments herein will be better understood from the following detailed descriptions with reference to the drawings, where:
The embodiments herein and the various features and advantageous details are explained more with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and details in the following description. Descriptions of well-known components and processing techniques are omitted so as they unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed for limiting the scope of the embodiments herein.
Various embodiments disclosed herein provide an area aware schematic design system that analyses an area of one or more components in a schematic circuit using scripting tools to generate an optimised component placement layout design for designing the schematic circuit. Referring to the drawings particularly to
Area utilized by the one or more component in a layout of a schematic circuit varies from area in the schematic circuit on the following three factors, i) DRCs (Design Rule checks) specified by foundries between different types of Metal Oxide Semiconductor (MOS) cells, ii) Capacitance/resistance specification for routings based on a design of the schematic circuit, iii) electro migration rules for routings to meet current specification. By comparing the area of the schematic circuit and area utilized by the one or more component in the layout of the completed blocks, a utilization factor can be obtained. Estimated layout area=area of schematic circuit×utilization factor.
Given limiting values for phase margin, bandwidth, noise, phase margins for common mode feedback loops and IM3 for a typical two-stage op amp, it is required to come up with suitable dimensions for MOSFETs, capacitors and resistors that make up the operational amplifier.
Procedure: In order to solve the above design problem, an ECL program is written with the aforementioned dimensions being swept over fixed ranges with suitable steps. A coarse run is carried out to find approximate values for these dimensions depending on input specifications, ie. given input specifications, find those dimensions that meet these in typical corner. This coarse run function outputs all sets of suitable dimensions to the function running the finer run.
The limits for sweeps in the fine run are set based on outputs from the coarse run. The steps in the fine run are smaller than those in the former. In each case, phase margin, bandwidth and other required properties are calculated in the typical corners and compared with input specifications. If all input specifications are satisfied, simulations are run for different corners. If the specifications are met in all process corners, a log of the set of dimensions is created. This log is updated with every sweep of dimensions.
Once the sweeps are completed, optimization is done on the total area and power drawn from input. Among those sets that satisfy given specifications (in all process corners), those sets of dimensions which consume power lower than a fixed amount are considered. Further, among these, that set with least total area is chosen.
Thus, given certain specifications for the operational amplifier, a program is written to output suitable dimensions of circuit elements that correspond to least area. This solves a design problem.
For the two-stage fully differential op amp used, parameters that are swept are: (i) Width of first stage input pair (w1), (ii) Width of first stage load pair (w1 p), (iii) Width of second stage input pair (w2), (iv) Width of second stage load pair (w2n), (v) Multiplier for number of fingers in second stage input pair (m), thus sweeping second stage current, (vi) Number of horizontal fingers in capacitor (second stage) (nh), (vii) Number of vertical fingers in capacitor (second stage) (nv), (viii) Length of resistor (second stage) (lr). The specifications for the required properties are obtained by running simulations for the given op amp in all process corners.
Result: The program gives as result those dimensions which correspond to power lower than the original operational amplifier, in addition to optimizing on the area. In the specific case considered, a 6.77% improvement in total area and 10.40% improvement in the power consumed are achieved.
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can by applying current knowledge readily modify and/or adapt for various applications. Such specific embodiments without departing from the generic concept and therefore such adaptations and modifications should intend to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modifications within the spirit and scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
5331/CHE/2015 | Oct 2015 | IN | national |