📄 regfile.v
字号:
`R2 : RF_Bus_A <= rf_int_r2; `R3 : RF_Bus_A <= rf_int_r3; `R4 : RF_Bus_A <= rf_int_r4; `R5 : RF_Bus_A <= rf_int_r5; `R6 : RF_Bus_A <= rf_int_r6; `R7 : RF_Bus_A <= rf_int_r7; `R8 : RF_Bus_A <= rf_int_r8; `R9 : RF_Bus_A <= rf_int_r9; `R10 : RF_Bus_A <= rf_int_r10; `R11 : RF_Bus_A <= rf_int_r11; `R12 : RF_Bus_A <= rf_int_r12; `R13 : RF_Bus_A <= rf_int_r13_irq; `R14 : RF_Bus_A <= rf_int_r14_irq; `R15 : RF_Bus_A <= rf_int_r15; default : begin end endcase end `MODE_SUP : begin case (RF_Addr_A) `R0 : RF_Bus_A <= rf_int_r0; `R1 : RF_Bus_A <= rf_int_r1; `R2 : RF_Bus_A <= rf_int_r2; `R3 : RF_Bus_A <= rf_int_r3; `R4 : RF_Bus_A <= rf_int_r4; `R5 : RF_Bus_A <= rf_int_r5; `R6 : RF_Bus_A <= rf_int_r6; `R7 : RF_Bus_A <= rf_int_r7; `R8 : RF_Bus_A <= rf_int_r8; `R9 : RF_Bus_A <= rf_int_r9; `R10 : RF_Bus_A <= rf_int_r10; `R11 : RF_Bus_A <= rf_int_r11; `R12 : RF_Bus_A <= rf_int_r12; `R13 : RF_Bus_A <= rf_int_r13_svc; `R14 : RF_Bus_A <= rf_int_r14_svc; `R15 : RF_Bus_A <= rf_int_r15; default : begin end endcase end `MODE_ABT : begin case (RF_Addr_A) `R0 : RF_Bus_A <= rf_int_r0; `R1 : RF_Bus_A <= rf_int_r1; `R2 : RF_Bus_A <= rf_int_r2; `R3 : RF_Bus_A <= rf_int_r3; `R4 : RF_Bus_A <= rf_int_r4; `R5 : RF_Bus_A <= rf_int_r5; `R6 : RF_Bus_A <= rf_int_r6; `R7 : RF_Bus_A <= rf_int_r7; `R8 : RF_Bus_A <= rf_int_r8; `R9 : RF_Bus_A <= rf_int_r9; `R10 : RF_Bus_A <= rf_int_r10; `R11 : RF_Bus_A <= rf_int_r11; `R12 : RF_Bus_A <= rf_int_r12; `R13 : RF_Bus_A <= rf_int_r13_abt; `R14 : RF_Bus_A <= rf_int_r14_abt; `R15 : RF_Bus_A <= rf_int_r15; default : begin end endcase end `MODE_UNDF : begin case (RF_Addr_A) `R0 : RF_Bus_A <= rf_int_r0; `R1 : RF_Bus_A <= rf_int_r1; `R2 : RF_Bus_A <= rf_int_r2; `R3 : RF_Bus_A <= rf_int_r3; `R4 : RF_Bus_A <= rf_int_r4; `R5 : RF_Bus_A <= rf_int_r5; `R6 : RF_Bus_A <= rf_int_r6; `R7 : RF_Bus_A <= rf_int_r7; `R8 : RF_Bus_A <= rf_int_r8; `R9 : RF_Bus_A <= rf_int_r9; `R10 : RF_Bus_A <= rf_int_r10; `R11 : RF_Bus_A <= rf_int_r11; `R12 : RF_Bus_A <= rf_int_r12; `R13 : RF_Bus_A <= rf_int_r13_und; `R14 : RF_Bus_A <= rf_int_r14_und; `R15 : RF_Bus_A <= rf_int_r15; default : begin end endcase end default : RF_Bus_A <= 32'bX; endcaseend// Register Reading - Bus B always #1begin case (rf_int_cpsr[4:0]) `MODE_USER : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8; `R9 : RF_Bus_B <= rf_int_r9; `R10 : RF_Bus_B <= rf_int_r10; `R11 : RF_Bus_B <= rf_int_r11; `R12 : RF_Bus_B <= rf_int_r12; `R13 : RF_Bus_B <= rf_int_r13; `R14 : RF_Bus_B <= rf_int_r14; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end `MODE_FIQ : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8_fiq; `R9 : RF_Bus_B <= rf_int_r9_fiq; `R10 : RF_Bus_B <= rf_int_r10_fiq; `R11 : RF_Bus_B <= rf_int_r11_fiq; `R12 : RF_Bus_B <= rf_int_r12_fiq; `R13 : RF_Bus_B <= rf_int_r13_fiq; `R14 : RF_Bus_B <= rf_int_r14_fiq; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end `MODE_IRQ : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8; `R9 : RF_Bus_B <= rf_int_r9; `R10 : RF_Bus_B <= rf_int_r10; `R11 : RF_Bus_B <= rf_int_r11; `R12 : RF_Bus_B <= rf_int_r12; `R13 : RF_Bus_B <= rf_int_r13_irq; `R14 : RF_Bus_B <= rf_int_r14_irq; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end `MODE_SUP : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8; `R9 : RF_Bus_B <= rf_int_r9; `R10 : RF_Bus_B <= rf_int_r10; `R11 : RF_Bus_B <= rf_int_r11; `R12 : RF_Bus_B <= rf_int_r12; `R13 : RF_Bus_B <= rf_int_r13_svc; `R14 : RF_Bus_B <= rf_int_r14_svc; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end `MODE_ABT : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8; `R9 : RF_Bus_B <= rf_int_r9; `R10 : RF_Bus_B <= rf_int_r10; `R11 : RF_Bus_B <= rf_int_r11; `R12 : RF_Bus_B <= rf_int_r12; `R13 : RF_Bus_B <= rf_int_r13_abt; `R14 : RF_Bus_B <= rf_int_r14_abt; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end `MODE_UNDF : begin case (RF_Addr_B) `R0 : RF_Bus_B <= rf_int_r0; `R1 : RF_Bus_B <= rf_int_r1; `R2 : RF_Bus_B <= rf_int_r2; `R3 : RF_Bus_B <= rf_int_r3; `R4 : RF_Bus_B <= rf_int_r4; `R5 : RF_Bus_B <= rf_int_r5; `R6 : RF_Bus_B <= rf_int_r6; `R7 : RF_Bus_B <= rf_int_r7; `R8 : RF_Bus_B <= rf_int_r8; `R9 : RF_Bus_B <= rf_int_r9; `R10 : RF_Bus_B <= rf_int_r10; `R11 : RF_Bus_B <= rf_int_r11; `R12 : RF_Bus_B <= rf_int_r12; `R13 : RF_Bus_B <= rf_int_r13_und; `R14 : RF_Bus_B <= rf_int_r14_und; `R15 : RF_Bus_B <= rf_int_r15; default : RF_Bus_B <= 32'bX; endcase end default : RF_Bus_B <= 32'bX; endcaseend// Register Reading - Bus Calways #1begin case (rf_int_cpsr[4:0]) `MODE_USER : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8; `R9 : RF_Bus_C <= rf_int_r9; `R10 : RF_Bus_C <= rf_int_r10; `R11 : RF_Bus_C <= rf_int_r11; `R12 : RF_Bus_C <= rf_int_r12; `R13 : RF_Bus_C <= rf_int_r13; `R14 : RF_Bus_C <= rf_int_r14; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end `MODE_FIQ : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8_fiq; `R9 : RF_Bus_C <= rf_int_r9_fiq; `R10 : RF_Bus_C <= rf_int_r10_fiq; `R11 : RF_Bus_C <= rf_int_r11_fiq; `R12 : RF_Bus_C <= rf_int_r12_fiq; `R13 : RF_Bus_C <= rf_int_r13_fiq; `R14 : RF_Bus_C <= rf_int_r14_fiq; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end `MODE_IRQ : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8; `R9 : RF_Bus_C <= rf_int_r9; `R10 : RF_Bus_C <= rf_int_r10; `R11 : RF_Bus_C <= rf_int_r11; `R12 : RF_Bus_C <= rf_int_r12; `R13 : RF_Bus_C <= rf_int_r13_irq; `R14 : RF_Bus_C <= rf_int_r14_irq; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end `MODE_SUP : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8; `R9 : RF_Bus_C <= rf_int_r9; `R10 : RF_Bus_C <= rf_int_r10; `R11 : RF_Bus_C <= rf_int_r11; `R12 : RF_Bus_C <= rf_int_r12; `R13 : RF_Bus_C <= rf_int_r13_svc; `R14 : RF_Bus_C <= rf_int_r14_svc; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end `MODE_ABT : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8; `R9 : RF_Bus_C <= rf_int_r9; `R10 : RF_Bus_C <= rf_int_r10; `R11 : RF_Bus_C <= rf_int_r11; `R12 : RF_Bus_C <= rf_int_r12; `R13 : RF_Bus_C <= rf_int_r13_abt; `R14 : RF_Bus_C <= rf_int_r14_abt; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end `MODE_UNDF : begin case (RF_Addr_C) `R0 : RF_Bus_C <= rf_int_r0; `R1 : RF_Bus_C <= rf_int_r1; `R2 : RF_Bus_C <= rf_int_r2; `R3 : RF_Bus_C <= rf_int_r3; `R4 : RF_Bus_C <= rf_int_r4; `R5 : RF_Bus_C <= rf_int_r5; `R6 : RF_Bus_C <= rf_int_r6; `R7 : RF_Bus_C <= rf_int_r7; `R8 : RF_Bus_C <= rf_int_r8; `R9 : RF_Bus_C <= rf_int_r9; `R10 : RF_Bus_C <= rf_int_r10; `R11 : RF_Bus_C <= rf_int_r11; `R12 : RF_Bus_C <= rf_int_r12; `R13 : RF_Bus_C <= rf_int_r13_und; `R14 : RF_Bus_C <= rf_int_r14_und; `R15 : RF_Bus_C <= rf_int_r15; default : RF_Bus_C <= 32'bX; endcase end default : RF_Bus_C <= 32'bX; endcaseendendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -