Claims
- 1. A semiconductor device comprising an array of logic cells and programmable metal, at least some of the logic cells comprising:
at least one prewired gate structure selected from a group consisting of a NAND, a multiplexer, a FLOP, an inverter, an XOR, a NOR, and a look-up table, the at least one gate structure having been fabricated in a first process geometry; wherein a plurality of input/outputs of the at least one gate structure have been routed in at least two layers of the programmable metal fabricated in a second process geometry.
- 2. The semiconductor device of claim 1 wherein the first process geometry is smaller than the second process geometry.
- 3. The semiconductor device of claim 2 wherein the first process geometry corresponds to a 0.18-micron process and the second process geometry corresponds to a 0.25-micron process.
- 4. The semiconductor device of claim 1 wherein at least some of the logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 5. The semiconductor device of claim 2 wherein at least some of the logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 6. The semiconductor device of claim 3 wherein at least some of the logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 7. The semiconductor device of claim 4 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 8. The semiconductor device of claim 5 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 9. The semiconductor device of claim 6 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 10. A semiconductor device comprising an array of logic cells, the semiconductor device further comprising:
a plurality of input/output tracks, at least one input/output track corresponding to an input for a gate structure in a logic cell of the array of logic cells; and at least one selectable, in-line inverter disposed to share the at least one input/output track of the plurality of input/output tracks; wherein each at least one selectable, in-line inverter has been selectively placed in series with the input for the gate structure sharing the input/output track based on programmable via connections.
- 11. The semiconductor device of claim 10 wherein at least some of the logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 12. The semiconductor device of claim 10 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 13. The semiconductor device of claim 11 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 14. A method of reducing the number of inverters used in a final semiconductor device design, the method comprising:
reading a gate-level description of a logic-level design for a semiconductor device; converting the gate-level description to an initial semiconductor device design by converting gates in the gate-level description to available logic cell gates; pushing inverters through a netlist of the initial semiconductor device design until each inverter arrives at an elimination point, wherein at least some elimination points are selectable, in-line inverters; and toggling each selectable, in-line inverter.
- 15. The method of claim 14 wherein at least some elimination points are select lines for multiplexers, and further comprising swapping inputs of the multiplexers.
- 16. The method of claim 14 wherein at least some elimination points are inputs for multiplexers, and further comprising toggling a selectable in-line inverter on another input.
- 17. The method of claim 15 wherein at least some elimination points are inputs for multiplexers, and further comprising toggling a selectable in-line inverter on another input.
- 18. A computer program product including computer program code for reducing the number of inverters used in a final semiconductor device design, the computer program code further comprising:
instructions for reading a gate-level description of a logic-level design for a semiconductor device; instructions for converting the gate-level description to an initial semiconductor device design by converting gates in the gate-level description to available logic cell gates; instructions for pushing inverters through a netlist of the initial semiconductor device design until each inverter arrives at an elimination point, wherein at least some elimination points correspond to selectable, in-line inverters; and instructions for toggling each selectable, in-line inverter.
- 18. The computer program product of claim 18 wherein at least some elimination points are select lines for multiplexers, and wherein the computer program code further comprises instructions for swapping inputs of the multiplexers.
- 19. The computer program product of claim 18 wherein at least some elimination points are inputs for multiplexers, and wherein the computer program code further comprises instructions for toggling a selectable in-line inverter on another input.
- 20. The computer program product of claim 19 wherein at least some elimination points are inputs for multiplexers, and wherein the computer program code further comprises instructions for toggling a selectable in-line inverter on another input.
- 22. Apparatus for reducing the number of inverters used in a final semiconductor device design, the apparatus comprising:
means for reading a gate-level description of a logic-level design for a semiconductor device; means for converting the gate-level description to an initial semiconductor device design by converting gates in the gate-level description to available logic cell gates; means for pushing inverters through a netlist of the initial semiconductor device design until each inverter arrives at an elimination point, wherein at least some elimination points correspond to selectable, in-line inverters; and means for toggling each selectable, in-line inverter.
- 23. The apparatus of claim 22 wherein at least some elimination points are select lines for multiplexers, and further comprising means for swapping inputs of the multiplexers.
- 24. The apparatus of claim 22 wherein at least some elimination points are inputs for multiplexers, and further comprising means for toggling a selectable in-line inverter on another input.
- 25. The apparatus of claim 23 wherein at least some elimination points are inputs for multiplexers, and further comprising means for toggling a selectable in-line inverter on another input.
- 26. A logic array comprising an array of logic cells, the logic array further comprising:
a scan chain embedded in at least some of the logic cells so as to use substantially no programmable metal; and an embedded clock line common to a plurality of FLOP's in a plurality of logic cells, the plurality of FLOP's forming at least a part of the scan chain, the clock line terminated in a clock cell so that the clock cell and the plurality of logic cells form a clock group.
- 27. The logic array of claim 26 further comprising an embedded reset line common to the plurality of FLOP's and terminated in the clock cell.
- 28. The logic array of claim 27 wherein the clock cell further comprises test logic connected to the embedded clock line and the embedded reset line.
- 29. The logic array of claim 28 wherein the test logic further comprises:
test and user clock terminals; test and user reset terminals; a test mode terminal; a first multiplexer connected to the test and user clock terminals, the test mode terminal, and the embedded clock line; and a second multiplexer connected to the test and user reset terminals, the test mode terminal, and the embedded reset line.
- 30. The logic array of claim 26 wherein at least some of the plurality of logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 31. The logic array of claim 28 wherein at least some of the plurality of logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 32. The logic array of claim 28 wherein at least some of the plurality of logic cells further comprise random access memory connected to common select and read/write lines.
- 33. The logic array of claim 30 wherein at least some of the plurality of logic cells further comprise random access memory connected to common select and read/write lines.
- 34. The logic array of claim 31 wherein at least some of the plurality of logic cells further comprise random access memory connected to common select and read/write lines.
- 35. A method of testing logic cells in a logic array, the method comprising:
selecting a test mode at a clock cell for a clock group to enable at least a test clock terminal and a test reset terminal; applying test data to the test clock terminal and the test reset terminal to be communicated to an embedded clock line and an embedded reset line, respectively, for a scan chain in the clock group; and reading result data from at least one output terminal of the logic cells.
- 36. The method of claim 35 wherein the test data is generated by an automatic test pattern generation program.
- 37. Apparatus for testing logic cells in a logic array, the apparatus comprising:
means for selecting a test mode at a clock cell for a clock group to enable at least a test clock terminal and a test reset terminal; and means for applying test data to the test clock terminal and the test reset terminal to be communicated to an embedded clock line and an embedded reset line, respectively, for the clock group.
- 38. The apparatus of claim 37 wherein the means for applying test data further comprises:
a first multiplexer connected to the test clock terminal, a user clock terminal, and the embedded clock line; and a second multiplexer connected to the test reset terminal, a user reset terminal, and the embedded reset line.
- 39. The apparatus of claim 38 wherein the means for selecting comprises a test mode terminal connected to the first multiplexer and the second multiplexer.
- 40. A semiconductor device comprising an array of logic cells and programmable metal adjacent to the array of logic cells, the semiconductor device further comprising:
a power trace within the programmable metal traversing at least one cell of the array of logic cells; and a programmable connection between the power trace and the at least one cell wherein power has been selectively connected to gate structures within the at least one cell.
- 41. The semiconductor device of claim 40 wherein the programmable connection is a via.
- 42. The semiconductor device of claim 40 wherein the plurality of gate structures further comprises:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 43. The semiconductor device of claim 41 wherein the plurality of gate structures further comprises:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 44. A semiconductor device comprising an array of logic cells and programmable metal adjacent to the array of logic cells, the semiconductor device further comprising:
an embedded clock line common to a plurality of logic cells, the clock line terminated in a clock cell so that the clock cell and the plurality of logic cells form a clock group; an embedded power line common to the plurality of logic cells in the clock group; a power trace within the programmable metal adjacent to the clock cell; and a programmable connection between the power trace and the embedded power line wherein power has been selectively connected to gate structures within the clock group.
- 45. The semiconductor device of claim 44 wherein the programmable connection is a via.
- 46. The semiconductor device of claim 44 further comprising an embedded reset line common to the plurality of logic cells.
- 47. The semiconductor device of claim 45 further comprising an embedded reset line common to the plurality of logic cells.
- 48. The semiconductor device of claim 46 further comprising a scan chain embedded in at least some of the logic cells of the clock group so as to use substantially none of the programmable metal.
- 49. The semiconductor device of claim 47 further comprising a scan chain embedded in at least some of the logic cells of the clock group so as to use substantially none of the programmable metal.
- 50. The semiconductor device of claim 48 wherein the clock cell further comprises test logic connected to the embedded clock line and the embedded reset line.
- 51. The semiconductor device of claim 49 wherein the clock cell further comprises test logic connected to the embedded clock line and the embedded reset line.
- 52. A semiconductor chip comprising an array of logic cells disposed to receive programmable metal, at least some of the logic cells comprising:
a plurality of gate structures further comprising a plurality of NAND gates, a plurality of multiplexers, a FLOP, and a high-drive inverter; wherein the plurality of gate structures are pre-wired and a plurality of input/outputs of the plurality of gate structures are available for routing in the programmable metal.
- 53. The semiconductor chip of claim 52 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 54. A semiconductor chip comprising an array of logic cells, the semiconductor chip further comprising:
a plurality of input/outputs arranged along input/output tracks, at least one input/output corresponding to at least one input/output track connected to an input for a gate structure in a logic cell of the array of logic cells; and at least one selectable, in-line inverter disposed to share the at least one input/output track of the plurality of input/output tracks; wherein each at least one selectable, in-line inverter can be selectively placed in series with the input so as to share the at least one input/output track based on programmable via connections.
- 55. The semiconductor chip of claim 54 wherein at least some of the logic cells comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 56. The semiconductor chip of claim 54 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 57. The semiconductor chip of claim 55 wherein at least some of the logic cells further comprise random access memory connected to common select and read/write lines.
- 58. A semiconductor chip comprising an array of logic cells disposed to receive programmable metal, the semiconductor device further comprising:
an embedded clock line common to a plurality of logic cells, the clock line terminated in a clock cell so that the clock cell and the plurality of logic cells form a clock group; an embedded power line common to the plurality of logic cells in the clock group, the embedded power line disposed to be connected to a power trace within the programmable metal adjacent to the clock cell; wherein a programmable connection between the power trace and the embedded power line can be used to selectively connect power to gate structures within the clock group.
- 59. The semiconductor chip of claim 58 wherein the programmable connection is a via.
- 60. The semiconductor chip of claim 58 further comprising an embedded reset line common to the plurality of logic cells.
- 61. The semiconductor chip of claim 59 further comprising an embedded reset line common to the plurality of logic cells.
- 62. The semiconductor chip of claim 60 further comprising a scan chain embedded in at least some of the logic cells of the clock group so as to use substantially none of the programmable metal.
- 63. The semiconductor chip of claim 61 further comprising a scan chain embedded in at least some of the logic cells of the clock group so as to use substantially none of the programmable metal.
- 64. The semiconductor chip of claim 62 wherein the clock cell further comprises test logic connected to the embedded clock line and the embedded reset line.
- 65. The semiconductor chip of claim 63 wherein the clock cell further comprises test logic connected to the embedded clock line and the embedded reset line.
- 66. A semiconductor device comprising an array of logic cells and programmable metal, at least some of the logic cells comprising:
a prewired multiplexer (MUX) having two inputs; and one prewired inverter associated with one input of the two inputs of the prewired MUX; wherein the one prewired inverter has been selectively connected to the one input by routing in the programmable metal.
- 67. The semiconductor device of claim 66 wherein the one prewired inverter is a selectable, in-line inverter that shares an input/output track with the one input.
- 68. The semiconductor device of claim 66 wherein the prewired MUX and the prewired inverter have been fabricated in a first process geometry and the programmable metal has been fabricated in a second process geometry.
- 69. The semiconductor device of claim 66 wherein at least some of the logic cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 70. The semiconductor device of claim 67 wherein at least some of the logic cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 71. The semiconductor device of claim 68 wherein at least some of the logic cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 72. A semiconductor chip comprising an array of logic cells disposed to receive programmable metal, at least some of the logic cells comprising:
a prewired multiplexer (MUX) having two inputs; and one prewired inverter associated with one input of the two inputs of the prewired MUX; wherein the one prewired inverter can be selectively connected to the one input by routing in the programmable metal.
- 73. The semiconductor chip of claim 72 wherein the one prewired inverter is a selectable, in-line inverter that shares an input/output track with the one input.
- 74. The semiconductor chip of claim 72 wherein at least some of the logic cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 75. The semiconductor chip of claim 73 wherein at least some of the logic cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 76. A method of fabricating logic devices, the method comprising:
fabricating semiconductor chips comprising cells having prewired gate structures up to programmable metal layers in a first process geometry; and finishing the logic devices at least in part by fabricating at least two programmable metal layers on the semiconductor chips in a second process geometry to interconnect at least some of the prewired gate structures.
- 77. The method of claim 76 wherein the prewired gate structures further comprises at least one prewired gate structure selected from a group consisting of a NAND, a multiplexer, a FLOP, an inverter, an XOR, a NOR, and a look-up table.
- 78. The method of claim 77 wherein at least some of the cells further comprise:
a plurality of NAND gates; a plurality of multiplexers; a FLOP; and an high-drive inverter.
- 79. The method of claim 76 wherein the first process geometry is smaller than the second process geometry.
- 80. The method of claim 77 wherein the first process geometry is smaller than the second process geometry.
- 81. The method of claim 78 wherein the first process geometry is smaller than the second process geometry.
- 82. The method of claim 79 wherein the first process geometry corresponds to a 0.18-micron process and the second process geometry corresponds to a 0.25-micron process.
- 83. The method of claim 80 wherein the first process geometry corresponds to a 0.18-micron process and the second process geometry corresponds to a 0.25-micron process.
- 84. The method of claim 81 wherein the first process geometry corresponds to a 0.18-micron process and the second process geometry corresponds to a 0.25-micron process.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from commonly owned, co-pending provisional patent application serial No. 60/389,843, filed Jun. 19, 2002, the entire disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60389843 |
Jun 2002 |
US |