Max-pooling simulation device
By designing a max-pooling analog device using analog circuitry, and utilizing comparator units, storage units, and analog-to-digital converters, the high power consumption and large area of traditional digital max-pooling circuits are solved, achieving more efficient circuit operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIHANG UNIV
- Filing Date
- 2022-11-03
- Publication Date
- 2026-05-29
AI Technical Summary
Traditional digital max-pooling circuits suffer from high power consumption and large footprint as the amount of input data increases, leading to a sharp increase in circuit size.
The design employs analog circuitry, including a comparison unit, a storage unit, and an analog-to-digital converter. Voltage comparison is performed using a comparison circuit and a latch, voltage storage is achieved using a transmission gate and a capacitor, and maximum pooling is realized with the help of a zero-reset unit.
Max pooling is achieved through analog circuitry, which reduces power consumption, decreases circuit area, and improves circuit efficiency.
Smart Images

Figure CN115906967B_ABST
Abstract
Description
Technical Field
[0001] This application relates to electronic circuits, specifically to analog circuits, and more particularly to a maximum pooling analog device. Background Technology
[0002] Neural networks and deep learning have developed rapidly in the field of artificial intelligence in recent years, achieving many successful applications. Convolutional Neural Networks (CNNs) are a widely used deep learning algorithm model, extensively applied in tasks such as image recognition and pattern recognition. They mainly consist of convolutional layers, pooling layers, and fully connected layers. Pooling layers, also known as downsampling layers, are introduced between convolutional layers to reduce the spatial size of the image, thereby further reducing the number of parameters, while avoiding overfitting and increasing the robustness of the neural network. Max pooling is one of the commonly used pooling methods, often implemented using digital circuits. Traditional digital max pooling circuits require multiple comparators, selectors, accumulators, registers, and other circuit modules. Furthermore, as the amount of input data increases, the circuit size also increases dramatically, leading to high power consumption and a large footprint. Summary of the Invention
[0003] In view of the problems in the prior art, this application provides a maximum pooling simulation device that can at least partially solve the problems in the prior art.
[0004] To solve the above-mentioned technical problems, this application provides the following technical solution:
[0005] In a first aspect, this application provides a maximum pooling simulation apparatus, comprising: a comparison unit, a storage unit, and an analog-to-digital conversion unit; wherein:
[0006] The comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage pre-stored in the storage unit to obtain a comparison result;
[0007] When the comparison result indicates that the input voltage is greater than the output voltage, the positive terminal of the comparison unit outputs a high level, the negative terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to the input voltage.
[0008] The analog-to-digital conversion unit is connected to the storage unit and is used to convert the final output voltage from an analog signal into a digital signal and output it when the comparison unit has completed receiving all input voltages.
[0009] Specifically, when the comparison result indicates that the input voltage is less than the output voltage, the positive terminal of the comparison unit outputs a low level, the negative terminal of the comparison unit outputs a high level, and the output voltage remains unchanged.
[0010] The comparison unit includes: a comparison circuit, a latch, and an inverter; wherein:
[0011] The comparison circuit is used to compare the received input voltage with the output voltage pre-stored in the storage unit. When the input voltage is greater than the output voltage, it outputs a high level; when the input voltage is less than or equal to the output voltage, it outputs a low level.
[0012] The latch is used to store the high or low level output of the comparison circuit and output it to the positive output terminal of the comparison unit;
[0013] The inverter is used to convert the high level output of the latch to a low level and output it to the inverting output terminal of the comparator unit when the latch outputs a high level, and to convert the low level output to a high level and output it to the inverting output terminal of the comparator unit when the latch outputs a low level.
[0014] The comparison circuit can perform comparisons using either a static comparison circuit or a dynamic comparison circuit.
[0015] The storage unit includes: a transmission gate and a capacitor; wherein:
[0016] When the comparator outputs a high level at the positive terminal and a low level at the negative terminal, the transmission gate is used to open the transmission gate, charge the capacitor, and adjust the output voltage to the input voltage.
[0017] It also includes a zeroing unit, which is connected to the storage unit and is used to discharge the capacitor in the storage unit before the comparison unit starts receiving the input data, so as to set the output voltage to zero.
[0018] Secondly, this application provides a convolutional neural network system, comprising: a convolution device and the above-described max-pooling simulation device; wherein:
[0019] The convolution device is used to receive raw data, perform convolution operation on the raw data, obtain the convolution result and output it in the form of voltage as the input voltage of the maximum pooling simulation device.
[0020] The maximum pooling simulation device includes a comparison unit, a storage unit, and an analog-to-digital conversion unit; wherein:
[0021] The comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage pre-stored in the storage unit to obtain a comparison result;
[0022] When the comparison result indicates that the input voltage is greater than the output voltage, the positive terminal of the comparison unit outputs a high level, the negative terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to the input voltage.
[0023] The analog-to-digital conversion unit is connected to the storage unit and is used to convert the final output voltage from an analog signal into a digital signal and output it when the comparison unit has completed receiving all input voltages.
[0024] Specifically, when the comparison result indicates that the input voltage is less than the output voltage, the positive terminal of the comparison unit outputs a low level, the negative terminal of the comparison unit outputs a high level, and the output voltage remains unchanged.
[0025] Thirdly, this application provides a maximum pooling simulation method, including:
[0026] Receive a set of input voltages, perform the following iterative operation to store the largest input voltage as the output voltage, and then convert the output voltage from an analog signal to a digital signal before outputting it:
[0027] The input voltage is received, and the input voltage is compared with the pre-stored output voltage to obtain the comparison result;
[0028] When the comparison result indicates that the input voltage is greater than the output voltage, the output voltage is adjusted to the input voltage.
[0029] This also includes:
[0030] Before receiving the input voltage, the output voltage is set to zero.
[0031] The max-pooling analog device provided in this application includes: a comparison unit, a storage unit, and an analog-to-digital converter (ADC); wherein: the comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage to be pre-stored in the storage unit to obtain a comparison result; when the comparison result is that the input voltage is greater than the output voltage to be output, the positive output terminal of the comparison unit outputs a high level, the negative output terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to be output to the input voltage; the ADC is connected to the storage unit, and when the comparison unit has completed receiving all input voltages, it converts the finally obtained output voltage from an analog signal into a digital signal and outputs it, which can realize max-pooling operation through analog circuits, reduce the power consumption of max-pooling circuits, and reduce circuit area. Attached Figure Description
[0032] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0033] Figure 1 A schematic diagram of the maximum pooling simulation device provided in an embodiment of this application;
[0034] Figure 2 A circuit diagram of a maximum pooling simulation device provided in an embodiment of this application;
[0035] Figure 3 A circuit diagram of a dynamic comparison circuit provided in an embodiment of this application;
[0036] Figure 4 A schematic diagram of the maximum pooling simulation device provided in an embodiment of this application;
[0037] Figure 5 This is a schematic diagram of a convolutional neural network system structure provided in an embodiment of this application;
[0038] Figure 6 A flowchart of a maximum pooling simulation method provided in an embodiment of this application. Detailed Implementation
[0039] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit this application. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be arbitrarily combined with each other.
[0040] Figure 1 This is a schematic diagram of the maximum pooling simulation device provided in an embodiment of this application, as shown below. Figure 1 As shown, the max pooling simulation device provided in this application embodiment includes: a comparison unit 101, a storage unit 102, and an analog-to-digital conversion unit 103; wherein:
[0041] The comparison unit 101 is connected to the storage unit 102 and is used to compare the received input voltage with the output voltage pre-stored in the storage unit 102 to obtain the comparison result;
[0042] Specifically, the input voltage and the output voltage are input to the comparison unit 101 for comparison to obtain the comparison result.
[0043] When the comparison result is that the input voltage is greater than the output voltage, the positive terminal 104 of the comparison unit 101 outputs a high level and the negative terminal 105 of the comparison unit 101 outputs a low level, and the storage unit 102 adjusts the output voltage to the input voltage.
[0044] The analog-to-digital conversion unit 103 is connected to the storage unit 102 and is used to convert the final output voltage from an analog signal to a digital signal and output it when the comparison unit 101 has completed receiving all the input voltages.
[0045] Based on the above embodiments, when the comparison result is that the input voltage is less than the output voltage, the positive terminal 104 of the comparison unit 101 outputs a low level, the negative terminal 105 of the comparison unit 101 outputs a high level, and the output voltage remains unchanged.
[0046] The max-pooling analog device provided in this application includes: a comparison unit, a storage unit, and an analog-to-digital converter (ADC); wherein: the comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage pre-stored in the storage unit to obtain a comparison result; when the comparison result is that the input voltage is greater than the output voltage, the positive output terminal of the comparison unit outputs a high level, the negative output terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to the input voltage; the ADC is connected to the storage unit, and when the comparison unit has completed receiving all input voltages, it converts the finally obtained output voltage from an analog signal into a digital signal and outputs it, which can realize max-pooling operation through analog circuit, reduce the power consumption of max-pooling circuit, and reduce the circuit area.
[0047] Figure 2 This is a circuit diagram of a maximum pooling simulation device provided in an embodiment of this application, such as... Figure 2As shown, based on the above embodiments, the comparison unit 101 further includes: a comparison circuit 201, a latch 202, and an inverter 203; wherein:
[0048] The comparator circuit 201 is used to compare the received input voltage with the output voltage pre-stored in the storage unit. When the input voltage is greater than the output voltage, it outputs a high level; when the input voltage is less than or equal to the output voltage, it outputs a low level.
[0049] The latch 202 is used to store the high or low level output of the comparator circuit 201 and outputs it to the positive output terminal of the comparator unit 101;
[0050] Specifically, since the output of the comparator circuit may fluctuate, a latch is needed to latch the output level to ensure that no matter how the comparator output changes, the high or low level can be stably output to the positive output terminal of the comparator unit 101 through the latch.
[0051] Inverter 203 is used to convert the high level of latch 202 to a low level and output it to the inverting output terminal of comparator 101 when latch 202 outputs a high level, and to convert the low level to a high level and output it to the inverting output terminal of comparator 101 when latch 202 outputs a low level.
[0052] Based on the above embodiments, the comparison circuit can further compare data using either a static comparison circuit or a dynamic comparison circuit.
[0053] Specifically, such as Figure 2 As shown, Figure 2 In this embodiment, the comparison circuit 201 is a static comparison circuit composed of comparators. The comparison circuit 201 can also be implemented by a dynamic comparison circuit.
[0054] Figure 3 This is a circuit diagram of a dynamic comparison circuit provided in an embodiment of this application, wherein VDD is the power supply, PM0, PM1, PM2 and PM3 are PMOS, NM0, NM1, NM2, NM3, NM4 and NM5 are NMOS, PM1, PM3, NM1 and NM0 constitute an interlocked amplifier, pre and en are control ports, in is the input voltage input port, ref is the output voltage input port, out is the comparison result output port, and two inverters are respectively connected to the two comparison result output ports;
[0055] Before the comparison begins, pre and en are set to low level, and power supply VDD charges the two branches, making points A and B have high potential and the same potential.
[0056] During the comparison operation, `pre` and `en` are set to high level. The input voltage is input to the `in` port, and the output voltage is input to the `ref` port. Both branches discharge to ground. If the input voltage is greater than the output voltage, the left branch discharges faster, and the potential at point A drops faster than at point B. When the potential at point A drops below the decision threshold of the inverter, the interlocked amplifier further amplifies the potential difference between points A and B, pulling the potential at point A down to 0. After being inverted by the left inverter, a high level is output at the left `out` port. If the output voltage is greater than the input voltage, the right branch discharges faster, and the potential at point B drops faster than at point A. When the potential at point B drops below the decision threshold of the inverter, the interlocked amplifier further amplifies the potential difference between points A and B, pulling the potential at point B down to 0. After being inverted by the right inverter, a high level is output at the right `out` port. Therefore, this circuit can compare the input voltage and the output voltage.
[0057] The max-pooling simulation device provided in this application includes a comparator circuit, a latch, and an inverter. The comparator circuit compares the received input voltage with a pre-stored output voltage in a storage unit. When the input voltage is greater than the output voltage, it outputs a high level; when the input voltage is less than or equal to the output voltage, it outputs a low level. The latch stores the high or low level output by the comparator circuit and outputs it to the positive terminal of the comparator unit. The inverter converts the high level output by the latch to a low level and outputs it to the negative terminal of the comparator unit; conversely, when the latch outputs a low level, it converts the low level output to a high level and outputs it to the negative terminal of the comparator unit. This device enables max-pooling operation by comparing voltages using an analog circuit, reducing power consumption and circuit area.
[0058] like Figure 2 As shown, based on the above embodiments, the storage unit 102 further includes: a transmission gate 204 and a capacitor 205; wherein:
[0059] When the comparator unit 101 outputs a high level at the positive terminal 104 and a low level at the negative terminal 105, the transmission gate 204 is used to open the transmission gate path, charge the capacitor 205, and adjust the output voltage to the input voltage.
[0060] Specifically, when the positive terminal 104 of the comparison unit 101 outputs a high level and the negative terminal 105 outputs a low level, the opening condition of the transmission gate 204 is met, the circuits on both sides of the transmission gate are connected, and the input voltage charges the capacitor 205 until the voltage on both sides of the capacitor 205 is the same as the input voltage. At this time, the output voltage is adjusted to the input voltage.
[0061] The maximum pooling simulation device provided in this application includes a transmission gate and a capacitor; wherein: when the positive output terminal of the comparison unit outputs a high level and the negative output terminal outputs a low level, the transmission gate is used to open the transmission gate path, charge the capacitor, adjust the output voltage to be input voltage, and store the output voltage through the analog circuit to output to the analog-to-digital conversion unit, thereby reducing the power consumption of the maximum pooling circuit and reducing the circuit area.
[0062] Figure 4 This is a schematic diagram of the maximum pooling simulation device provided in an embodiment of this application, as shown below. Figure 4 As shown, based on the above embodiments, the max-pooling simulation device further includes a zeroing unit 106, which is used to discharge the capacitor in the storage unit before the comparison unit starts receiving input data, and set the output voltage to zero.
[0063] Specifically, the zero-return unit 106 includes an NMOS transistor. Figure 2 As shown in Figure 206, before the comparison unit starts receiving data, the SET terminal of the NMOS is set to a high level, the NMOS is turned on, the capacitor 205 is discharged, and the output voltage is set to zero.
[0064] The max-pooling simulation device provided in this application includes a zeroing unit; the zeroing unit is connected to the storage unit and is used to discharge the capacitor in the storage unit before the comparison unit starts receiving input data, so as to set the output voltage to zero. It can realize max-pooling operation through simulation circuit, reduce the power consumption of max-pooling circuit, and reduce the circuit area.
[0065] Figure 5 This is a schematic diagram of a convolutional neural network system structure provided in an embodiment of this application, including: a convolution device 501 and a maximum pooling simulation device 502 in the above embodiments; wherein:
[0066] The convolution device 501 is used to receive raw data, perform a convolution operation on the raw data, obtain the convolution result and output it in the form of voltage as the input voltage of the maximum pooling simulation device.
[0067] Specifically, the convolution device can be a digital circuit or an analog circuit. If the convolution device is a digital circuit, it should also include a digital-to-analog conversion unit to convert the convolution result from a digital signal into an analog signal and output it in the form of voltage.
[0068] The maximum pooling simulation device 502 includes a comparison unit 101, a storage unit 102, and an analog-to-digital conversion unit 103; wherein:
[0069] The comparison unit 101 is connected to the storage unit 102 and is used to compare the received input voltage with the output voltage pre-stored in the storage unit 102 to obtain the comparison result;
[0070] When the comparison result is that the input voltage is greater than the output voltage, the positive terminal of the comparison unit 101 outputs a high level and the negative terminal of the comparison unit 101 outputs a low level, and the storage unit 102 adjusts the output voltage to the input voltage.
[0071] The analog-to-digital conversion unit 103 is connected to the storage unit 102 and is used to convert the final output voltage from an analog signal to a digital signal and output it when the comparison unit 101 has completed receiving all the input voltages.
[0072] Based on the above embodiments, when the comparison result is that the input voltage is less than the output voltage, the positive terminal of the comparison unit 101 outputs a low level, the negative terminal of the comparison unit 101 outputs a high level, and the output voltage remains unchanged.
[0073] The convolutional neural network system provided in this application includes: a convolution device and a max-pooling simulation device in the above embodiments; wherein: the convolution device is used to receive raw data, perform a convolution operation on the raw data, obtain a convolution result and output it in the form of a voltage as the input voltage of the max-pooling simulation device; the max-pooling simulation device includes a comparison unit, a storage unit and an analog-to-digital conversion unit; wherein: the comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage to be pre-stored in the storage unit to obtain a comparison result; when the comparison result is that the input voltage is greater than the output voltage to be output, the positive output terminal of the comparison unit outputs a high level and the negative output terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to be output as the input voltage; the analog-to-digital conversion unit is connected to the storage unit and is used to convert the final output voltage to be output from an analog signal to a digital signal and output it when the comparison unit has completed receiving all input voltages, which can reduce circuit power consumption and reduce circuit area while completing the convolution pooling operation.
[0074] Figure 6 This is a flowchart of a maximum pooling simulation method provided in an embodiment of this application, as shown below. Figure 6 As shown, the following describes the specific implementation process of the max pooling simulation method provided by the present invention, taking the above-mentioned max pooling simulation device as the execution subject. The max pooling simulation method provided by this application includes:
[0075] S601: Receives input voltage;
[0076] Specifically, it can receive input voltage to the comparator unit.
[0077] S602: Determine whether the input voltage is greater than the pre-stored output voltage;
[0078] Specifically, the input voltage can be compared with the pre-stored output voltage through the comparison unit to obtain the comparison result. If the comparison result is that the input voltage is greater than the output voltage, the process proceeds to S603.
[0079] S603: Adjust the output voltage to the input voltage;
[0080] Specifically, the output voltage can be adjusted to the input voltage through the storage unit. When the comparison result is that the input voltage is greater than the output voltage, the positive terminal of the comparison unit outputs a high level, and the negative terminal of the comparison unit outputs a low level. The transmission gate of the storage unit opens the transmission gate path, and the input voltage charges the capacitor through the transmission gate path, thus adjusting the output voltage to the input voltage.
[0081] S604: Determine whether all input voltages have been received;
[0082] Specifically, it determines whether all input voltages have been received. If all input voltages have been received, it proceeds to S605. If there are still unreceived input voltages, it loops back to S601.
[0083] S605: Converts the voltage to be output from an analog signal to a digital signal and outputs it.
[0084] Specifically, analog signals can be converted into digital signals and output using an analog-to-digital converter.
[0085] Based on the above embodiments, the output voltage is further set to zero before receiving the input voltage.
[0086] Specifically, the output voltage can be set to zero through a zeroing unit. The zeroing unit is connected to the storage unit and includes an NMOS. When the SET terminal of the NMOS is set to a high level, the NMOS is turned on, the capacitor of the storage unit is discharged, and the output voltage is set to zero.
[0087] The max-pooling simulation method provided in this application can receive a set of input voltages, store the largest input voltage as the final output voltage, and convert the output voltage from an analog signal to a digital signal and output it when all input voltages have been received. During the process of receiving a set of input voltages and storing the largest input voltage as the final output voltage, an iterative operation is performed: receiving the input voltage, comparing the input voltage with the pre-stored output voltage, and obtaining a comparison result; when the comparison result shows that the input voltage is greater than the output voltage, adjusting the output voltage to match the input voltage. This reduces circuit power consumption and circuit area while completing the pooling operation.
[0088] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0089] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0090] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0091] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0092] This application uses specific embodiments to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A maximum pooling simulation device, characterized in that, include: The system comprises a comparison unit, a storage unit, and an analog-to-digital conversion unit; wherein: The comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage pre-stored in the storage unit to obtain a comparison result; When the comparison result indicates that the input voltage is greater than the output voltage, the positive terminal of the comparison unit outputs a high level, the negative terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to the input voltage. The analog-to-digital conversion unit is connected to the storage unit and is used to convert the final output voltage from an analog signal into a digital signal and output it when the comparison unit has completed receiving all input voltages; The storage unit includes a transmission gate and a capacitor; wherein: when the comparator outputs a high level at the positive terminal and a low level at the negative terminal, the transmission gate is used to open the transmission gate path, charge the capacitor, and adjust the output voltage to the input voltage.
2. The maximum pooling simulation apparatus according to claim 1, characterized in that, When the comparison result indicates that the input voltage is less than the output voltage, the positive terminal of the comparison unit outputs a low level, the negative terminal of the comparison unit outputs a high level, and the output voltage remains unchanged.
3. The maximum pooling simulation apparatus according to claim 2, characterized in that, The comparison unit includes: a comparison circuit, a latch, and an inverter; wherein: The comparison circuit is used to compare the received input voltage with the output voltage pre-stored in the storage unit. When the input voltage is greater than the output voltage, it outputs a high level; when the input voltage is less than or equal to the output voltage, it outputs a low level. The latch is used to store the high or low level output of the comparison circuit and output it to the positive output terminal of the comparison unit; The inverter is used to convert the high level output of the latch to a low level and output it to the inverting output terminal of the comparator unit when the latch outputs a high level, and to convert the low level output to a high level and output it to the inverting output terminal of the comparator unit when the latch outputs a low level.
4. The maximum pooling simulation apparatus according to claim 3, characterized in that, The comparison circuit can perform comparisons using a static comparison circuit or a dynamic comparison circuit.
5. The maximum pooling simulation apparatus according to claim 1, characterized in that, Also includes: A zeroing unit, connected to the storage unit, is used to discharge the capacitor in the storage unit before the comparison unit starts receiving input data, thereby setting the output voltage to zero.
6. A convolutional neural network system, characterized in that, include: The convolution device and the max pooling simulation device as described in claim 1; wherein: The convolution device is used to receive raw data, perform convolution operation on the raw data, obtain the convolution result and output it in the form of voltage as the input voltage of the maximum pooling simulation device. The maximum pooling simulation device includes a comparison unit, a storage unit, and an analog-to-digital conversion unit; wherein: The comparison unit is connected to the storage unit and is used to compare the received input voltage with the output voltage pre-stored in the storage unit to obtain a comparison result; When the comparison result indicates that the input voltage is greater than the output voltage, the positive terminal of the comparison unit outputs a high level, the negative terminal of the comparison unit outputs a low level, and the storage unit adjusts the output voltage to the input voltage. The analog-to-digital conversion unit is connected to the storage unit and is used to convert the final output voltage from an analog signal into a digital signal and output it when the comparison unit has completed receiving all input voltages; The storage unit includes a transmission gate and a capacitor; wherein: when the comparator outputs a high level at the positive terminal and a low level at the negative terminal, the transmission gate is used to open the transmission gate path, charge the capacitor, and adjust the output voltage to the input voltage.
7. The convolutional neural network system according to claim 6, characterized in that, When the comparison result indicates that the input voltage is less than the output voltage, the positive terminal of the comparison unit outputs a low level, the negative terminal of the comparison unit outputs a high level, and the output voltage remains unchanged.
8. A max pooling simulation method, applied to the max pooling simulation apparatus of claim 1, characterized in that, include: Receive a set of input voltages, perform the following iterative operation to store the largest input voltage as the output voltage, and then convert the output voltage from an analog signal to a digital signal before outputting it: The input voltage is received, and the input voltage is compared with the pre-stored output voltage to obtain the comparison result; When the comparison result indicates that the input voltage is greater than the output voltage, the output voltage is adjusted to the input voltage.
9. The maximum pooling simulation method according to claim 8, characterized in that, Also includes: Before receiving the input voltage, the output voltage is set to zero.