Dynamic Fault Tree (DFT) is a top-down deductive technique extended to model systems with complex failure behaviours and interactions. In two last decades, different methods have been applied to improve its capabilities such as computational complexity reduction, modularization, intricate failure distribution and reconfiguration. This paper uses Semi-Markov Process theorem for DFT solution with the motivation of obviating the model state-explosion, considering non-exponential failure distribution through a hierarchical solution. In addition, in the proposed method, a universal semi-Markov process for static and dynamic gates is introduced that can generalize dynamic behaviours like functional dependencies, sequences, priorities and spares in a single model. The efficiency of the method regarding precision and competitiveness with commercial tools, repeated events consideration, computational complexity reduction, nonexponential failure distribution consideration and repairable events in DFT is studied by a number of examples, and the results are then compared to those of the selected existing methods.