1460947782-8398b177-4a83-4538-b803-f59ae6a22f4e

What is claimed is:

1. A method comprising:
extracting regularity among routing connections of a datapath design to form net clusters;
selecting a representative bit-slice of said datapath design;
routing one representative net from one of said net clusters in the representative bit-slice; and
propagating the route of each said routed net in each said net cluster to remaining routes in each said net cluster.
2. The method of claim 1, further comprising determining a set of net-clusters prior to said routing.
3. The method of claim 2, wherein said set of net-clusters are determined using a clustering methodology based on names of structures within said datapath design.
4. The method of claim 2, wherein said set of net-clusters are determined using a clustering methodology based on coordinates of structures within said datapath design.
5. The method of claim 2, wherein said set of net-clusters are determined using a first clustering methodology based on names of structures within said datapath design and using a second clustering methodology based on coordinates of structures within said datapath design.
6. The method of claim 2, wherein said set of net-clusters comprise similarly structured nets.
7. The method of claim 6, wherein said routing comprises routing one representative net of each said net cluster.
8. The method of claim 1, wherein said routing comprises routing a same-bit net.
9. The method of claim 1, wherein said routing comprises routing a cross-bit net.
10. The method of claim 1, wherein said propagating comprises propagating said route of said representative net to another bit-slice, said propagated route being similar to said route of said representative net.
11. The method of claim 1, wherein said propagating is based on regularity of said datapath design.
12. The method of claim 1, further comprising:
routing a subsequent net related to said representative bit-slice; and
propagating said route of said subsequent net to other nets in net clusters of said subsequent net.
13. A method comprising:
determining a route of a representative net for a structure of a datapath design; and
propagating said route of said representative net to other nets similar to said representative net.
14. The method of claim 13, wherein said structure comprises a bit-slice.
15. The method of claim 13, further comprising selecting a representative bit-slice prior to said determining said route.
16. The method of claim 13, wherein said determining said route comprises routing a same-bit net.
17. The method of claim 13, wherein said determining said route comprises routing a cross-bit net.
18. The method of claim 13, further comprising determining a set of net-clusters prior to said determining, and selecting one of said net-clusters for routing.
19. The method of claim 18, wherein said set of net-clusters are determined using a clustering methodology based on names of structures within said datapath design.
20. The method of claim 18, wherein said set of net-clusters are determined using a clustering methodology based on coordinates of structures within said datapath design.
21. The method of claim 18, wherein said set of net-clusters are determined using a first clustering methodology based on names of structures within said datapath design and using a second clustering methodology based on coordinates of structures within said datapath design.
22. The method of claim 18, wherein said set of net-clusters comprise similarly structured nets.
23. The method of claim 18, wherein said routing comprises routing a net of said net-cluster within said set of net-clusters.
24. The method of claim 13, wherein said propagating is based on regularity of said datapath design.
25. The method of claim 13, further comprising:
determining a route of a subsequent representative net of a subsequent net cluster of said structure; and
propagating said route of said subsequent representative net to another structure of said design.
26. An apparatus for routing a datapath design having a plurality of bit-slices, said apparatus comprising:
an input device to receive data relating to said datapath design; and
a routing device to couple to said input device so as to receive said data and including a processor device to route a representative net related to a representative bit-slice and to propagate said route of said representative net to a net related to a subsequent bit-slice.
27. The apparatus of claim 26, further comprising an output device to provide a completed routing of said datapath design based on operations of said processor device.
28. The apparatus of claim 26, wherein said processor device further determines a set of net-clusters prior to said routing, and selects one of said net-clusters for routing.
29. The apparatus of claim 26, wherein said processor device propagates said route based on regularity of said datapath design.
30. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method comprising:
extracting regularity among routing connections of a datapath design to form net clusters;
selecting a representative bit-slice of said datapath design;
routing one representative net from one net cluster in the representative bit-slice; and
propagating the route of each said routed net in each said net cluster to remaining routes in each said net cluster.
31. The program storage device of claim 30, said method further comprising determining a set of net-clusters prior to said routing, and said selecting comprises selecting one of said net-clusters for routing.
32. The program storage device of claim 30, wherein said propagating comprises propagating a route related to said subsequent bit-slice, said subsequent route being similar to said representative route.
33. The program storage device of claim 30, wherein said propagating is based on regularity of said datapath design.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An apparatus for decoding a matrix code symbol, the apparatus comprising:
an image processor, wherein the image processor processes an image corresponding to the matrix code symbol; and
a decoder configured to:
retrieve at least one encoded value from the matrix code symbol in response to processing the image corresponding to the matrix code symbol, wherein the at least one encoded value comprises at least one modified encoded value;
map each of the at least one modified encoded value with a corresponding predefined encoded value, wherein a modified encoded value comprises at least two digits of a corresponding predefined encoded value; and
decode the corresponding predefined encoded value to determine a corresponding character.
2. The apparatus of claim 1, wherein the at least one modified encoded value is related to a language, wherein the language is one of Arabic, and English.
3. The apparatus of claim 1 further comprising an image capturing unit configured to capture the image corresponding to the matrix code symbol.
4. The apparatus of claim 3 further comprising a memory coupled to at least one of the image capturing unit, the image processor and the decoder, the memory capable of storing at least a portion of the image corresponding to the matrix code symbol.
5. The apparatus of claim 4, wherein the decoder is further configured to identify at least one transitioning code value in the at least one encoded value, wherein the at least one transitioning code value is used for mapping the at least one modified encoded value with the corresponding predefined encoded value.
6. The apparatus of claim 5, wherein the decoder is further configured to map each of the at least one modified encoded value with a corresponding predefined encoded value based on a transitioning code value of the at least one transitioning code value.
7. The apparatus of claim 5, wherein the decoder is further configured to perform at least one of:
determine the corresponding predefined encoded value associated with each of the at least one modified encoded value using a predefined encoding table; and
add at least one digit to each of the at least one modified encoded value in order to obtain the corresponding predefined encoded value.
8. The apparatus of claim 7, wherein the memory is capable of storing the predefined encoding table.
9. The apparatus of claim 7, wherein the predefined encoding table corresponds to one of a Unicode table and an ASCII table.
10. A method of decoding a matrix code symbol, the method comprising:
receiving an image corresponding to the matrix code symbol;
processing the image corresponding to the matrix code symbol;
retrieving at least one encoded value from the matrix code symbol in response to processing the image corresponding to the matrix code symbol, wherein the at least one encoded value comprises at least one modified encoded value;
mapping each of the at least one modified encoded value with a corresponding predefined encoded value, wherein a modified encoded value comprises at least two digits of a corresponding predefined encoded value; and
decoding the corresponding predefined encoded value to determine a corresponding character.
11. The method of claim 10, wherein the at least one modified encoded value is related to a language, wherein the language is one of Arabic, and English.
12. The method of claim 10 further comprising identifying at least one transitioning code value in the at least one encoded value.
13. The method of claim 12, wherein each of the at least one modified encoded value is mapped with a corresponding predefined encoded value based on a transitioning code value of the at least one transitioning code value.
14. The method of claim 10, wherein receiving the image corresponding to the matrix code symbol comprises capturing the image.
15. The method of claim 10 further comprising storing at least a portion of the image corresponding to the matrix code symbol.
16. The method of claim 10, wherein mapping comprises at least one of:
determining the corresponding predefined encoded value associated with each of the at least one modified encoded value using a predefined encoding table; and
adding at least one digit to each of the at least one modified encoded value in order to obtain the corresponding predefined encoded value.