Created by: Silabs-ArjanB
Added/corrected sleep interface:
- Replacement of core_busy_o with core_sleep_o
- If PULP_CLUSTER = 0, then core_sleep_o can only become asserted in response to a WFI instruction
- If PULP_CLUSTER = 1, then core_sleep_o can only become asserted in response to a P.ELW instruction
- Keeping internal clock gated until fetch_enable_i sampled high
- Made WFI act as true NOP for PULP_CLUSTER = 1 (i.e. sleep state is never entered)
- Renamed clock_en_i to pulp_clock_en_i
- Made p.elw an illegal instruction for PULP_CLUSTER = 0
- Moved sleep related circuitry into its own file (cv32e40p_sleep_unit.sv)
Fixed issues: #373 (closed) #362 (closed) #379 (closed)
Signed-off-by: Arjan Bink Arjan.Bink@silabs.com