Pin multiplexing
View Patent ↗There is provided a semiconductor device for multiplexing across a plurality of shared Input/Output (I/O) pins. The semiconductor device comprises a first core for operation of a first function, a second core for operation of a second function, a multiplexer and an additional hardware module. The multiplexer is arranged to set the I/O pins to the first function or to the second function at power up. The hardware module comprises an arbiter arranged to receive requests from the cores for use of the I/O pins and to grant use of the I/O pins to a selected core as required. Thus, the hardware module can switch functions dynamically and dual mode multiplexing is enabled.
1. A semiconductor device for multiplexing across a plurality of Input/Output (I/O) pins, the semiconductor device comprising:
a first core within the semiconductor device for operation of a first function;
a second core within the semiconductor device for operation of a second function;
a multiplexer arranged to set the I/O pins to the first function or to the second function at power up; and a hardware module comprising an arbiter arranged to receive requests from the cores for use of the I/O pins, and to grant use of the I/O pins to a selected core, as required on the fly without the need for a power restart.
2. The semiconductor device of claim 1 wherein the hardware module is operable at a first logic setting or a second logic setting wherein, at the first logic setting, the I/O pins are set to the function selected by the multiplexer at power up and, at the second logic setting, the arbiter sets the I/O pins to the function of the selected core.
3. The semiconductor device of claim 1 wherein the multiplexer is arranged to set the I/O pins to a preselected one of the first and the second function at power up.
4. The semiconductor device of claim 1 arranged to operate with a third core for operation of a third function.
5. The semiconductor device of claim 4 comprising the third core.
6. The semiconductor device of claim 1 wherein each request from a core comprises an active signal from the core to the arbiter.
7. The semiconductor device of claim 1 wherein each grant to a selected core comprises an active signal from the arbiter to the selected core.
8. A hardware module for a semiconductor device for multiplexing across a plurality of Input/Output (I/O) pins, the semiconductor device comprising a first core within the semiconductor device for operation of a first function, a second core within the semiconductor device for operation of a second function and a multiplexer arranged to set the I/O pins to the first function or to the second function at power up, the hardware module comprising an arbiter arranged to receive requests from the cores for use of the I/O pins, and to grant use of the I/O pins to a selected core, as required on the fly without the need for a power restart.
9. The hardware module of claim 8 wherein the hardware module is operable at a first logic setting or a second logic setting wherein, at the first logic setting, the I/O pins are set to the function selected by the multiplexer at power up and, at the second logic setting, the arbiter sets the I/O pins to the function of the selected core.
10. The hardware module of claim 8 further comprising an interface for one or each care for communicating with the arbiter.
11. A method for multiplexing across a plurality of Input/Output (I/O) pins, between a first core and a second core within the semiconductor device a semiconductor device, the first care being arranged far operation of a first function, the second core being arranged for operation of a second function, the method comprising the steps of:
a) providing a hardware module within the semiconductor device, the hardware module comprising an arbiter;
b) the first core and/or the second core sending a request to the arbiter for use of the I/O pins;
c) the arbiter granting the request of a selected core as required on the fly without the need for a power restart; and
d) the selected core receiving and/or sending data over the I/O pins.
12. The method of claim 11 wherein step b) comprises the first core and/or the second core setting a request signal to active.
13. The method of claim 11 wherein step c) comprises the arbiter setting a grant signal active for the selected core.
14. The method of claim 11 further comprising, before step d), the step of the selected core setting a busy signal to active.
15. The method of claim 14 wherein the selected core maintains the busy signal active while the selected core sends and/or receives data over the I/O pins.
16. The method of claim 14 wherein the selected core sets the busy signal to inactive once step d) is complete.
17. A semiconductor device for multiplexing across a plurality of Input/Output (I/O) pins, the semiconductor device comprising a Flash core; a PCI (Peripheral Component Interconnect) core; a multiplexer arranged to set the I/O pins to Flash function at power up; and a hardware module comprising a PCI arbiter and a modified Flash arbiter, the PCI arbiter arranged to receive requests from the Flash core and the PCI core for use of the I/O pins and to grant use of the I/O pins to a selected core as required, the modified Flash arbiter being arranged to interface between the Flash core and the PCI arbiter.