HARDWARE-CONFIGURABLE LOGIC UNIT AND MICROCONTROLLER HAVING SUCH A HARDWARE-CONFIGURABLE LOGIC UNIT
20180196908 ยท 2018-07-12
Inventors
Cpc classification
G06F7/785
PHYSICS
G06F30/34
PHYSICS
International classification
Abstract
A hardware-configurable logic unit having a plurality of coarse-grain hardware elements and having a control element, the control element being set up to allow a configuration of the coarse-grain hardware elements to be modified.
Claims
1. A hardware-configurable logic unit, comprising: a plurality of coarse-grain hardware elements; and a control element set up to allow a configuration of the coarse-grain hardware elements to be modified.
2. The hardware-configurable logic unit as recited in claim 1, wherein the control element is set up to modify the configuration of the coarse-grain hardware elements during normal operation of the hardware-configurable logic unit.
3. The hardware-configurable logic unit as recited in claim 1, wherein the control element is set up to check the configuration and a state of at least one of the coarse-grain hardware elements, and, as a result of that check, to modify the configuration of the coarse-grain hardware elements.
4. The hardware-configurable logic unit as recited in claim 1, further comprising: a second control element that is set up to modify the configuration of the control element.
5. The hardware-configurable logic unit as recited in claim 4, further comprising: an interface to receive a control signal, the hardware-configurable logic unit being set up to modify a configuration of the second control element upon reception of the control signal.
6. The hardware-configurable logic unit as recited in claim 4, further comprising: a third control element that is set up to at least one of: (i) check the configuration and the state of at least one of the coarse-grain hardware elements, and (ii) check the configuration of the second control element and to modify the configuration of the second control element as a result of that check.
7. The hardware-configurable logic unit as recited in claim 6, wherein one control element, one second control element, and one third control element, being respectively assigned to each coarse-grain hardware element of the plurality of coarse-grain hardware elements.
8. The hardware-configurable logic unit as recited in claim 1, which is set up to be integrated into a microcontroller as a component.
9. The hardware-configurable logic unit as recited in claim 8, further comprising: an interface that is set up to connect the hardware-configurable logic unit to at least one of: (i) an internal communication system of the microcontroller, and (ii) an external communication system of the microcontroller.
10. The hardware-configurable logic unit as recited in claim 9, wherein the interfaces is set up to exchange at least one of data and control signals, with at least one of further components of the microcontroller, and further external components.
11. The hardware-configurable logic unit as recited claim 1, wherein individual coarse-grain hardware elements of the plurality of coarse-grain hardware elements are respectively embodied as an arithmetic logic unit, register, multiplexer, bus, comparator, memory unit, adder, multiplier, divider, shift register, barrel shifter, multiply-accumulate unit, register block, and interface.
12. The hardware-configurable logic unit as recited in claim 1, which is set up to map algorithms, which are represented as a data flow or as data-flow-like, into the hardware-configurable logic unit.
13. A microcontroller having a hardware-configurable logic unit, the hardware-configurable logic unit comprising: a plurality of coarse-grain hardware elements; and a control element set up to allow a configuration of the coarse-grain hardware elements to be modified.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0042]
[0043]
[0044]
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0045] In
[0046] Hardware-configurable logic unit 100 has a plurality of coarse-grain hardware elements, i.e. elements having more than one logic gate, for example a first ALU 110, a second ALU 120, a first connecting structure 130, a second connecting structure 140, a comparator 150, a memory unit 160, a first interface 170, and a second interface 180.
[0047] Memory unit 160 is embodied, for example, as RAM. First connecting structure 130 is embodied, for example, as a 2:1 multiplexer, and second connecting structure 140 as an M:N multiplexer. Second connecting structure 140 can also be embodied, for example, as a bus system.
[0048] The configuration and connecting structure of the individual coarse-grain hardware elements 110 to 180 can be modified so that hardware-configurable logic unit 100 can be redefined at a hardware level. Logic unit 100 has for this purpose a system of control elements 190 which is set up to modify the configuration of coarse-grain hardware element 110 to 180, as will be explained in detail later with reference to
[0049] Hardware-configurable logic unit 100 can be integrated particularly advantageously as a component into a microcontroller.
[0050] In
[0051] Microcontroller 200 can be used, for example, in a control device of a motor vehicle. Microcontroller 200 has an internal communication system 201 that is embodied, for example, as a microcontroller bus. A plurality of internal components are connected to one another in data-transferring fashion via communication system 201. Such components are, for example, processor units (or processor cores) 211, 212, 213 as well as further peripheral elements such as a memory unit 221 in the form of a RAM memory, an input 222 (e.g., bus interface, digital input, ADC, etc.) for connecting microcontroller 200 to sensors and an output 223 (e.g., bus interface, digital output, DAC, etc.) for connecting microcontroller 200 to actuators.
[0052] Microcontroller 200 can furthermore have an external communication system 202 that is embodied, for example, as a bus system and/or directly via I/O pins. A plurality of components external to the microcontroller are connected to one another in data-transferring fashion via communication system 202. Such components are, for example, a further microcontroller 300, an ASIC 400, and a further discrete component 500.
[0053] Hardware-configurable logic unit 100 according to
[0054] Hardware-configurable logic unit 100 can exchange data and signals, via interfaces 170 and 180, with the further components of microcontroller 200 and with external components 300, 400, 500. In particular, hardware-configurable logic unit 100 can receive, via interface 170, control signals according to which the configuration of coarse-grain hardware elements 110 to 180 can be modified. In addition, hardware-configurable logic unit 100 can also independently modify the configuration on its own, as will be described below with reference to
[0055]
[0056] As depicted in
[0057] First control element 310 checks the current configuration or current state of coarse-grain hardware elements 101, indicated by reference character 311a. As a result of this check, first control element 310 can modify the current configuration of coarse-grain hardware elements 101, indicated by reference character 311b. First control element 310 controls, monitors, and carries out this reconfiguration.
[0058] Second control element 320 can modify and correspondingly apply control to first control element 310, indicated by reference character 321. First control element 310, in particular, likewise checks the current configuration specification of second control element 320. If the current configuration of first control element 310 and the configuration specification of second control element 320 differ, first control element 310 adapts its configuration appropriately to the configuration specification of second control element 320.
[0059] Second control element 320 can thus instruct first control element 310 to modify the configuration of coarse-grain hardware elements 101.
[0060] By way of a change in the configuration of second control element 320, first control element 310 can thus be instructed to reconfigure coarse-grain hardware elements 101. This configuring of second control element 320, and thus the reconfiguring of coarse-grain hardware elements 101, can be carried out from within by hardware-configurable logic unit 100 itself, or also by further components of microcontroller 200.
[0061] For the latter case, a corresponding component of microcontroller 200, for example processor unit 211, can convey a corresponding control signal 322 to hardware-configurable logic unit 100. In response to that signal, second control element 320 is correspondingly configured from outside, for example by the fact that threshold values or a number of loop cycles are set, and that individual states to be evaluated, and the logical combinations thereof, are selected.
[0062] Third control element 330 is provided in order to configure second control element 320 from within by way of logic unit 100 itself. Third control element 330 checks the current configuration and the states of the individual coarse-grain hardware elements 101, indicated by reference character 331, as well as the current configuration of second control element 320, indicated by reference character 322a, and on the basis of that check can dynamically configure second control element 320 during the operation of logic unit 100, indicated by reference character 332b, for example by dynamically setting threshold values, tracking input models, selecting alternative computation methods, dynamically modifying logical relationships of individual states, etc.