Research Article  Open Access
Engineering Change Orders Design Using Multiple Variables Linear Programming for VLSI Design
Abstract
An engineering change orders design using multiple variable linear programming for VLSI design is presented in this paper. This approach addresses the main issues of resource between spare cells and target cells. We adopt linear programming technique to plan and balance the spare cells and target cells to meet the new specification according to logic transformation. The proposed method solves the related problem of resource for ECO problems and provides a well solution. The scheme shows new concept to manage the spare cells to meet possible target cells for ECO research.
1. Introduction
Engineering change orders (ECO) are important technologies used for changes in integrated circuit (IC) layout and compensate for design problems. Traditionally, when chip shows errors, it often requires new photomasks for all layers. However, photomasks of deepsubmicron semiconductor fabrication process are very expensive. In order to save money, ECO technology modifies only a few of the metal layers (metalmask ECO) to reduce the cost of photomasks for all layers [1].
To perform the ECO, IC designers adopt sprinkling many unused logic gates during IC design flow. When chip is manufactured and shows design errors, IC designers modify the gatelevel netlist using the presprinkling unused logic gates. At the same time, the designers track and verify the modification to check formal equivalence after ECO process. The designers must guarantee the revised design matching the revised specification.
How to achieve ECO efficiently? There are some literatures that address this problem and provide related solution. In literature [2], Tan and Jiang describe a typical metalonly ECO flow with four steps that include placement and spare cell distribution, logic difference extraction, metalonly ECO synthesis, and ECO routing [2]. Kuo et al. insert spare cells with constant insertion for engineering change and describe an iterative method to determine feasible mapping solutions for an EC problem [3]. Besides, in order to perform ECO efficiently, literature [4–9] adopt minimal change EC equations automatically. Brand proposed incremental synthesis method [4]. Huang presented a hybrid tool for automatic logic rectification [5]. Lin et al. addressed logic synthesis techniques for engineering change problems [6]. Shinsha et al. performed incremental logic synthesis through gate logic structure identification [7]. Swamy et al. achieved minimal logic resynthesis for engineering change [8]. Watanabe and Brayton presented another kind of incremental synthesis technique for engineering changes [9]. However, few researchers discuss the resource between spare cells and target cells. Therefore, in order to solve the problems, we adopt linear programming technique to plan and balance the spare cells and target cells in this paper. The proposed scheme meets the new specification according to logic transformation and overcomes the related problems of resource for ECO research.
This paper is organized as follows. In Section 2, we address typical ECO design flow. In Section 3, logic transformation is discussed. In Section 4, multiple variables linear programming for VLSI design is presented. In Section 5, we discuss the advantage and disadvantage of the related works. Finally, we conclude this paper in Section 6.
2. Typical ECO Design Flow
Before describing the proposed method, we address a typical manual ECO design flow in Figure 1. IC designers perform the change in register transfer level and verify fixed code matching the new specification at first. Then, old netlist is scanned to search the possible fix points. After the possible fix points are searched, IC designers modify the netlist and check the functionally equivalent between new netlist and new register transfer level [10–14].
Next, we describe twophase ECO design flow in Figure 2. To patch the logics of the modified circuit, we prepare available spare cell list. According to logic function, the modified circuit is mapped to specified logics. After patching logic, equivalent check and timing check are performed to make sure that the new function met the new specification.
However, there are some important problems that appear during patching logic. Are there enough spare cells and types to satisfy the consumption of patch logic? How to estimate the quantity and logic types of ECO procedure? In order to solve this problem, we proposed an engineering change orders design using multiple variables linear programming for VLSI design in this paper.
3. Logic Transformation
Before discussing the engineering change orders design using multiple variables linear programming, we addressed ECO logic transformation. Figure 3 describes an ECO problem with an equation out = . Figure 3(b) lists the available spare cells. According to the list, we discover the available spare cells are not enough. In order to solve the problem, we adopt another mapping solution with an equation out = instead of the original equation in Figure 3(c). It requires one AND and one INV gate. The mapping solution in Figure 3(c) requires gates fewer than the available spare cells and is constructed with the available spare cells.
(a)
(b)
(c)
However, most of spare cells only provide basic logical functions that include AND, OR, NOT, NAND, and NOR. Half Adder (HA), Full Adder (FA), AndOrInverter (AOI), and OrAndInverter (OAI) can provide complex logical functions. We can adopt these logical cells to perform ECO function. For example, AOI22 can be implemented by two NAND and one AND cells in Figure 4. According to the existing resources of spare cells, we can resynthesize the changed function lists.
(a)
(b)
4. Multiple Variables Linear Programming for VLSI Design
Although logic transformation skill makes the ECO technology come true, a chip often does not own enough spare cells to modify the function to meet a new specification. How to allocate limited resource? We should estimate quantity of spare cells and logic transformation rule to perform optimal engineering charge orders.
In Figure 5, it describes the engineering change orders design using multiple variables linear programming for VLSI design and relation of logic transformation. “Logic ” is one kind of spare cells that can be transformed into “Logic ” or “Logic .” Similarly, “Logic ” can be transformed into “Logic ,” “Logic ,” or “Logic .” “Logic ” performs ECO function instead of “Logic ” or “Logic .” Besides, Logic is transformed into “Logic ” or “Logic .” Equivalently, “Logic ” is transformed to “Logic ” or “Logic ” to achieve ECO function.
We assume , and are the number of spare cells, Logic , Logic , Logic , Logic , and Logic . Let , and be the desired number of target cells, Logic , Logic , Logic , Logic , and Logic .
Besides, is the number of spare cells (Logic ) to be transformed into Logic and is the number of spare cells (Logic ) to be transformed into Logic . Similarly, , and are the number of spare cells (Logic ) to be transformed into Logic , Logic , and Logic . In a similar way, and are the number of spare cells (Logic ) to be transformed into Logic and Logic , and are the number of spare cells (Logic ) to be transformed into Logic and Logic , and and are the number of spare cells (Logic ) to be transformed into Logic and Logic .
Therefore, the restriction rule of the number of spare cells and transformed target cells in Figure 5 is written as follows:
Besides, the restriction rule of the engineering change orders design using multiple variables linear programming in Figure 5 is written as follows:
However, spare cells are not often enough; designer should balance the spare cell allocation to meet all requirements of desirable cells.
We assume one case when . In order to provide enough spare cells, we should increase the number of to achieve .
Similarly, when , we should increase number to meet .
Therefore, we define another restriction rule of the engineering change orders design which is written as follows:
According to formulas (2) and (7), we can balance the number of , , and to achieve the target number . Consider the following:
In a similar way, we define the restriction rule of the engineering change orders design which is written as follows:
According to formulas (4) and (9), we can balance the number of , and to achieve the target number . Consider
We model the engineering change orders problems using multiple variables linear programming. According to the functions, we can understand the engineering change orders relation between supply and requirement. Then, designer can estimate and perform ECO using spare cell efficiently.
5. Discussion
In this Section, we discuss the advantage and disadvantage of the related works. Table 1 shows ECO method comparison. The proposed approach designs a multiple variable linear programming ECO for VLSI design. Our method can predict cell resource accurately using multiple variable linear programming techniques. Traditional ECO is not to predict it well. Besides, our scheme provides a high accurate prediction of patching logic number to balance between spare cells and target cells. It is hard for traditional ECO method to do these. Moreover, we define restriction rule, resource optimization, and solution boundary of ECO problem to increase the efficiency of the proposed ECO method and provide a well solution.

6. Conclusion
In this paper, we proposed an engineering change orders design using multiple variables linear programming for VLSI design. The paper discusses typical ECO design flow, logic transformation, and multiple variables linear programming for VLSI design. The presented scheme estimates the resource of spare cells and provides a well solution of ECO problems.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This work was supported by the National Science Council of Taiwan under Grant nos. NSC 1012221E027135MY2 and 1022622E027008CC3. The authors gratefully acknowledge the Chip Implementation Center (CIC), for supplying the technology models used in IC design.
References
 J. A. Roy and I. L. Markov, “ECOsystem: embracing the change in placement,” IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, vol. 26, no. 12, pp. 2173–2185, 2007. View at: Publisher Site  Google Scholar
 C. Tan and I. H. Jiang, “Recent research development in metalonly ECO,” in Proceedings of the 54th IEEE International Midwest Symposium on Circuits and Systems (MWSCAS '11), pp. 1–4, August 2011. View at: Publisher Site  Google Scholar
 Y. M. Kuo, Y. T. Chang, S. C. Chang, and M. MarekSadowska, “Spare cells with constant insertion for engineering change,” IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, vol. 28, no. 3, pp. 456–460, 2009. View at: Google Scholar
 D. Brand, A. Drumm, S. Kundu, and P. Narain, “Incremental synthesis,” in Proceedings of the IEEE/ACM International Conference on ComputerAided Design, pp. 14–18, 1994. View at: Google Scholar
 S. Huang, K. Chen, and K. Cheng, “AutoFix: A hybrid tool for automatic logic rectification,” IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, vol. 18, no. 9, pp. 1376–1384, 1999. View at: Publisher Site  Google Scholar
 C. Lin, K. Chen, and M. MarekSadowska, “Logic synthesis for engineering change,” IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, vol. 18, no. 23, pp. 282–292, 1999. View at: Google Scholar
 T. Shinsha, T. Kubo, Y. Sakataya, J. Koshishita, and K. Ishihara, “Incremental logic synthesis through gate logic structure identification,” in Proceedings of the IEEE/ACM Conference on Design Automation, pp. 391–397, Jun 1986. View at: Google Scholar
 G. Swamy, S. Rajamani, C. Lennard, and R. K. Brayton, “Minimal logic resynthesis for engineering change,” in Proceedings of the IEEE International Symposium on Circuits and Systems, pp. 1596–1599, 1997. View at: Google Scholar
 Y. Watanabe and R. K. Brayton, “Incremental synthesis for engineering changes,” in Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers and Processors (ICCD '91), pp. 40–43, Cambridge, Mass, USA, October 1991. View at: Publisher Site  Google Scholar
 J. Wang, Finding the Minimal Logic Difference for Functional ECO, Taiwan Cadence Design Systems, 2012.
 Y. C. Fan and H. W. Tsao, “Watermarking for intellectual property protection,” IEE Electronics Letters, vol. 39, no. 18, pp. 1316–1318, 2003. View at: Publisher Site  Google Scholar
 Y. Fan and H. Tsao, “Boundary scan test scheme for IP core identification via watermarking,” IEICE Transactions on Information and Systems, vol. E88D, no. 7, pp. 1397–1400, 2005. View at: Publisher Site  Google Scholar
 Y. Fan, “Testingbased watermarking techniques for intellectualproperty identification in SOC design,” IEEE Transactions on Instrumentation and Measurement, vol. 57, no. 3, pp. 467–479, 2008. View at: Publisher Site  Google Scholar
 Y. Fan and Y. Chiang, “Discrete wavelet transform on color picture interpolation of digital still camera,” VLSI Design, vol. 2013, Article ID 738057, 9 pages, 2013. View at: Publisher Site  Google Scholar  MathSciNet
Copyright
Copyright © 2014 YuCheng Fan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.