// Begin

// NestedLoops circuit (NL, NL1) - original

// Circuit name and interface
CIR NestedLoops In(in,4) clk(clk,1) Out(out,4)

// Module names and types
ITM FU1(ADD_4a) 
ITM FU2(ADD_4a) 
ITM FU3(MUL_4_8comb) 
ITM R1(REG_4) d(in,4)
ITM R2(REG_4) d(in,4)
ITM R3(REG_4) d(in,4)

// List of interconnections
// If no bijection given, it's supposed to be an identity
LINK NestedLoops.In(0:3) -> FU1.x(0:3)
LINK NestedLoops.clk -> R1.clk
LINK NestedLoops.clk -> R2.clk
LINK NestedLoops.clk -> R3.clk
LINK FU1.s -> R1.d
LINK R1.y -> FU2.x
LINK FU2.s -> R2.d
LINK R2.y -> FU3.x
LINK FU3.m(7:4) -> R3.d
LINK R3.y -> FU1.y FU2.y FU3.y NestedLoops.Out

// End
