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.