# vcs: Error-[ICPD_INIT] Illegal combination of drivers ``` Error-[ICPD_INIT] Illegal combination of drivers ../../common/caravel_project/rtl/verilog/mgmt_core.patrick.v, 103 Illegal combination of procedural drivers Variable "mgmtsoc_interrupt" is driven by an invalid combination of procedural drivers. Variables written on left-hand of "always_comb" cannot be written to by any other processes, including other "always_comb" processes. This variable is declared at "../../common/caravel_project/rtl/verilog/mgmt_core.patrick.v", 103: reg [31:0] mgmtsoc_interrupt; The first driver is at "../../common/caravel_project/rtl/verilog/mgmt_core.patrick.v", 1830: always_comb begin mgmtsoc_interrupt = 32'b0; ... The second driver is at "../../common/caravel_project/rtl/verilog/mgmt_core.patrick.v", 103: mgmtsoc_interrupt = 32'b0; Use '-ignore initializer_driver_checks' to suppress this error ``` ## refernce code - Illegal combination of drivers ``` reg [31:0] mgmtsoc_interrupt = 32'd0; always_comb begin mgmtsoc_interrupt = 32'd0; mgmtsoc_interrupt[0] = mgmtsoc_irq; mgmtsoc_interrupt[1] = uart_irq; mgmtsoc_interrupt[2] = gpioin0_gpioin0_irq; mgmtsoc_interrupt[3] = gpioin1_gpioin1_irq; mgmtsoc_interrupt[4] = gpioin2_gpioin2_irq; mgmtsoc_interrupt[5] = gpioin3_gpioin3_irq; mgmtsoc_interrupt[6] = gpioin4_gpioin4_irq; mgmtsoc_interrupt[7] = gpioin5_gpioin5_irq; end ``` [code link](https://github.com/bol-edu/fsic_asic/blob/main/dsn/rtl/mgmt_core.patrick.v#L102) ## solution - use python code to remove Illegal combination of drivers https://github.com/TonyHo722/python_study/blob/main/verilog_re_match/remove_multiple_drive.py ![image](https://hackmd.io/_uploads/Byp4pMm3T.png)