USPatentGranted
A

Method and apparatus for N choose M device selection

Granted 30 Nov 1999 · no office action yet

Assignee: Rambus Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Donald V. Perino · Examiner: Brian Zimmerman · AU 275 · TC 2700

Application
767739
filed 17 Dec 1996
Publication
Not published
not published
Patent· this page
US 5,995,016
granted 30 Nov 1999

Life of the patent

4 dated events
⤢ drag to zoom1998200020022004200620082010201220142016ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A method for selectively enabling one of X agents in a system so as to allow the selected agent to be active in a shared communication system. The method comprises the steps of assigning each agent to a unique subset M of a plurality of N select lines, M being greater than 1 and less than N, and translating an identification number so as to assert M of the plurality of N select lines. The asserted M select lines uniquely select a designated agent. For one embodiment, all of the X agents may be selected by enabling all N select lines. For another embodiment, more than one but not all of the agents may be selected.

Description

7 parts
›FIELD OF THE INVENTION

The present invention is related to electronics systems and more particularly to the selection of system devices by a system master.

›BACKGROUND OF THE INVENTION

For electronics systems such as computer systems, it is typically necessary to provide one or more system components with the ability to selectively enable the operation of other system components. For example, a system controller or "master" such as a microprocessor may need to enable another system component or "agent" such as a memory chip in order to gain access to the data stored by the memory chip. Device selection is useful in many other systems and circumstances, as well.

There are a number of alternative methods for providing device selection in an electronics or computer system, and each method has an associated cost of implementation. For example, the master and agent devices must typically include additional pins for asserting and accepting selection or enable signals, and there are costs associated with providing semiconductor die space for these pins and supporting circuitry. Similarly, there are costs associated with providing printed circuit (PC) board space for routing the selection or enable signals between the master and agent devices.

FIG. 1 shows a system 10 that implements a prior device selection scheme wherein selection bus 15 transmits a binary encoded identification number from master 20 to select one of agents 21-36 so that master 20 may access the selected agent via data bus 48. To support device selection according to this method, each of agents 21-36 must be provided with (1) a unique identification number such as I.D. NO. 45 of agent 21 and (2) comparator circuitry 40 for comparing the transmitted identification number to the agent's identification number. In a system supporting a maximum of 2 N agents, the width of selection bus 15 is N bits, and master 20 and agents 21-36 must each have N pins dedicated or multiplexed for device selection.

The number of output pins required for master 20 is minimized according to the scheme of FIG. 1; however, the total number of input pins required for agents 21-36 is maximized.

FIG. 2 shows a system 50 that implements another prior device selection scheme. A selection bus 55 transmits a binary encoded identification number (shown as BIT 0-BIT 3) and its complement (shown as BIT 0-BIT 3) from master 60 to select one of agents 61-76 so that master 60 may access the selected agent via data bus 54. The assertion or deassertion of the select signals for the complementary identification number (BIT 0-BIT 3) directly depends on the value of the true identification number (BIT 0-BIT 3) . To support device selection according to this method, each of agents 61-76 must be provided with majority logic circuitry such as a logical AND gate 52. In a system supporting a maximum of 2 N agents, the width of the selection bus 55 is 2N bits, master 60 must have 2N output pins for device selection, and agents 61-76 must each have N input pins for device selection.

Device selection by the system of FIG. 2 is typically faster than that of FIG. 1 because majority logic circuitry is typically faster than comparators. Furthermore, agents need not be assigned identification numbers. The number of output pins required by the master to support device selection and the number of conductors for the selection bus are both doubled. Therefore, this prior art scheme is typically applied to systems with a limited (e.g. four) number of agents.

FIG. 3 shows a system 80 that implements another prior device selection scheme wherein each of a plurality of enable lines 85 are routed from master 90 to a corresponding one of agents 91-106 so that master 90 may enable and access the selected agent via data bus 115. To support device selection according to this method, master 90 must be provided with a 1-of-16 decoder circuit 110 that accepts a binary number and asserts one of the sixteen enable signals EN1-EN16. In a system supporting a maximum of 2 N agents, master 90 must have a 1-of-N decoder providing 2 N enable signals on 2 N lines. Each of the 2 N agents must have one input pin for device selection. Master 90 must have 2 N output pins for device selection.

The total number of input pins required for the agent devices is minimized according to the scheme of FIG. 3; however, the number of output pins required for the master device is maximized. An alternative scheme would place the 1-of-16 decoder circuit 100 external to master 90, thus reducing the number of output pins for device selection by master 90. Providing the 1-of-16 decoder circuit 100 as a separate device would slow the process of device selection by an undesirable amount for some systems.

›SUMMARY AND OBJECTS OF THE INVENTION

It is an object of the present invention to provide a device selection scheme using combinatorics to determine the number of outputs on a selecting device and the number of inputs on each of a plurality of selectable devices.

Another object of the present invention is to permit the selecting device to select all of the selectable devices simultaneously.

Another object of the present invention is to select sets of the selectable devices simultaneously.

An interconnect apparatus for selecting at least one of a plurality of selectable devices for communication is described. The interconnect apparatus includes a plurality of N select lines and a plurality of connections coupling each of the selectable devices to an unique group of the N select lines. Each unique group has at least one select line different from the select lines of any other unique group. Each unique group also includes M of the N select lines, wherein M is greater than one and less than N. The maximum number of the devices may be equal to the total number of the unique groups of the N select lines. Additionally, at least one of the devices may be selected for communication by activating at least one of the unique groups.

A method for selectively enabling agents or selectable devices of a system using a plurality of N select lines is also described. The method includes the steps of: assigning each agent to a unique group M of the plurality of N select lines, M being greater than 1; translating an identification number into a combinatorial representation that specifies which of the plurality of N select lines are to be asserted; and asserting a first unique group of the plurality of N select lines to select one of the plurality of selectable devices.

Other objects, features, and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description which follows below.

›BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:

FIG. 1 shows a system that implements a first prior art scheme for device selection;

FIG. 2 shows a system that implements a second prior art scheme for device selection;

FIG. 3 shows a system that implements a third prior art scheme for device selection;

FIG. 4 shows one embodiment of a system that implements a scheme for device selection including an N choose M selector comprising a translator and a combinatorial interconnect matrix;

FIG. 5 shows a 6 choose 2 system for device selection according to one embodiment;

FIG. 6 shows a graph comparing the product of master outputs, agent inputs, and the maximum number of agents a system can support for one embodiment of a remote device selection scheme compared with prior art device selection schemes;

FIG. 7 shows a translator according to one embodiment;

FIG. 8 shows one embodiment of a system that implements a scheme for device selection including two N choose M selectors each comprising a translator and a combinational interconnect matrix; and

FIG. 9 shows a 6 choose 4 system for device selection according to one embodiment of FIG. 8.

›DETAILED DESCRIPTION · 1 of 3

A device selection scheme is described wherein a master (selecting device) selects one of a plurality of X agents (selectable devices) by selectively enabling a plurality M of a total of N select lines. Each agent has a distinct subset M of the N select lines that corresponds to that agent. More than one agent can be selected by asserting the select lines that correspond to the respective subsets of select lines for the selected agents. Similarly, all agents may be selected by asserting all N select lines. The device selection scheme described below may be used for systems supporting one to X agents, and is well suited for systems supporting in excess of approximately eight to ten agents.

The device selection scheme is referred to herein as "N choose M," wherein M is greater than one (1) and less than N. The term "N choose M" is related to the combinatorics theory of mathematics that states that, for a given number of N items, there is a maximum number of X unique combinations of the N items taken M at a time. For example, given a total of six (6) items, there are a total of fifteen (15) unique combinations of two (2) items. For the present device selection scheme, the number X defines the maximum number of agent devices that can be supported by the system, and the number M defines the number of select lines that are routed to each agent for selection purposes. For one embodiment, M is approximately one-half N.

As will be described, the N choose M device selection scheme offers a good compromise between the number of output pins allocated on the master and the number of input pins allocated on each agent for selection purposes. Furthermore, the N choose M device selection scheme eliminates the need to assign unique identification numbers to each device, enables the use of majority logic, and therefore reduces system latency when compared to some prior schemes.

FIG. 4 shows an exemplary system 120 that implements an N choose M device selection scheme wherein N choose M selector 125 is used by master 130 to select one or more of X agents by asserting at least one of a unique subset M of N select lines 135. System 120 is a shared communication system, wherein selected agents may communicate data and/or control information with master 130 via bus 140. According to other embodiments, selected devices perform a predetermined task in response to being selected.

N choose M selector 125 includes translator 145 and combinatorial interconnect matrix 150. Translator 145 translates an identification number into a combinatorial representation that specifies which of the N select lines 35 are to be asserted. Translator 145 may translate binary, hexadecimal, BCD, or an identification number in any other format to a combinatorial representation. For one embodiment, translator 145 may comprise combinatorial logic. For another embodiment, translator 145 may comprise a table(s) that stores translation information. For yet another embodiment, translator 145 may comprise software routines that perform the translation function and are coupled to hardware to output the combinatorial representation on specific N select lines 135.

Combinatorial interconnect matrix 150 couples each agent to a unique subset M of the N select lines 135. Agent 1 is coupled to subset M 1 , agent 2 is coupled to subset M 2 , up to agent X coupled to subset M X . Each agent is provided with majority logic 155, which may be, but is not limited to, a logical AND gate to determine when its subset of M signal lines are properly asserted.

One agent may be selected by properly asserting select signals on the requisite M subset of N select lines 135. System 120 also enables multiple agents to be simultaneously selected by enabling the proper subsets M of the N select lines 135. Additionally, all X agents may be simultaneously selected by asserting the proper select signals on the N select lines 135.

As used herein, the term "assertion" does not require that all select signals be set to a logic high or a logic low value to "assert" the select line; rather, each select signal be activated to the value expected by the agent in view of the configuration of the majority logic 155 for that agent.

As shown in FIG. 4, translator 145 may be provided on the same semiconductor substrate as the master 130. Alternatively, translator 145 may be provided on a different semiconductor substrate or as discrete circuitry that is distinct from the master 130. When translator 145 resides in master 130, the master 130 is provided with N output pins to support device selection. Regardless, each agent is provided with M input pins to support remote device selection. For some applications, such as when the plurality of agents are registers of a microprocessor, all of the components of system 120 may be provided on a single semiconductor substrate.

FIG. 5 shows a six (N=6) choose two (M=2) system 200 wherein a master 210 selects one or more of up to 15 (X=15) agents A1-A15 using six select lines A-F, wherein each agent A1-A15 is connected to a unique subset of two select lines. Combinatorial interconnect matrix 215 includes the hardwired connections of agents A1-A15 to select lines A-F. Alternative means for coupling A1-A15 to select lines A-F as shown in FIG. 5 may be employed including, fuses, diodes, resistors, and other means. The translator of system 200 is not shown, but may be internal or external to master 210.

To select agent A1, master 210 asserts the proper select signals on select lines E and F. To simultaneously select agents A1, A2, and A6, master 210 asserts the proper select signals on select lines D, E, and F. To simultaneously select all of agents A1-A15, master 210 asserts the proper select signals on select lines A-F.

According to one embodiment, a designer determines the numbers N and M to accommodate the desired number of agents for the system, wherein the maximum number X of agents supported by a particular system is equal to ##EQU1##

Tables 1 and 2 compare examples of the resources required by the N choose M scheme of the present embodiments when compared to the prior art schemes shown in FIGS. 1-3. Specifically, Table 1 shows the system requirements for implementing a 6 choose 2 scheme for selecting an agent from a maximum of approximately 16 agents (15 agents for FIG. 4), and Table 2 shows the system requirements for implementing a 7 choose 3 scheme for selecting an agent from a maximum of approximately 32 agents (35 agents for FIG. 4).

›DETAILED DESCRIPTION · 2 of 3

______________________________________

Master

Agent Max. No. of

Outputs

Inputs Agents

(N) (M) (X) N*M*X

______________________________________

FIG. 4 6 2 15 180

FIG. 1 4 4 16 256

FIG. 2 8 4 16 512

FIG. 3 16 1 16 256

______________________________________

______________________________________

Master

Agent Max. No. of

Outputs

Inputs Agents

(N) (M) (X) N*M*X

______________________________________

FIG. 4 7 3 35 735

FIG. 1 5 5 32 800

FIG. 2 10 5 32 1600

FIG. 3 32 1 32 1024

______________________________________

Tables 1 and 2, indicate that the number of inputs and outputs that must be allocated to the master and each agent is a compromise between the prior schemes such that the cost or burden of implementing the present device selection scheme is distributed between master 130, agents A1-AX, and combinatorial interconnect matrix 150. Tables 1 and 2 indicate, with the exception of the scheme of prior art FIG. 1, the N choose M scheme results in the lowest number of master outputs. Similarly, with the exception of the scheme of prior art FIG. 3, the N choose M scheme results in the lowest number of agent inputs.

Tables 1 and 2 further show that for N choose 2, the product of the number of master outputs (N), the number of agent inputs (M), and the maximum number of agents (X) supported by a device selection scheme is a minimum number for the device selection scheme illustrated in FIG. 4 relative to the prior art schemes illustrated in FIGS. 1-3.

FIG. 6 shows that for systems that support in excess of approximately ten agents, an N choose 2 device selection scheme will yield a product function (N*M*X) that provides a minimum result for a system supporting X agents as compared with the prior art schemes of FIGS. 1-3.

FIG. 7 shows combinatorial translator 250 which is one embodiment of translator 145 in FIG. 4. Translator 250 is a 6 choose 2 binary-to-combinatorial translator that comprises fifteen (15) four-input logical AND gates 260-274 and six (6) six-input logical OR gates 280-285 for use in the 6 choose 2 system 200 of FIG. 5. Each of the AND gates 260-274 is coupled to receive four binary bits (d3, d2, d1, and d0) that correspond to sixteen possible identification numbers. As shown, each of the AND gates 260-274 has its inputs configured such that it will output a logic 1 only in response to a specific identification number. The outputs of the AND gates 260-274 are coupled to the inputs of the OR gates 280-285 in the manner shown such that the assertion of the output of one of the AND gates 260-274 results in two of the select lines A-F being asserted to select a corresponding agent. Each OR gate is also shown as including an "ALL" input that causes all of the select signals A-F to be asserted when the "ALL" signal is asserted.

The connections between logical AND gates 260-274 and logical OR gates 280-285 are implied by the designations Y0 . . . Y14 of the outputs of the AND gates 260-274 and the designations of the input signals to the OR gates 280-285. Note that a master may select none of the agents by setting each of the four binary bits d3-d0 to a high logic level. Alternative circuit configurations may be used to provide the translation function.

FIG. 8 shows system 300 that implements another device selection scheme. System 300 includes Y choose Z selector 325 and W choose R selector 360, each having an N choose M configuration as illustrated in FIG. 4. Y choose Z selector 325 enables selection of up to V devices, wherein V is equal to ##EQU2## Similarly, W choose R selector 360 enables selection of up to U devices, wherein U is equal to ##EQU3## Thus, system 300 supports the selection of one or more of V×U agents by asserting at least one unique subset Z of Y select lines 335 and/or at least one unique subset R of W select lines 370.

System 300 is a shared communication system, wherein selected agents may communicate data and/or control information with master 330 via bus 340. According to other embodiments, selected devices perform a predetermined task in response to being selected.

Y choose Z selector 325 includes translator 345 and combinatorial interconnect matrix 350. W choose R selector includes translator 345 and combinatorial interconnect matrix 365. Translator 345 translates a first identification number into a combinatorial representation that specifies which of the Y select lines 335 are to be asserted. Translator 345 also translates a second identification number into a combinatorial representation that specifies which of the W select line 370 are to be asserted. Translator 345 may translate binary, hexadecimal, BCD, or identification numbers in any other format to a combinatorial representation. For one embodiment, translator 345 may comprise combinatorial logic. For another embodiment, translator 345 may comprise a tables(s) that stores translation information. For yet another embodiment, translator 345 may comprise software routines that perform the translation functions and are coupled to hardware to output the combinatorial representation on specific Y and W select lines. For yet another embodiment, translator 345 may comprise two translators, namely: a first translator coupled to combinatorial interconnect matrix 350, translating the first identification number, and asserting the Y select lines 335; and a second translator coupled to combinatorial interconnect matrix 365, translating the second identification number, and asserting the W select lines 370.

Combinatorial interconnect matrix 350 couples each column of agents to a unique subset Z of the Y select lines 335. Similarly, combinatorial interconnect matrix 365 couples each row of agents to unique subset R of the W select lines 370. Agents 1-1 through 1-U are coupled to subset Z 1 , agents 2-1 through 2-U are coupled to subset Z 2 , up to agents V-1 through V-U coupled to subset Z V . Similarly, agents 1-1 through V-1 are coupled to subset R 1 , agents 1-2 through V-2 are coupled to subset R 2 up to agents 1-U through V-U coupled to subset R V . Each agent includes majority logic 355 as illustrated in agent 1-1. Majority logic 355 may be, but is not limited to, a logical AND gate to determine when the appropriate subset of select lines is asserted for a particular agent.

›DETAILED DESCRIPTION · 3 of 3

One agent may be selected by properly asserting select signals on the requisite Z subset of Y select lines 335 and the requisite R subset of W select lines 370. System 300 may also enable multiple agents to be simultaneously selected by enabling the proper subsets Z of Y select lines 335 and/or the proper subset R of W select lines 370. For example, an entire row or column of agents may be simultaneously selected. Additionally, all V×U agents may be simultaneously selected by asserting the proper select signals on Y select lines 335 and W select lines 370.

Less agents are supported by system 300 than by a comparable system comprising a device selection scheme implementing (Y+W) choose (Z+R). For example, an 8 choose 4 system using one interconnect matrix according to FIG. 4 supports 70 selectable agents. In contrast, a comparable system including two 4 choose 2 matrices according to FIG. 8 supports (6×6) 36 selectable agents.

In some circumstances it may be desirable to employ system 300 over a device selection scheme implementing (Y+W) choose (Z+R) or other one interconnect matrix systems according to FIG. 4. For example, one may be motivated to use system 300 because either the encoding in the master would be simpler (i.e., the hardware or software of translator 345 would be simpler) or there would be a pin savings on the master device compared to other alternatives. For example, two 4 choose 2 matrices may select one or more of 36 devices using the configuration of system 300. In contrast, an 8 choose 4 system using only one interconnect matrix according to FIG. 4 supports up to 70 selectable devices, but may require more complex encoding hardware for translator 145 (relative to translator 345 ). For another alternative, an 9 choose 2 system using only interconnect matrix according to FIG. 4 may be used to support up to 36 selectable devices. This alternative has the disadvantage of requiring nine pins on the master device as opposed to 8 pins on the master device using two 4 choose 2 matrices according to system 300. The number of pins on the master devices may be important for some systems.

FIG. 9 shows system 400 that is one embodiment of system 300 having two interconnect matrices each supporting 3 choose 2 device selection schemes. System 400 includes master 430, combinatorial interconnect matrix 425, combinatorial interconnect matrix 465, and agents 1-1 through 3-3. Master 430 is capable of selecting one or more of up to nine (9) agents via select lines A-F. The translator of system 300 is not shown, but may be internal or external to master 430.

Combinatorial interconnect matrix 425 includes hardwired connections for agents 1-1 through 3-3. The first column of agents 1-1 through 1-3 is coupled select lines A and B. The second column of agents 2-1 through 2-3 is coupled to select lines A and C. The third column of agents 3-1 through 3-3 is coupled to select lines B and C. Combinatorial interconnect matrix 465 includes hardwired connections for agents 1-1 through 3-3. The first row of agents 1-1 through 3-1 is coupled to select lines D and E. The second row of agents 1-2 through 1-3 is coupled to select lines D and F. The third row of agents 1-3 through 3-3 is coupled to select lines E and F.

Any individual agent may be selected. For example, to select agent 1-1, master 430 asserts the proper select signals on select lines A, B, D, and E. To simultaneously select the first row of agents 1-1 through 3-1, master 430 asserts the proper select signals on select lines A-E. To simultaneously select the first column of agents 1-1 through 1-3, master 430 asserts the proper select signals on select lines A, B, D, E, and F. To simultaneously select all of agents 1-1 through 3-3, master 430 asserts the proper select signal on select lines A-E.

System 400 support up to (3×3) 9 selectable agents. A comparable 6 choose 4 system according to FIG. 4 would support up to 15 selectable agents.

In the foregoing specification the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.

Claims

27 · 7 independent · depth 2
123456789101112131415161718192021222324252627
27 granted claims

Classifications

7 codes
IPC · International Patent Classification
Section G — Physics
  • G06F12/06
USPC · US Patent Classification
340/825.52327/415370/528341/102307/449326/106

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this patent are not paired with the granted ones in what we hold.

File wrapper

Pendency
3.0 y
1,078 days filing → grant
Office actions
0
on the grant's record
Examiner
Brian Zimmerman
art unit 275 · TC 2700
Citations: 49 back · 99 forward

Chain of title

⤢ drag to zoom1998200020022004200620082010201220142016Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock

Term & fees

See the term timeline — pendency span, in-force span, the maintenance fees paid and both computed expiry dates.

Log in to unlock

Worldwide family

9 members · 6 offices
US1EP2WO2AU1DE2GB1
this patentIP5 & PCTother officessolid = grantedhover for detail · click to open
Members
9
DOCDB simple family 25080413
Offices
6
US · EP · WO
Granted
4 of 9
grant date present
Non-English titles
5
shown as filed, never translated
›IP5 & PCT — 5 members
OfficePublicationKindPublishedFiledStatusTitle
USthis patentUS-5995016-AA30 Nov 199917 Dec 1996grantedMethod and apparatus for N choose M device selection
EPEP-0944959-A2A229 Sep 199910 Dec 1997publishedVerfahren und vorrichtung zur wahl von m-ansteuerungsleitungen unter n-ansteuerungsleitungende
EPEP-0944959-B1B17 Apr 200410 Dec 1997grantedVerfahren und vorrichtung zur wahl von m-ansteuerungsleitungen unter n-ansteuerungsleitungende
WOWO-9827650-A2A225 Jun 199810 Dec 1997publishedMethod and apparatus for n choose m device selection
WOWO-9827650-A3A313 Aug 199810 Dec 1997publishedProcede et appareil de selection de dispositifs par validation de m lignes de selection parmi une pluralite de n lignes de selectionfr
›Other offices — 4 members
OfficePublicationKindPublishedFiledStatusTitle
AUAU-5896798-AA15 Jul 199810 Dec 1997publishedMethod and apparatus for n choose m device selection
DEDE-69728559-D1D113 May 200410 Dec 1997grantedVerfahren und vorrichtung zur wahl von m-ansteuerungsleitungen unter n-ansteuerungsleitungende
DEDE-69728559-T2T214 Apr 200510 Dec 1997grantedVerfahren und vorrichtung zur wahl von m-ansteuerungsleitungen unter n-ansteuerungsleitungende
GBGB-9913305-D0D011 Aug 19999 Jun 1999publishedMethod and apparatus for n choose m device selection

Validity challenges

See the validity challenges on record — reexaminations, IPRs and PGRs, with their institution decisions and outcomes.

Log in to unlock

Citations

See every patent this one cites and every patent that cites it back — publication, assignee, and how each one was found.

Log in to unlock