The Restricted Permutation Network (RPN) generates a restricted subset of permutation of the input image by applying row permutation.
There are 3 configurations of customization available. Multi-stage, Segmented, and Partial
Set parameter k on top.sv to generate a multistage design. k indicates the number of stages used in RPN, with k=1 referring to a single-stage design.
Set parameter N on top.sv to generate a segmented design. N indicates the size of each group in RPN.
Set parameter R on top.sv to generate a partial design. R indicates the number of rows to apply permutation on.
synth.tcl and impl.tcl are 2 tcl provided for users to quickly generate test cases to analyze the resource usage of a particular parameter set up of RPN.