IP Library Granted Patent US 8,707,240
Granted Patent B2
US 8,707,240 · App. 12/479,681 · Granted Apr 22, 2014

Structured placement for bit slices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,707,240
App. No.
12/479,681
Granted
Apr 22, 2014
Kind
B2
Abstract

Techniques are disclosed for improving bit slice placement and wiring. Some embodiments include swapping cells to improve routing. An alternative embodiment includes copying wiring from a first bit slice to a second bit slice. Another embodiment includes copying blocks or cells from a first bit slice to a second bit slice. Further, the wiring from the first bit slice may be copied to the second bit slice.

Claims (44)

1. A computer-implemented method for wiring of bit slices, the method comprising:

examining a plurality of bit slices to identify a first bit slice with a preferred bit slice arrangement and identifying control lines coupled to cells within the first bit slice, using one or more processors;

identifying, based on the identified control lines, respective cells within a second bit slice having same or similar function to the cells within the first bit slice for alignment with respective cells within the first bit slice;

disconnecting one or more wires of the second bit slice; and

duplicating a wire from the first bit slice into the second bit slice.

2. The method of claim 1 further comprising cloning of bit slices by performing the following:

removing wiring for the second bit slice;

removing cells for the second bit slice;

copying cells from the first bit slice to the second bit slice; and

copying wiring from the first bit slice to the second bit slice.

3. The method of claim 2 further comprising performing a Boolean equivalence check on the second bit slice.

4. The method of claim 3 further comprising returning the second bit slice to its state before the disconnecting and the duplicating when the Boolean equivalence check fails.

5. The method of claim 3 further comprising determining a Quality of Result metric on the bit slice once the Boolean equivalence check passes.

6. The method of claim 1 further comprising swapping locations for a pair of cells in the first bit slice wherein the pair of cells are connected to different control lines.

7. The method of claim 6 wherein one of the different control lines has shorter wiring once the pair of cells are swapped.

8. The method of claim 7 further comprising performing a Boolean equivalence check on the second bit slice.

9. The method of claim 8 further comprising returning second bit slice to its original wiring when the Boolean equivalence check fails.

10. The method of claim 8 further comprising determining a Quality of Result metric on the second bit slice once the Boolean equivalence check passes.

11. The method of claim 1 further comprising performing a Boolean equivalence check on the second bit slice.

12. The method of claim 11 further comprising returning second bit slice to its original cell and wiring configuration when the Boolean equivalence check fails.

13. The method of claim 11 further comprising determining a Quality of Result metric on the second bit slice once the Boolean equivalence check passes.

14. A computer program product stored on a non-transitory computer-readable medium for wiring of bit slices, the computer program containing program code that when processed by one or more processes causes a method to be performed, the method comprising:

examining a plurality of bit slices to identify a first bit slice with a preferred bit slice arrangement and identifying control lines coupled to cells within the first bit slice;

identifying, based on the identified control lines, respective cells within a second bit slice having same or similar function to the cells within the first bit slice for alignment with respective cells within the first bit slice;

disconnecting one or more wires of the second bit slice; and

duplicating a wire from the first bit slice into the second bit slice.

15. The computer program product of claim 14 wherein the method further comprises cloning of bit slices by performing the following:

removing wiring for the second bit slice;

removing cells for the second bit slice;

copying cells from the first bit slice to the second bit slice; and

copying wiring from the first bit slice to the second bit slice.

16. The computer program product of claim 15 wherein the method further comprises:

performing a Boolean equivalence check on the second bit slice; and,

returning the second bit slice to its state before the disconnecting and the duplicating when the Boolean equivalence check fails.

17. A computer system for wiring of bit slices comprising:

a memory for storing instructions;

one or more processors coupled to the memory wherein the instructions, when processed by the one or more processors, cause the one or more processors to:

identify a first bit slice and identify control lines coupled to cells within the first bit slice;

identify, based on the identified control lines, respective cells within a second bit slice having same or similar function to the cells within the first bit slice for alignment with respective cells within the first bit slice, wherein the identified control lines coupled to the cells within the second bit slice;

disconnect one or more wires of the second bit slice while maintaining the cells within the second bit slice and wiring of the identified control lines to the cells within the second bit slice; and

duplicate a wire from the first bit slice into the second bit slice.

18. The computer system of claim 17 wherein the instructions further cause the one or more processors to

perform a Boolean equivalence check on the second bit slice; and,

return the second bit slice to its state before the disconnecting and the duplicating when the Boolean equivalence check fails.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 11, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC
To: SYNOPSYS, INC.
Reel/Frame 040607/0632 →
CHANGE OF NAME Recorded Jun 5, 2012
From: MAGMA DESIGN AUTOMATION, INC.
To: MAGMA DESIGN AUTOMATION LLC
Reel/Frame 028323/0056 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: MAGMA DESIGN AUTOMATION LLC
To: SYNOPSYS, INC.
Reel/Frame 028323/0064 →
SECURITY AGREEMENT Recorded Mar 23, 2010
From: MAGMA DESIGN AUTOMATION, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC
Reel/Frame 024120/0809 →