diff --git a/Tx_tb.vhd b/Tx_tb.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..9c23ef36f2627da8df404865249e23bcb323a5b7
--- /dev/null
+++ b/Tx_tb.vhd
@@ -0,0 +1,116 @@
+-- Testbench of Tx
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.NUMERIC_STD.ALL;
+
+-- Entity of testbench (empty)
+entity Tx_tb is
+end Tx_tb;
+
+architecture SimulationModel of Tx_tb is
+
+    -- Constant declaration
+    constant CLK_PERIOD : time := 20 ns;  -- 50 MHz klokke
+	
+    -- Component declarasion
+    component Tx
+        Port (
+            clk         : in  std_logic;
+            rst_n       : in  std_logic;
+	    Rd_sig      : in std_logic;
+	    Wr_sig      : in std_logic;
+            adresse     : in std_logic_vector(2 downto 0);
+            Data_bus    : inout std_logic_vector(7 downto 0);
+            TxD         : out std_logic
+        );
+    end component;
+
+    -- Signal declaration
+    signal clk      : std_logic := '0';
+    signal rst_n    : std_logic := '1';
+    signal adresse  : std_logic_vector(2 downto 0);
+    signal Data_bus : std_logic_vector(7 downto 0);
+    signal TxD      : std_logic;
+    signal Rd_sig   : std_logic;
+    signal Wr_sig   : std_logic;
+
+begin
+
+    -- Component instantiations UART TX-modul (DUT)
+    DUT: component Tx
+        Port Map (
+            clk         => clk,
+            rst_n       => rst_n,
+            adresse     => adresse,
+            Data_bus    => Data_bus,
+            TxD         => TxD,
+	    Rd_sig      => Rd_sig,
+	    Wr_sig	=> Wr_sig
+        );
+
+    -- Generation of clock
+    p_clk: process is
+    begin
+        clk <= '0';
+        wait for CLK_PERIOD / 2;
+        clk <= '1';
+        wait for CLK_PERIOD / 2;
+    end process;
+
+    --Generation of resetN
+    p_rst_n: process is
+    begin
+      rst_n <= '0';
+      wait for 2.2*CLK_PERIOD;
+      rst_n <= '1';
+      wait;
+    end process;
+
+    -- Test procedure
+    p_test_procedure: process
+        
+        -- Initialisation of testbench
+        procedure tb_init is
+	begin
+	 adresse <= (others => 'Z');
+	 Data_bus <= (others => 'Z');
+	 Wr_sig <= '0';
+	 Rd_sig <= '0';
+	 wait until rst_n = '1';
+	 wait for 100 ns;
+	 wait until rising_edge(clk);
+	 wait for 1 ns;
+	end tb_init;
+
+	-- Test Case 1: Konfigurasjon av baud rate og paritet
+	procedure config is
+	begin
+	 Wr_sig <= '1';
+	 adresse <= "000";  -- Konfigurer baud rate og paritet
+     Data_bus <= "00011001";  -- Sett baud rate til 57600 (001) og ulik paritet (11)
+     wait for CLK_PERIOD;
+	 Wr_sig <= '0';
+     wait for CLK_PERIOD;
+	end config;
+
+	procedure send is
+	begin
+	 Wr_sig <= '1';
+	 adresse <= "001"; -- Sender data til Tx
+	 Data_bus <= "11111111"; -- data
+	 wait for CLK_PERIOD;
+	 Wr_sig <= '0';
+	 wait for 20*CLK_PERIOD;
+	 wait for 0.25 ms;
+	end send;
+
+    begin
+  	tb_init;
+	config;
+	send;
+
+	wait for 100 ns;
+	assert false report "Testbench finished" severity failure;
+    end process;
+
+end architecture SimulationModel;