
Our uDATAPATH_Collatz is a component that computes the Collatz Array Sequence for a given input number. The input and output are 8-bit vectors (data bus). The component is synchronous and has a reset signal to read the input data and perform the series calculation. The component implementation is based on a 4-register Datapath and ALU such that the implementation emulates basic assembler instructions programmed in a simple state machine.
To test the component, you must put a data on the input bus BB_SYSTEM_data_InBUS[7:0], activate the Reset signal. In the output bus BB_SYSTEM_data_OutBUS[7:0] you can see the calculated string. * The series will be calculated close to the clock rate. Visually you will not be able to see the intermediate data unless you use a probe reading per digital channel from an oscilloscope.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | clk | BB_SYSTEM_data_OutBUS[0] | |
| 1 | rst_n | BB_SYSTEM_data_OutBUS[1] | |
| 2 | BB_SYSTEM_data_InBUS[0] | BB_SYSTEM_data_OutBUS[2] | |
| 3 | BB_SYSTEM_data_InBUS[1] | BB_SYSTEM_data_OutBUS[3] | |
| 4 | BB_SYSTEM_data_InBUS[2] | BB_SYSTEM_data_OutBUS[4] | |
| 5 | BB_SYSTEM_data_InBUS[3] | BB_SYSTEM_data_OutBUS[5] | |
| 6 | BB_SYSTEM_data_InBUS[4] | BB_SYSTEM_data_OutBUS[6] | |
| 7 | BB_SYSTEM_data_InBUS[5] | BB_SYSTEM_data_OutBUS[7] |