Mixed hardware/software architecture and method for processing xDSL communications
First Claim
1. A method of implementing a scaleable architecture for a communications system based on minimizing a total gate count for the communications system, the method comprising the steps of:
- (a) dividing a communications transmission process into a set of N individual transmission tasks (T1, T2, . . . TN);
(b) determining a computational complexity (M1, M2, . . . MN) for each of said N individual transmission tasks respectively, said computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks;
(c) determining a number of gates and/or transistors required to implement each of said N individual transmission tasks using a hardware based computing circuit; and
(d) determining a number of gates and/or transistors required to implement each of said N individual transmission tasks using a software based computing circuit;
(e) determining a first effective number of MIPs per gate and/or transistor achievable with said hardware based computing circuit when performing each of said N individual transmission tasks;
(f) determining a second effective number of MIPs per gate and/or transistor achievable with said software based computing circuit;
(g) allocating X individual transmission tasks to said software based computing circuit, where 1>
=X>
N, so that said X individual transmission tasks are performed in software; and
(h) allocating all remaining N-X individual transmission tasks to said hardware based computing circuit so that said N-X individual transmission tasks are performed using dedicated hardware logic;
wherein steps (g) and (h) are performed by comparing said first effective number of MIPs with said second effective number of MIPs.
13 Assignments
0 Petitions
Accused Products
Abstract
A method of implementing a scaleable architecture for a communications system is disclosed, based on minimizing a total gate count for the communications system to reduce cost, complexity, etc. The method considers the requirements of particular communications transmission process that is dividable into individual transmission tasks. A computational complexity for each of said N individual transmission tasks respectively, said computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks; a number of gates and/or transistors required to implement each of individual transmission task using a hardware based or software based computing circuit, etc. After determining an effective number of MIPs acheivable by such circuits, the N tasks are allocated in a gate efficient manner for a final design architecture, or for a working implementation in the field. A system constructed in this fashion is highly gate efficient and cost effective, so that a multiport system can be put on single SOC integrated circuit.
73 Citations
41 Claims
-
1. A method of implementing a scaleable architecture for a communications system based on minimizing a total gate count for the communications system, the method comprising the steps of:
-
(a) dividing a communications transmission process into a set of N individual transmission tasks (T1, T2, . . . TN);
(b) determining a computational complexity (M1, M2, . . . MN) for each of said N individual transmission tasks respectively, said computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks;
(c) determining a number of gates and/or transistors required to implement each of said N individual transmission tasks using a hardware based computing circuit; and
(d) determining a number of gates and/or transistors required to implement each of said N individual transmission tasks using a software based computing circuit;
(e) determining a first effective number of MIPs per gate and/or transistor achievable with said hardware based computing circuit when performing each of said N individual transmission tasks;
(f) determining a second effective number of MIPs per gate and/or transistor achievable with said software based computing circuit;
(g) allocating X individual transmission tasks to said software based computing circuit, where 1>
=X>
N, so that said X individual transmission tasks are performed in software; and
(h) allocating all remaining N-X individual transmission tasks to said hardware based computing circuit so that said N-X individual transmission tasks are performed using dedicated hardware logic;
wherein steps (g) and (h) are performed by comparing said first effective number of MIPs with said second effective number of MIPs. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of determining a scaleable architecture for a communications system based on minimizing a total gate count for the communications system, the method comprising the steps of:
- (a) dividing a communications transmission process into a set of N individual transmission tasks (T1, T2, . . . TN), each of said N individual transmission tasks having an associated computational complexity (Ml, M2, . . . MN), said associated computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks;
(b) performing an evaluation of a set of P computational circuits (C1, C2 . . . CP) for processing said set of N individual transmission tasks, said set of P computational circuits P having an associated gate or transistor count (G1, G2 . . . GP) required for processing each of said set of N individual transmission tasks;
wherein said evaluation includes considering a set of P computational circuits that includes a combination of hardware based computing resources and software based computing resources to be interconnected in a logical hybrid pipeline that is shared by both a transmission process and a receive process;
(c) determining an effective number of instructions per second (MIPs) obtainable by each of said set of P computational circuits when performing at least one of said transmission tasks; and
(d) allocating said N individual transmission tasks to an optimal subset of one or more of said set of P computational circuits (C1, C2 . . . CP) based on a consideration of reducing a total gate or transistor count used for performing said communications transmission process, and such that at least one hardware based computing resource and at least one software based resource are selected from said set of P computational circuits. - View Dependent Claims (8, 9, 10, 11, 12)
- (a) dividing a communications transmission process into a set of N individual transmission tasks (T1, T2, . . . TN), each of said N individual transmission tasks having an associated computational complexity (Ml, M2, . . . MN), said associated computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks;
-
13. A method of operating a multi-port communications system comprising the steps of:
- (a) dividing a communications transmission process for each port in the multi-port communication system into a set of N individual transmission tasks;
(b) allocating each of said N individual transmission tasks for execution by a dedicated application specific integrated circuit (ASIC) or digital signal processor (DSP) based on a gate and/or transistor count required to implement each of said N individual transmission tasks using said ASIC or DSP respectively, and based on a total number of instructions per second (MIPs) achievable by said ASIC and DSP; and
(c) performing said N individual transmission tasks using a logical hybrid pipeline comprised of least both said ASIC and said DSP;
wherein a combination of hardwired logic stages and software based stages are used to effectuate said communications transmission process by interleaving and overlapping execution of said N individual tasks between said hardwired logic stages and software based stages. - View Dependent Claims (14, 15, 16)
- (a) dividing a communications transmission process for each port in the multi-port communication system into a set of N individual transmission tasks;
-
17. A method of operating a communications system comprising the steps of:
- (a) dividing a communications transmission process into N separate transmission tasks;
(b) performing a first set of tasks taken from said N separate transmission tasks using a application specific integrated circuit (ASIC) consisting of dedicated hardware logic; and
(c) performing a second set of tasks taken from said N separate transmission tasks using a digital signal processor (DSP) executing a series of digital signal processing instructions associated with said DSP;
wherein said first set of tasks performed by using said ASIC include those where said ASIC has a first task performance rating measured in effective MIPs per gate or transistor exceeding a second task performance rating achievable by said DSP for each task in said first set of tasks. - View Dependent Claims (18, 19, 20)
- (a) dividing a communications transmission process into N separate transmission tasks;
-
21. A method of controlling a communications system having a plurality of communication ports comprising the steps of:
- (a) dividing a communications process for a first communication port of said plurality of communication ports into N separate tasks;
(b) performing a first set of tasks taken from said N separate tasks for said first communication port using an application specific integrated circuit (ASIC) consisting of dedicated hardware logic; and
(c) perfoming a second set of tasks taken from said N separate tasks for said first communication port using a digital signal processor (DSP) executing a series of digital signal processing instructions associated with said DSP;
wherein in a first mode both of said ASIC and DSP are used to perform said N separate tasks for said first communication port, and in a second mode only said DSP is used to perform said N separate tasks, said first and second modes being selectable based on utilization of available processing resources in the communications system by communication ports other than the first communication port. - View Dependent Claims (22, 23, 24)
- (a) dividing a communications process for a first communication port of said plurality of communication ports into N separate tasks;
-
25. A method of implementing a communications system having a plurality of communication ports comprising the steps of:
- (a) dividing a communications process for a first communication port of said plurality of communication ports into N separate tasks; and
(b) performing a first set of tasks taken from said N separate tasks for said first communication port using an application specific integrated circuit (ASIC) consisting of dedicated hardware logic; and
(c) performing a second set of tasks taken from said N separate tasks for said first communication port using a digital signal processor (DSP) executing a series of digital signal processing instructions associated with said DSP;
wherein said ASIC and said DSP use a total number of gates and/or transistors that are less than that which would be required by one or more DSPs to perform said first set and second set of tasks. - View Dependent Claims (26, 27)
- (a) dividing a communications process for a first communication port of said plurality of communication ports into N separate tasks; and
-
28. A communications system having a plurality of communication ports comprising:
- a plurality of communications ports using a communications process divided into N separate tasks;
an application specific integrated circuit (ASIC) consisting of dedicated hardware logic for performing a first set of tasks taken from said N separate tasks; and
a digital signal processor (DSP) executing a series of digital signal processing instructions associated with said DSP for performing a second set of tasks taken from said N separate tasks;
wherein said ASIC and said DSP use a total number of gates and/or transistors that are less than that which would be required by one or more DSPs alone to perform said first set and second set of tasks. - View Dependent Claims (29, 30, 31)
- a plurality of communications ports using a communications process divided into N separate tasks;
-
32. A scaleable architecture for a communications system, the scaleable architecture having a minimized total gate count and said architecture comprising:
- a plurality of communications ports, each communication port handling a communications process by dividing said communications process into a set of N individual transmission tasks (T1, T2 . . . TN);
wherein each of said N individual transmission tasks has an associated computational complexity (M1, M2, . . . MN), said associated computational complexity being based on a number of instructions per second (MIPs) required by a computational circuit to perform each of said N individual transmission tasks; and
a set of P computational circuits (C1, C2 . . . CP) for processing said set of N individual transmission tasks, each computational circuit having an associated gate or transistor count (G1, G2 . . . GP) required for processing a communications task from said set of N individual transmission tasks, and an associated effective number of number of instructions per second (MIPs) when performing said communications task;
wherein said set of P computational circuits includes a combination of hardware based computing resources and software based computing resources to be interconnected in a logical hybrid pipeline that is shared by both a transmission process and a receive process, with operations for each port being interleaved between said hardware based computing resources and software based computing resources;
further wherein said N individual transmission tasks are allocated for processing based on a comparison of said associated effective number of MIPs achievable by said hardware based computing resources and said software based computing resources. - View Dependent Claims (33, 34, 35, 36, 37)
- a plurality of communications ports, each communication port handling a communications process by dividing said communications process into a set of N individual transmission tasks (T1, T2 . . . TN);
-
38. A communications system having a plurality of communication ports, each communication port processing a data transmission by dividing said processing into a set of N separate tasks, the system comprising:
- an application specific integrated circuit (ASIC) consisting of dedicated hardware logic for performing a first set of tasks taken from said N separate tasks for a first communication port; and
a digital signal processor (DSP) executing a series of digital signal processing instructions associated with said DSP for performing a second set of tasks taken from said N separate tasks for said first communication port;
wherein said ASIC and DSP are interconnected in a logical hybrid pipeline of common computing resources such that they perform processing for more than one of the plurality of communications ports, and such that said ASIC and DSP alternate executing one of said set of N separate tasks for each port;
wherein in a first mode, both said ASIC and DSP are used to perform said N separate tasks for said first communication port, and in a second mode only said DSP is used to perform said N separate tasks, said first and second modes being selectable based on utilization of available processing resources in the communications system by communication ports other than the first communication port. - View Dependent Claims (39, 40, 41)
- an application specific integrated circuit (ASIC) consisting of dedicated hardware logic for performing a first set of tasks taken from said N separate tasks for a first communication port; and
Specification