A generator of phases of an electromagnetic radiations detector, the generator integrating at least one elementary machine for interpreting a microcode stored in a register, each elementary machine comprising: ▪ at least one control input (GPI_0, GPI_1) comprising a logic level change detector; ▪ at least one phase output (GPO_0-GPO_9) comprising a controlled switch, enabling to define the logic level of the phase output (GPO_0-GPO_9), and a controlled inverter enabling to toggle the logic level of the phase output (GPO_0-GPO_9); ▪ at least one clock signal (MCK, Clk1) associated with a counter; ▪ a unit for loading the instructions (Inst) and the arguments (Arg) stored in the register, the instructions (Inst) being coded over 3 bits and enabling to implement at least: - an application (Set_GPO_Init) of a logic level onto at least one phase output (GPO_0-GPO_9); - a toggling (Toggle) of the logic level of at least one phase output (GPO_0-GPO_9); - a synchronization (Sync) with a logic change of a control input (GPI_0, GPI_1); - a wait (Wait) for a predetermined duration; and - a restarting (Restart) of a predetermined sequence; ▪ means for inhibiting the loading unit; and ▪ a unit for executing the instructions (Inst) loaded by the loading unit, the execution unit being configured to: - control the position of at least one controlled switch after an instruction (Inst) of application (Set_GPO_Init); - control the activation of at least one controlled inverter after an instruction (Inst) to toggle (Toggle); - detect (IntOR, IntOF, Int1R, Int1F) a logic change after an instruction (Inst) of synchronization (Sync); - control the inhibition by the inhibition means for a duration measured by the counter after a wait instruction (Wait); and - control the position of a pointer (Point) of the loading unit after a restart instruction (Restart). ▪ at least one control input (GPI_0, GPI_1) comprising a logic level change detector; ▪ at least one phase output (GPO_0-GPO_9) comprising a controlled switch, enabling to define the logic level of the phase output (GPO_0-GPO_9), and a controlled inverter enabling to toggle the logic level of the phase output (GPO_0-GPO_9); ▪ at least one clock signal (MCK, Clk1) associated with a counter; ▪ a unit for loading the instructions (Inst) and the arguments (Arg) stored in the register, the instructions (Inst) being coded over 3 bits and enabling to implement at least: - an application (Set_GPO_Init) of a logic level onto at least one phase output (GPO_0-GPO_9); - a toggling (Toggle) of the logic level of at least one phase output (GPO_0-GPO_9); - a synchronization (Sync) with a logic change of a control input (GPI_0, GPI_1); - a wait (Wait) for a predetermined duration; and - a restarting (Restart) of a predetermined sequence; - an application (Set_GPO_Init) of a logic level onto at least one phase output (GPO_0-GPO_9); - a toggling (Toggle) of the logic level of at least one phase output (GPO_0-GPO_9); - a synchronization (Sync) with a logic change of a control input (GPI_0, GPI_1); - a wait (Wait) for a predetermined duration; and - a restarting (Restart) of a predetermined sequence; ▪ means for inhibiting the loading unit; and ▪ a unit for executing the instructions (Inst) loaded by the loading unit, the execution unit being configured to: - control the position of at least one controlled switch after an instruction (Inst) of application (Set_GPO_Init); - control the activation of at least one controlled inverter after an instruction (Inst) to toggle (Toggle); - detect (IntOR, IntOF, Int1R, Int1F) a logic change after an instruction (Inst) of synchronization (Sync); - control the inhibition by the inhibition means for a duration measured by the counter after a wait instruction (Wait); and - control the position of a pointer (Point) of the loading unit after a restart instruction (Restart). - control the position of at least one controlled switch after an instruction (Inst) of application (Set_GPO_Init); - control the activation of at least one controlled inverter after an instruction (Inst) to toggle (Toggle); - detect (IntOR, IntOF, Int1R, Int1F) a logic change after an instruction (Inst) of synchronization (Sync); - control the inhibition by the inhibition means for a duration measured by the counter after a wait instruction (Wait); and - control the position of a pointer (Point) of the loading unit after a restart instruction (Restart).