mirror of
https://github.com/lowRISC/ibex.git
synced 2025-06-28 09:17:17 -04:00
[rtl] Split pmp_req_err_o logic to allow easier binding for fcov
This commit is contained in:
parent
db07ab174e
commit
0613e7850c
1 changed files with 9 additions and 8 deletions
|
@ -41,6 +41,7 @@ module ibex_pmp #(
|
||||||
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_match_all;
|
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_match_all;
|
||||||
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_basic_perm_check;
|
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_basic_perm_check;
|
||||||
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_perm_check;
|
logic [PMPNumChan-1:0][PMPNumRegions-1:0] region_perm_check;
|
||||||
|
logic [PMPNumChan-1:0] access_fault_check_res;
|
||||||
logic [PMPNumChan-1:0] debug_mode_allowed_access;
|
logic [PMPNumChan-1:0] debug_mode_allowed_access;
|
||||||
|
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
@ -241,14 +242,14 @@ module ibex_pmp #(
|
||||||
|
|
||||||
// Once the permission checks of the regions are done, decide if the access is
|
// Once the permission checks of the regions are done, decide if the access is
|
||||||
// denied by figuring out the matching region and its permission check.
|
// denied by figuring out the matching region and its permission check.
|
||||||
// No error is raised if the access is allowed as Debug Module access (first term).
|
assign access_fault_check_res[c] = access_fault_check(csr_pmp_mseccfg_i.mmwp,
|
||||||
assign pmp_req_err_o[c] = ~debug_mode_allowed_access[c] &
|
|
||||||
access_fault_check(csr_pmp_mseccfg_i.mmwp,
|
|
||||||
csr_pmp_mseccfg_i.mml,
|
csr_pmp_mseccfg_i.mml,
|
||||||
pmp_req_type_i[c],
|
pmp_req_type_i[c],
|
||||||
region_match_all[c],
|
region_match_all[c],
|
||||||
priv_mode_i[c],
|
priv_mode_i[c],
|
||||||
region_perm_check[c]);
|
region_perm_check[c]);
|
||||||
|
// Debug Module accesses in Debug Mode are always allowed.
|
||||||
|
assign pmp_req_err_o[c] = ~debug_mode_allowed_access[c] & access_fault_check_res[c];
|
||||||
|
|
||||||
// Access fails check against one region but access allowed due to another higher-priority
|
// Access fails check against one region but access allowed due to another higher-priority
|
||||||
// region.
|
// region.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue