// Four ECUs configured for use in the Linear
Filter
ECU ECU3(.Clock(clk), Reset(rst), .XBus(mux_x3),
.YBus(mux_y3), .AdderBus(mux_a3), .Cin(), .IBus(ibus),
.Sign(sign), .Result(res_ecu3), .Cout(cout_ecu2));
ECU ECU2(.Clock(clk), Reset(rst), .XBus(mux_x2), .YBus(mux_y2),
.AdderBus(mux_a2), .Cin(cout_ecu3), .IBus(ibus),
.Sign(sign), .Result(res_ecu2), .Cout(cout_ecu2));
ECU ECU1(.Clock(clk), Reset(rst), .XBus(mux_x1),
.YBus(mux_y1), .AdderBus(mux_a1), .Cin(cout_ecu2),
.IBus(ibus), .Sign(sign), .Result(res_ecu1),
.Cout(cout_ecu1));
ECU ECU0(.Clock(clk), Reset(rst), .XBus(mux_x0), .YBus(mux_y0),
.AdderBus(mux_a0), .Cin(cout_ecu1), .IBus(ibus),
.Sign(sign), .Result(filter_out), .Cout(cout_ecu0));
// Logic Cell Based Muxs select between the different
inputs that are fed into the ECUs
// This statement reads "if cycle is true then mux_x3 is equal to res_ecu3 else r4"
assign mux_x3=(cycle)?res_ecu3:r4;
assign mux_y3=(cycle)?c3:0;
assign mux_a3=(cycle)?0:r5;
.
.
.
assign mux_x0=(cycle)?res_ecu0:r1;
assign mux_y0=(cycle)?c0:0;
assign mux_a0=(cycle)?res_ecu1:r8;