This article describes a novel parallel Multiunit resource Deadlock Detection Algorithm (MDDA) and its hardware implementation, Multiunit resource hardware Deadlock Detection Unit (MDDU). Its contributions are given as follows: 1) the first O(1) hardware deadlock detection, 2) reduced O(min(m, n)) preparation, where m and n are the number of processes and resources, respectively, and 3) support for multiunit resources. O(min(m, n)), previously O(m x n)), is achieved by performing all the searches for sink nodes for each and every resource in parallel in hardware over two matrices representing resource allocations, as well as other auxiliary matrices. MDDU provides a fast and deterministic deadlock detection mechanism for Multiprocessor System-on-Chips (MPSoCs), which we predict will become prevalent in the near future in system designs. Our experiments demonstrate that MDDU always takes two clock cycles to detect deadlock regardless of the size of the system. Last, the MPSoC area overhead due to MDDU is small, approximately, 0.024 percent for MDDU16 x 16 on our example MPSoC.