diff --git a/applications/unb1_reorder/tb/python/tc_unb1_reorder_seq.py b/applications/unb1_reorder/tb/python/tc_unb1_reorder_seq.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9cb30a674d9927a88dbc4ad630ec6d8767339a9
--- /dev/null
+++ b/applications/unb1_reorder/tb/python/tc_unb1_reorder_seq.py
@@ -0,0 +1,185 @@
+#! /usr/bin/env python
+###############################################################################
+#
+# Copyright (C) 2015
+# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+###############################################################################
+
+"""Test case for unb1_reorder
+
+Description:
+  Tx seq --> Reorder_transpose --> Rx seq
+               |         |
+             WR DDR    RD DDR
+Usage:
+
+"""
+
+###############################################################################
+# System imports
+import test_case
+import node_io
+import pi_diag_block_gen
+import pi_diag_tx_seq
+import pi_diag_data_buffer
+import pi_diag_rx_seq
+import pi_io_ddr
+import pi_ss_ss_wide
+import dsp_test
+import mem_init_file
+
+from tools import *
+from common import *
+from pi_common import *
+
+
+##################################################################################################################
+
+if __name__ == "__main__":
+
+    # Create a test case object
+
+    tc = test_case.Testcase('TB - ', '')
+    tc.set_result('PASSED')
+    tc.append_log(3, '>>>')
+    tc.append_log(1, '>>> Title : Test case for the unb1_reorder design on %s' % tc.unb_nodes_string())
+    tc.append_log(3, '>>>')
+    tc.append_log(3, '')
+        
+    # Create access object for all nodes
+    io = node_io.NodeIO(tc.nodeImages, tc.base_ip)
+        
+    # Create instances for the periperals
+    c_nof_streams   = 1
+    c_wr_chunksize  = 256
+    c_rd_chunksize  = 32
+    c_rd_nof_chunks = 8
+    c_rd_interval   = 32
+    c_gapsize       = 0
+    c_nof_blocks    = 32
+    c_in_dat_w      = 64
+    c_bg_ram_size   = c_wr_chunksize * c_nof_blocks
+    
+    bg = pi_diag_block_gen.PiDiagBlockGen(tc, io, nofChannels=c_nof_streams, ramSizePerChannel=2**14)
+    db = pi_diag_data_buffer.PiDiagDataBuffer(tc, io, nofStreams=c_nof_streams)
+    tx_seq = pi_diag_tx_seq.PiDiagTxSeq(tc, io, nof_inst=c_nof_streams)
+    rx_seq = pi_diag_rx_seq.PiDiagRxSeq(tc, io, nof_inst=c_nof_streams)
+    
+    # Create object for DDR register map
+    ddr = pi_io_ddr.PiIoDdr(tc, io, nof_inst = 1)
+    
+    # Create subandselect instance for pre-transpose.   
+    ss = pi_ss_ss_wide.PiSsSsWide (tc, io, c_wr_chunksize*c_rd_chunksize, c_nof_streams) 
+    
+    # Create dsp_test instance for helpful methods
+    dsp_test_bg = dsp_test.DspTest(inDatW=c_in_dat_w)
+    
+    ###############################################################################
+    #
+    # Create setting for the pre-transpose (subbandselect)
+    #
+    ###############################################################################
+#    ss_list = []
+#    for i in range(c_wr_chunksize):
+#        for j in range(c_rd_chunksize):
+#           ss_list.append(i + j*c_wr_chunksize)
+#           
+#    ss.write_selects(ss_list)
+    
+    
+    ################################################################################
+    # Test
+    
+    # Wait for power up (reset release)
+    io.wait_for_time(hw_time=0.01, sim_time=(1, 'us'))
+    
+    # Control defaults
+    nof_mon = 2
+    start_address = 0
+    #nof_words = 134217720
+    nof_words = 100000
+    
+    for rep in range(tc.repeat):
+        tc.append_log(5, '')
+        tc.append_log(3, '>>> Rep-%d' % rep)
+    
+        # Initialization
+        tx_seq.write_disable(vLevel=5)
+        rx_seq.write_disable(vLevel=5)
+        
+        # Wait for the DDR memory to become available    
+        do_until_eq(ddr.read_init_done, ms_retry=3000, val=1, s_timeout=3600)
+        
+    #    # Flush Tx FIFO
+    #    ddr.write_flush_pulse(vLevel=5)
+    #    io.wait_for_time(hw_time=0.01, sim_time=(1, 'us'))
+    #    
+    #    # Set DDR controller in write mode and start writing
+    #    ddr.write_set_address(data=start_address, vLevel=5)
+    #    ddr.write_access_size(data=nof_words, vLevel=5)
+    #    ddr.write_mode_write(vLevel=5)
+    #    ddr.write_begin_access(vLevel=5)
+
+        # Tx sequence start
+        #tx_seq.write_enable_cntr(vLevel=5)
+
+        # Set and enable Block Generator 
+        bg.write_block_gen_settings(samplesPerPacket=256, blocksPerSync=16, gapSize=0, BSNInit=0)
+        bg.write_enable()
+        
+        # Rx sequence start
+        rx_seq.write_enable_cntr(vLevel=5)
+
+        
+        # Set DDR3 controller in write mode
+        ddr.write_mode_write()
+
+        # Tx sequence monitor
+        for mon in range(nof_mon):
+            io.wait_for_time(hw_time=0.01, sim_time=(1, 'us'))
+            tx_seq.read_cnt(vLevel=5)
+        
+        # Wait until controller write access is done
+        #do_until_eq(ddr.read_done, ms_retry=3000, val=1, s_timeout=3600)        
+        
+        # Rx sequence start
+        #rx_seq.write_enable_cntr(vLevel=5)
+        
+    #    # Set DDR3 controller in read mode and start reading
+    #    ddr.write_mode_read(vLevel=5)
+    #    ddr.write_begin_access(vLevel=5)
+        
+        # Rx sequence monitor
+        for mon in range(nof_mon):
+            io.wait_for_time(hw_time=0.01, sim_time=(1, 'us'))
+            rx_seq.read_cnt(vLevel=5)
+        
+        # Wait until controller read access is done
+        #do_until_eq(ddr.read_done, ms_retry=3000, val=1, s_timeout=3600)        
+        
+        rx_seq.read_result(vLevel=5)
+        
+    
+    # End
+    tc.set_section_id('')
+    tc.append_log(3, '')
+    tc.append_log(3, '>>>')
+    tc.append_log(0, '>>> Test bench result: %s' % tc.get_result())
+    tc.append_log(0, '>>> Runtime=%f seconds (%f hours)' % (tc.get_run_time(),tc.get_run_time()/3600))
+    tc.append_log(3, '>>>')
+