| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // Register Package auto-generated by `reggen` containing data structure |
| |
| package rv_plic_reg_pkg; |
| |
| // Register to internal design logic |
| typedef struct packed { |
| |
| struct packed { |
| struct packed { |
| logic q; // [226] |
| } le0; |
| struct packed { |
| logic q; // [225] |
| } le1; |
| struct packed { |
| logic q; // [224] |
| } le2; |
| struct packed { |
| logic q; // [223] |
| } le3; |
| struct packed { |
| logic q; // [222] |
| } le4; |
| struct packed { |
| logic q; // [221] |
| } le5; |
| struct packed { |
| logic q; // [220] |
| } le6; |
| struct packed { |
| logic q; // [219] |
| } le7; |
| struct packed { |
| logic q; // [218] |
| } le8; |
| struct packed { |
| logic q; // [217] |
| } le9; |
| struct packed { |
| logic q; // [216] |
| } le10; |
| struct packed { |
| logic q; // [215] |
| } le11; |
| struct packed { |
| logic q; // [214] |
| } le12; |
| struct packed { |
| logic q; // [213] |
| } le13; |
| struct packed { |
| logic q; // [212] |
| } le14; |
| struct packed { |
| logic q; // [211] |
| } le15; |
| struct packed { |
| logic q; // [210] |
| } le16; |
| struct packed { |
| logic q; // [209] |
| } le17; |
| struct packed { |
| logic q; // [208] |
| } le18; |
| struct packed { |
| logic q; // [207] |
| } le19; |
| struct packed { |
| logic q; // [206] |
| } le20; |
| struct packed { |
| logic q; // [205] |
| } le21; |
| struct packed { |
| logic q; // [204] |
| } le22; |
| struct packed { |
| logic q; // [203] |
| } le23; |
| struct packed { |
| logic q; // [202] |
| } le24; |
| struct packed { |
| logic q; // [201] |
| } le25; |
| struct packed { |
| logic q; // [200] |
| } le26; |
| struct packed { |
| logic q; // [199] |
| } le27; |
| struct packed { |
| logic q; // [198] |
| } le28; |
| struct packed { |
| logic q; // [197] |
| } le29; |
| struct packed { |
| logic q; // [196] |
| } le30; |
| struct packed { |
| logic q; // [195] |
| } le31; |
| } le0; |
| struct packed { |
| struct packed { |
| logic q; // [194] |
| } le32; |
| struct packed { |
| logic q; // [193] |
| } le33; |
| struct packed { |
| logic q; // [192] |
| } le34; |
| struct packed { |
| logic q; // [191] |
| } le35; |
| struct packed { |
| logic q; // [190] |
| } le36; |
| struct packed { |
| logic q; // [189] |
| } le37; |
| struct packed { |
| logic q; // [188] |
| } le38; |
| struct packed { |
| logic q; // [187] |
| } le39; |
| struct packed { |
| logic q; // [186] |
| } le40; |
| struct packed { |
| logic q; // [185] |
| } le41; |
| struct packed { |
| logic q; // [184] |
| } le42; |
| struct packed { |
| logic q; // [183] |
| } le43; |
| struct packed { |
| logic q; // [182] |
| } le44; |
| struct packed { |
| logic q; // [181] |
| } le45; |
| struct packed { |
| logic q; // [180] |
| } le46; |
| struct packed { |
| logic q; // [179] |
| } le47; |
| struct packed { |
| logic q; // [178] |
| } le48; |
| struct packed { |
| logic q; // [177] |
| } le49; |
| struct packed { |
| logic q; // [176] |
| } le50; |
| struct packed { |
| logic q; // [175] |
| } le51; |
| struct packed { |
| logic q; // [174] |
| } le52; |
| struct packed { |
| logic q; // [173] |
| } le53; |
| } le1; |
| struct packed { |
| logic [1:0] q; // [172:171] |
| } prio0; |
| struct packed { |
| logic [1:0] q; // [170:169] |
| } prio1; |
| struct packed { |
| logic [1:0] q; // [168:167] |
| } prio2; |
| struct packed { |
| logic [1:0] q; // [166:165] |
| } prio3; |
| struct packed { |
| logic [1:0] q; // [164:163] |
| } prio4; |
| struct packed { |
| logic [1:0] q; // [162:161] |
| } prio5; |
| struct packed { |
| logic [1:0] q; // [160:159] |
| } prio6; |
| struct packed { |
| logic [1:0] q; // [158:157] |
| } prio7; |
| struct packed { |
| logic [1:0] q; // [156:155] |
| } prio8; |
| struct packed { |
| logic [1:0] q; // [154:153] |
| } prio9; |
| struct packed { |
| logic [1:0] q; // [152:151] |
| } prio10; |
| struct packed { |
| logic [1:0] q; // [150:149] |
| } prio11; |
| struct packed { |
| logic [1:0] q; // [148:147] |
| } prio12; |
| struct packed { |
| logic [1:0] q; // [146:145] |
| } prio13; |
| struct packed { |
| logic [1:0] q; // [144:143] |
| } prio14; |
| struct packed { |
| logic [1:0] q; // [142:141] |
| } prio15; |
| struct packed { |
| logic [1:0] q; // [140:139] |
| } prio16; |
| struct packed { |
| logic [1:0] q; // [138:137] |
| } prio17; |
| struct packed { |
| logic [1:0] q; // [136:135] |
| } prio18; |
| struct packed { |
| logic [1:0] q; // [134:133] |
| } prio19; |
| struct packed { |
| logic [1:0] q; // [132:131] |
| } prio20; |
| struct packed { |
| logic [1:0] q; // [130:129] |
| } prio21; |
| struct packed { |
| logic [1:0] q; // [128:127] |
| } prio22; |
| struct packed { |
| logic [1:0] q; // [126:125] |
| } prio23; |
| struct packed { |
| logic [1:0] q; // [124:123] |
| } prio24; |
| struct packed { |
| logic [1:0] q; // [122:121] |
| } prio25; |
| struct packed { |
| logic [1:0] q; // [120:119] |
| } prio26; |
| struct packed { |
| logic [1:0] q; // [118:117] |
| } prio27; |
| struct packed { |
| logic [1:0] q; // [116:115] |
| } prio28; |
| struct packed { |
| logic [1:0] q; // [114:113] |
| } prio29; |
| struct packed { |
| logic [1:0] q; // [112:111] |
| } prio30; |
| struct packed { |
| logic [1:0] q; // [110:109] |
| } prio31; |
| struct packed { |
| logic [1:0] q; // [108:107] |
| } prio32; |
| struct packed { |
| logic [1:0] q; // [106:105] |
| } prio33; |
| struct packed { |
| logic [1:0] q; // [104:103] |
| } prio34; |
| struct packed { |
| logic [1:0] q; // [102:101] |
| } prio35; |
| struct packed { |
| logic [1:0] q; // [100:99] |
| } prio36; |
| struct packed { |
| logic [1:0] q; // [98:97] |
| } prio37; |
| struct packed { |
| logic [1:0] q; // [96:95] |
| } prio38; |
| struct packed { |
| logic [1:0] q; // [94:93] |
| } prio39; |
| struct packed { |
| logic [1:0] q; // [92:91] |
| } prio40; |
| struct packed { |
| logic [1:0] q; // [90:89] |
| } prio41; |
| struct packed { |
| logic [1:0] q; // [88:87] |
| } prio42; |
| struct packed { |
| logic [1:0] q; // [86:85] |
| } prio43; |
| struct packed { |
| logic [1:0] q; // [84:83] |
| } prio44; |
| struct packed { |
| logic [1:0] q; // [82:81] |
| } prio45; |
| struct packed { |
| logic [1:0] q; // [80:79] |
| } prio46; |
| struct packed { |
| logic [1:0] q; // [78:77] |
| } prio47; |
| struct packed { |
| logic [1:0] q; // [76:75] |
| } prio48; |
| struct packed { |
| logic [1:0] q; // [74:73] |
| } prio49; |
| struct packed { |
| logic [1:0] q; // [72:71] |
| } prio50; |
| struct packed { |
| logic [1:0] q; // [70:69] |
| } prio51; |
| struct packed { |
| logic [1:0] q; // [68:67] |
| } prio52; |
| struct packed { |
| logic [1:0] q; // [66:65] |
| } prio53; |
| struct packed { |
| struct packed { |
| logic q; // [64] |
| } e0; |
| struct packed { |
| logic q; // [63] |
| } e1; |
| struct packed { |
| logic q; // [62] |
| } e2; |
| struct packed { |
| logic q; // [61] |
| } e3; |
| struct packed { |
| logic q; // [60] |
| } e4; |
| struct packed { |
| logic q; // [59] |
| } e5; |
| struct packed { |
| logic q; // [58] |
| } e6; |
| struct packed { |
| logic q; // [57] |
| } e7; |
| struct packed { |
| logic q; // [56] |
| } e8; |
| struct packed { |
| logic q; // [55] |
| } e9; |
| struct packed { |
| logic q; // [54] |
| } e10; |
| struct packed { |
| logic q; // [53] |
| } e11; |
| struct packed { |
| logic q; // [52] |
| } e12; |
| struct packed { |
| logic q; // [51] |
| } e13; |
| struct packed { |
| logic q; // [50] |
| } e14; |
| struct packed { |
| logic q; // [49] |
| } e15; |
| struct packed { |
| logic q; // [48] |
| } e16; |
| struct packed { |
| logic q; // [47] |
| } e17; |
| struct packed { |
| logic q; // [46] |
| } e18; |
| struct packed { |
| logic q; // [45] |
| } e19; |
| struct packed { |
| logic q; // [44] |
| } e20; |
| struct packed { |
| logic q; // [43] |
| } e21; |
| struct packed { |
| logic q; // [42] |
| } e22; |
| struct packed { |
| logic q; // [41] |
| } e23; |
| struct packed { |
| logic q; // [40] |
| } e24; |
| struct packed { |
| logic q; // [39] |
| } e25; |
| struct packed { |
| logic q; // [38] |
| } e26; |
| struct packed { |
| logic q; // [37] |
| } e27; |
| struct packed { |
| logic q; // [36] |
| } e28; |
| struct packed { |
| logic q; // [35] |
| } e29; |
| struct packed { |
| logic q; // [34] |
| } e30; |
| struct packed { |
| logic q; // [33] |
| } e31; |
| } ie00; |
| struct packed { |
| struct packed { |
| logic q; // [32] |
| } e32; |
| struct packed { |
| logic q; // [31] |
| } e33; |
| struct packed { |
| logic q; // [30] |
| } e34; |
| struct packed { |
| logic q; // [29] |
| } e35; |
| struct packed { |
| logic q; // [28] |
| } e36; |
| struct packed { |
| logic q; // [27] |
| } e37; |
| struct packed { |
| logic q; // [26] |
| } e38; |
| struct packed { |
| logic q; // [25] |
| } e39; |
| struct packed { |
| logic q; // [24] |
| } e40; |
| struct packed { |
| logic q; // [23] |
| } e41; |
| struct packed { |
| logic q; // [22] |
| } e42; |
| struct packed { |
| logic q; // [21] |
| } e43; |
| struct packed { |
| logic q; // [20] |
| } e44; |
| struct packed { |
| logic q; // [19] |
| } e45; |
| struct packed { |
| logic q; // [18] |
| } e46; |
| struct packed { |
| logic q; // [17] |
| } e47; |
| struct packed { |
| logic q; // [16] |
| } e48; |
| struct packed { |
| logic q; // [15] |
| } e49; |
| struct packed { |
| logic q; // [14] |
| } e50; |
| struct packed { |
| logic q; // [13] |
| } e51; |
| struct packed { |
| logic q; // [12] |
| } e52; |
| struct packed { |
| logic q; // [11] |
| } e53; |
| } ie01; |
| struct packed { |
| logic [1:0] q; // [10:9] |
| } threshold0; |
| struct packed { |
| logic [5:0] q; // [8:3] |
| logic qe; // [2] |
| logic re; // [1] |
| } cc0; |
| struct packed { |
| logic [0:0] q; // [0:0] |
| } msip0; |
| } rv_plic_reg2hw_t; |
| |
| // Internal design logic to register |
| typedef struct packed { |
| |
| struct packed { |
| struct packed { |
| logic d; // [113] |
| logic de; // [112] |
| } p0; |
| struct packed { |
| logic d; // [111] |
| logic de; // [110] |
| } p1; |
| struct packed { |
| logic d; // [109] |
| logic de; // [108] |
| } p2; |
| struct packed { |
| logic d; // [107] |
| logic de; // [106] |
| } p3; |
| struct packed { |
| logic d; // [105] |
| logic de; // [104] |
| } p4; |
| struct packed { |
| logic d; // [103] |
| logic de; // [102] |
| } p5; |
| struct packed { |
| logic d; // [101] |
| logic de; // [100] |
| } p6; |
| struct packed { |
| logic d; // [99] |
| logic de; // [98] |
| } p7; |
| struct packed { |
| logic d; // [97] |
| logic de; // [96] |
| } p8; |
| struct packed { |
| logic d; // [95] |
| logic de; // [94] |
| } p9; |
| struct packed { |
| logic d; // [93] |
| logic de; // [92] |
| } p10; |
| struct packed { |
| logic d; // [91] |
| logic de; // [90] |
| } p11; |
| struct packed { |
| logic d; // [89] |
| logic de; // [88] |
| } p12; |
| struct packed { |
| logic d; // [87] |
| logic de; // [86] |
| } p13; |
| struct packed { |
| logic d; // [85] |
| logic de; // [84] |
| } p14; |
| struct packed { |
| logic d; // [83] |
| logic de; // [82] |
| } p15; |
| struct packed { |
| logic d; // [81] |
| logic de; // [80] |
| } p16; |
| struct packed { |
| logic d; // [79] |
| logic de; // [78] |
| } p17; |
| struct packed { |
| logic d; // [77] |
| logic de; // [76] |
| } p18; |
| struct packed { |
| logic d; // [75] |
| logic de; // [74] |
| } p19; |
| struct packed { |
| logic d; // [73] |
| logic de; // [72] |
| } p20; |
| struct packed { |
| logic d; // [71] |
| logic de; // [70] |
| } p21; |
| struct packed { |
| logic d; // [69] |
| logic de; // [68] |
| } p22; |
| struct packed { |
| logic d; // [67] |
| logic de; // [66] |
| } p23; |
| struct packed { |
| logic d; // [65] |
| logic de; // [64] |
| } p24; |
| struct packed { |
| logic d; // [63] |
| logic de; // [62] |
| } p25; |
| struct packed { |
| logic d; // [61] |
| logic de; // [60] |
| } p26; |
| struct packed { |
| logic d; // [59] |
| logic de; // [58] |
| } p27; |
| struct packed { |
| logic d; // [57] |
| logic de; // [56] |
| } p28; |
| struct packed { |
| logic d; // [55] |
| logic de; // [54] |
| } p29; |
| struct packed { |
| logic d; // [53] |
| logic de; // [52] |
| } p30; |
| struct packed { |
| logic d; // [51] |
| logic de; // [50] |
| } p31; |
| } ip0; |
| struct packed { |
| struct packed { |
| logic d; // [49] |
| logic de; // [48] |
| } p32; |
| struct packed { |
| logic d; // [47] |
| logic de; // [46] |
| } p33; |
| struct packed { |
| logic d; // [45] |
| logic de; // [44] |
| } p34; |
| struct packed { |
| logic d; // [43] |
| logic de; // [42] |
| } p35; |
| struct packed { |
| logic d; // [41] |
| logic de; // [40] |
| } p36; |
| struct packed { |
| logic d; // [39] |
| logic de; // [38] |
| } p37; |
| struct packed { |
| logic d; // [37] |
| logic de; // [36] |
| } p38; |
| struct packed { |
| logic d; // [35] |
| logic de; // [34] |
| } p39; |
| struct packed { |
| logic d; // [33] |
| logic de; // [32] |
| } p40; |
| struct packed { |
| logic d; // [31] |
| logic de; // [30] |
| } p41; |
| struct packed { |
| logic d; // [29] |
| logic de; // [28] |
| } p42; |
| struct packed { |
| logic d; // [27] |
| logic de; // [26] |
| } p43; |
| struct packed { |
| logic d; // [25] |
| logic de; // [24] |
| } p44; |
| struct packed { |
| logic d; // [23] |
| logic de; // [22] |
| } p45; |
| struct packed { |
| logic d; // [21] |
| logic de; // [20] |
| } p46; |
| struct packed { |
| logic d; // [19] |
| logic de; // [18] |
| } p47; |
| struct packed { |
| logic d; // [17] |
| logic de; // [16] |
| } p48; |
| struct packed { |
| logic d; // [15] |
| logic de; // [14] |
| } p49; |
| struct packed { |
| logic d; // [13] |
| logic de; // [12] |
| } p50; |
| struct packed { |
| logic d; // [11] |
| logic de; // [10] |
| } p51; |
| struct packed { |
| logic d; // [9] |
| logic de; // [8] |
| } p52; |
| struct packed { |
| logic d; // [7] |
| logic de; // [6] |
| } p53; |
| } ip1; |
| struct packed { |
| logic [5:0] d; // [5:0] |
| } cc0; |
| } rv_plic_hw2reg_t; |
| |
| // Register Address |
| parameter RV_PLIC_IP0_OFFSET = 9'h 0; |
| parameter RV_PLIC_IP1_OFFSET = 9'h 4; |
| parameter RV_PLIC_LE0_OFFSET = 9'h 8; |
| parameter RV_PLIC_LE1_OFFSET = 9'h c; |
| parameter RV_PLIC_PRIO0_OFFSET = 9'h 10; |
| parameter RV_PLIC_PRIO1_OFFSET = 9'h 14; |
| parameter RV_PLIC_PRIO2_OFFSET = 9'h 18; |
| parameter RV_PLIC_PRIO3_OFFSET = 9'h 1c; |
| parameter RV_PLIC_PRIO4_OFFSET = 9'h 20; |
| parameter RV_PLIC_PRIO5_OFFSET = 9'h 24; |
| parameter RV_PLIC_PRIO6_OFFSET = 9'h 28; |
| parameter RV_PLIC_PRIO7_OFFSET = 9'h 2c; |
| parameter RV_PLIC_PRIO8_OFFSET = 9'h 30; |
| parameter RV_PLIC_PRIO9_OFFSET = 9'h 34; |
| parameter RV_PLIC_PRIO10_OFFSET = 9'h 38; |
| parameter RV_PLIC_PRIO11_OFFSET = 9'h 3c; |
| parameter RV_PLIC_PRIO12_OFFSET = 9'h 40; |
| parameter RV_PLIC_PRIO13_OFFSET = 9'h 44; |
| parameter RV_PLIC_PRIO14_OFFSET = 9'h 48; |
| parameter RV_PLIC_PRIO15_OFFSET = 9'h 4c; |
| parameter RV_PLIC_PRIO16_OFFSET = 9'h 50; |
| parameter RV_PLIC_PRIO17_OFFSET = 9'h 54; |
| parameter RV_PLIC_PRIO18_OFFSET = 9'h 58; |
| parameter RV_PLIC_PRIO19_OFFSET = 9'h 5c; |
| parameter RV_PLIC_PRIO20_OFFSET = 9'h 60; |
| parameter RV_PLIC_PRIO21_OFFSET = 9'h 64; |
| parameter RV_PLIC_PRIO22_OFFSET = 9'h 68; |
| parameter RV_PLIC_PRIO23_OFFSET = 9'h 6c; |
| parameter RV_PLIC_PRIO24_OFFSET = 9'h 70; |
| parameter RV_PLIC_PRIO25_OFFSET = 9'h 74; |
| parameter RV_PLIC_PRIO26_OFFSET = 9'h 78; |
| parameter RV_PLIC_PRIO27_OFFSET = 9'h 7c; |
| parameter RV_PLIC_PRIO28_OFFSET = 9'h 80; |
| parameter RV_PLIC_PRIO29_OFFSET = 9'h 84; |
| parameter RV_PLIC_PRIO30_OFFSET = 9'h 88; |
| parameter RV_PLIC_PRIO31_OFFSET = 9'h 8c; |
| parameter RV_PLIC_PRIO32_OFFSET = 9'h 90; |
| parameter RV_PLIC_PRIO33_OFFSET = 9'h 94; |
| parameter RV_PLIC_PRIO34_OFFSET = 9'h 98; |
| parameter RV_PLIC_PRIO35_OFFSET = 9'h 9c; |
| parameter RV_PLIC_PRIO36_OFFSET = 9'h a0; |
| parameter RV_PLIC_PRIO37_OFFSET = 9'h a4; |
| parameter RV_PLIC_PRIO38_OFFSET = 9'h a8; |
| parameter RV_PLIC_PRIO39_OFFSET = 9'h ac; |
| parameter RV_PLIC_PRIO40_OFFSET = 9'h b0; |
| parameter RV_PLIC_PRIO41_OFFSET = 9'h b4; |
| parameter RV_PLIC_PRIO42_OFFSET = 9'h b8; |
| parameter RV_PLIC_PRIO43_OFFSET = 9'h bc; |
| parameter RV_PLIC_PRIO44_OFFSET = 9'h c0; |
| parameter RV_PLIC_PRIO45_OFFSET = 9'h c4; |
| parameter RV_PLIC_PRIO46_OFFSET = 9'h c8; |
| parameter RV_PLIC_PRIO47_OFFSET = 9'h cc; |
| parameter RV_PLIC_PRIO48_OFFSET = 9'h d0; |
| parameter RV_PLIC_PRIO49_OFFSET = 9'h d4; |
| parameter RV_PLIC_PRIO50_OFFSET = 9'h d8; |
| parameter RV_PLIC_PRIO51_OFFSET = 9'h dc; |
| parameter RV_PLIC_PRIO52_OFFSET = 9'h e0; |
| parameter RV_PLIC_PRIO53_OFFSET = 9'h e4; |
| parameter RV_PLIC_IE00_OFFSET = 9'h 100; |
| parameter RV_PLIC_IE01_OFFSET = 9'h 104; |
| parameter RV_PLIC_THRESHOLD0_OFFSET = 9'h 108; |
| parameter RV_PLIC_CC0_OFFSET = 9'h 10c; |
| parameter RV_PLIC_MSIP0_OFFSET = 9'h 110; |
| |
| |
| endpackage |