Microblaze¶
The microblaze is a softcore architecture specified by xilinx. It is a 32 bit processor with 32 registers.
See also:
https://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf
Reference¶
Microblaze architecture.
Low level instruction class usage:
>>> from ppci.arch.microblaze import instructions, registers
>>> i = instructions.Add(registers.R4, registers.R5, registers.R6)
>>> str(i)
'add R4, R5, R6'
-
class
ppci.arch.microblaze.
MicroBlazeArch
(options=None)¶ Microblaze architecture
-
determine_arg_locations
(arg_types)¶ Use registers R5-R10 to pass arguments
-
determine_rv_location
(ret_type)¶ Return values in R3-R4
-
gen_call
(frame, label, args, rv)¶ Generate proper calling sequence
-
gen_epilogue
(frame)¶ Return epilogue sequence for a frame.
-
gen_function_enter
(args)¶ Generate code to extract arguments from the proper locations
The default implementation tries to use registers and move instructions.
Parameters: args – an iterable of virtual registers in which the arguments must be placed.
-
gen_litpool
(frame)¶ Generate instructions for literals
-
gen_prologue
(frame)¶ Returns prologue instruction sequence.
-
get_runtime
()¶ Compiles the runtime support for microblaze.
It takes some c3 code.
-
move
(dst, src)¶ Generate a move from src to dst
-