EasyManua.ls Logo

Xilinx MicroBlaze - Page 245

Xilinx MicroBlaze
316 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MicroBlaze Processor Reference Guide 246
UG984 (v2018.2) June 21, 2018 www.xilinx.com
Chapter 5: MicroBlaze Instruction Set Architecture
Pseudocode
if EA = 1 then
Addr ← (rA) & (rB)
else
Addr
(rA) + (rB)
if TLB_Miss(Addr) and MSR[VM] = 1 then
ESR[EC]
10010;ESR[S] 0
MSR[UMS] MSR[UM]; MSR[VMS] MSR[VM]; MSR[UM] 0; MSR[VM] 0
else if Access_Protected(Addr) and MSR[UM] = 1 and MSR[VM] = 1 then
ESR[EC]
10000;ESR[S] 0; ESR[DIZ] 1
MSR[UMS] MSR[UM]; MSR[VMS] MSR[VM]; MSR[UM] 0; MSR[VM] 0
else if Addr[31] 0 then
ESR[EC]
00001; ESR[W] 0; ESR[S] 0; ESR[Rx] rD
else if (VM = 0 and R = 1) or
(VM = 1 and R = 1 and E = 1) or
(VM = 1 and R = 0 and E = 0) then
(rD)[16:23]
Mem(Addr); (rD)[24:31] Mem(Addr+1); (rD)[0:15] 0
else
(rD)[16:23]
Mem(Addr+1); (rD)[24:31] Mem(Addr); (rD)[0:15] 0
Registers Altered
rD, unless an exception is generated, in which case the register is unchanged
MSR[UM], MSR[VM], MSR[UMS], MSR[VMS], if an exception is generated
ESR[EC], ESR[S], if an exception is generated
ESR[DIZ], if a data storage exception is generated
ESR[W], ESR[Rx], if an unaligned data access exception is generated
Latency
1 cycle with C_AREA_OPTIMIZED=0 or 2
2 cycles with
C_AREA_OPTIMIZED=1
Notes
The halfword reversed instruction is only valid if MicroBlaze is configured to use reorder instructions
(C_USE_REORDER_INSTR = 1).
The extended address instruction is only valid if MicroBlaze is configured to use extended address
(C_ADDR_SIZE > 32).
Send Feedback

Table of Contents

Other manuals for Xilinx MicroBlaze

Related product manuals