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.