From bccd638d2b1f27a464d090db8a81cc1e6ca08ddf Mon Sep 17 00:00:00 2001 From: yannickreiss Date: Tue, 26 Sep 2023 11:37:27 +0200 Subject: [PATCH] Implement brainfuck ptr --- fpga/src/memoryPointer.vhd | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/fpga/src/memoryPointer.vhd b/fpga/src/memoryPointer.vhd index e69de29..141395b 100644 --- a/fpga/src/memoryPointer.vhd +++ b/fpga/src/memoryPointer.vhd @@ -0,0 +1,35 @@ +-- memoryPointer.vhd +-- Created on: Di 26. Sep 11:11:49 CEST 2023 +-- Author(s): Yannick Reiß +-- Content: Store current ptr. Part of brainfuck logic +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +-- Entity ptr: 15 bit pointer to cell +entity ptr is + port( + clk : in std_logic; + enable_ptr : in std_logic; + new_ptr : in std_logic_vector(15 downto 0); + + old_ptr : out std_logic_vector(15 downto 0) + ); +end ptr; + +-- Architecture implement_ptr of ptr: +architecture implement_ptr of ptr is + signal reg : std_logic_vector(15 downto 0); +begin + + -- Process Write set new_ptr + write : process (clk) -- runs only, when clk changed + begin + if rising_edge(clk) and enable_ptr = '1' then + reg <= new_ptr; + end if; + end process; + + old_ptr <= reg; + +end implement_ptr;