public class FilterBenchmark extends Object
Constructor and Description 

FilterBenchmark() 
Modifier and Type  Method and Description 

static void 
chainingSchedule()
It solves available filters for different scenario
consisting of different number of resources.

static int 
experiment1(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operations.

static int 
experiment1C(Store store,
Filter filter,
int addNum,
int mulNum,
int clock)
It optimizes scheduling of filter operation in fashion allowing
chaining of operations within one clock cycle.

static int 
experiment1P(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operations.

static int 
experiment1PM(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operations in a fashion allowing
pipelining of multiplication operations.

static int 
experiment2(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operations.

static int 
experiment2C(Store store,
Filter filter,
int addNum,
int mulNum,
int clock)
It optimizes scheduling of filter operation in fashion allowing
chaining of operations within one clock cycle.

static int 
experiment2P(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operations.

static int 
experiment2PM(Store store,
Filter filter,
int addNum,
int mulNum)
It optimizes scheduling of filter operation in fashion allowing
pipelining of multiplication operations.

static void 
main(String[] args)
It executes the program for number of filters,
number of resources (adders, multipliers) and
number of different synthesis techniques (
algorithmic pipelining, multiplier pipelining,
chaining, no special techniques).

static List<List<IntVar>> 
makeConstraints(Store store,
Filter filter,
int addNum,
int mulNum)
It creates constraint model for scheduling of filter operations.

static List<List<IntVar>> 
makeConstraintsChain(Store store,
Filter filter,
int addNum,
int mulNum,
int clk)
It creates constraint model for scheduling of filter operation in fashion allowing
chaining of operations within one clock cycle.

static List<List<IntVar>> 
makeConstraintsPipeline(Store store,
Filter filter,
int addNum,
int mulNum)
It creates a model for optimization of scheduling of operations of a given filter.

static List<List<IntVar>> 
makeConstraintsPipeMultiplier(Store store,
Filter filter,
int addNum,
int mulNum)
It creates constraint model for scheduling of filter operation in fashion allowing
pipelining of multiplication operations.

static List<List<IntVar>> 
makeLabelingList(IntVar[] T,
IntVar[] R)
It creates an array of arrays using two arrays.

static void 
pipelineSchedule()
It solves available filters for different scenario
consisting of different number of resources.

static void 
pipeMulSchedule()
It solves available filters for different scenario
consisting of different number of resources.

static void 
schedule()
It solves available filters for different scenario
consisting of different number of resources.

public static void main(String[] args)
args
 parameters (none)public static void schedule()
public static void pipeMulSchedule()
public static void chainingSchedule()
public static void pipelineSchedule()
public static int experiment1(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment1C(Store store, Filter filter, int addNum, int mulNum, int clock)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.clock
 number of time units within a clock.public static int experiment1PM(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment2PM(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment1P(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment2P(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment2(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static int experiment2C(Store store, Filter filter, int addNum, int mulNum, int clock)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.clock
 number of time units within a clock.public static List<List<IntVar>> makeConstraints(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static List<List<IntVar>> makeConstraintsPipeMultiplier(Store store, Filter filter, int addNum, int mulNum)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.public static List<List<IntVar>> makeConstraintsChain(Store store, Filter filter, int addNum, int mulNum, int clk)
store
 the constraint store in which the constraints are imposed.filter
 the filter being scheduled.addNum
 number of adders available.mulNum
 number of multipliers available.clk
 number of time units within a clock.public static List<List<IntVar>> makeConstraintsPipeline(Store store, Filter filter, int addNum, int mulNum)
store
 constraint store in which the constraints are imposed.filter
 filter for which pipelined execution is optimized.addNum
 number of available addersmulNum
 number of available multipliers.public static List<List<IntVar>> makeLabelingList(IntVar[] T, IntVar[] R)
T
 an array of variables corresponding to start time of an operation.R
 an array of variables corresponding to resource of an operation.Copyright © 2022. All rights reserved.