ReLM = Register-Less Multiprocessor
ReLM is the soft-core multiprocessor technology based on the unique memory architecture, enabling users to build a high-performance microcontroller on a relatively small FPGA board.
The most annoying task in developing on a FPGA board is logic synthesis, however, is not required for changing applications (software) with ReLM architecture.
This advantage of ReLM supports users in easily designing circuits on a FPGA board.
- ReLM Introduction (English) (Japanese)
- ReLM Instruction Set (English) (Japanese)
- ReLM Development Environment (English) (Japanese)
- ReLM Application Development (English) (Japanese)
- ReLM Customizing (English) (Japanese)
- Python API Reference (English)
Very Old Article...
- Windows (OS for running the following software)
- Python (Newest version recommended, at least, 3.8 or later)
- Quartus Prime (Newest version recommended)
- Visual Studio Code (Recommended)
- Host PC (PC running the above software)
- FPGA: Terasic DE0-CV Board
- This board has been discontinued, so we are currently preparing the next target board.
- Next target candidate: Terasic Cyclone V GX Starter Kit
- VGA display
- PS/2 keyboard (option)
- de0cv / relm_de0cv.py
- Execute "relm_de0cv.py".
- Create code??.txt, data??.txt in "de0cv / loader" folder.
- de0cv / loader / relm_de0cv.qpf
- Open "relm_de0cv.qpf" to start up Quartus Prime for logic synthesis.
- Create "de0cv / loader / output_files / relm_de0cv.svf".
- de0cv / loader / relm_test_led.py (Omittable)
- Execute "relm_test_led.py".
- Confirm the LED display of "HELLO_" on the FPGA board.
- This process is omittable.
- de0cv / bubble / relm_bubble.py
- Execute "relm_bubble.py".
- Confirm the LED display of "Play" on the FPGA board.
- Connect a VGA display to the board, then you can play the game.
- Attaching a PS/2 keyboard would make it much easier to play the game.
The game begins with two-page explanation, and advances to play by pressing Enter key.
A PS/2 keyboard would give better operability, but can be substituted by the buttons on the FPGA board.
The FPGA board has switches to change Human / CPU. ("SW0" corresponds to "You")