Pipelined brainfuck microprocessor To program: Use "bftomif.py" python program to turn your brainfuck program to mif memory file, pad with zeroes if necessary to fill the memory. Quick overview: cache.vhd : 2-way associative cache that can be configured with generics. Used for forward jumps. config.vhd : CPU configuration. control.vhd : Program flow control, decides the next instruction and skips the next instruction if needed. cpu.vhd : Top-level file that connects the other blocks. datapath.vhd : Datapath, registers, adder and multiplexers. Executes the instruction. decoder.vhd : Instruction decoder. Outputs signals that control the datapath. memory.vhd : Instruction RAM, synchronous read and write. reg_file.vhd : Registers, like instruction RAM but with asynchronous read. stack.vhd : Stack, used to store backwards jump destinations. uart.vhd : UART for communication with outside world.