Math2mat
|
Public Types | |
enum | NumType { FLOAT, FLOAT32, FLOAT64, FIXED, INTUINT, INT, UINT, OTHER } |
enum | ImplType { SEQUENTIAL, PIPELINE, COMBINATORIAL } |
Public Member Functions | |
BuildingBlock () | |
boolean | useGenericSize () |
abstract NumType | numType () |
abstract ImplType | implType () |
abstract int | version () |
abstract String | author () |
int | latencyTime () |
abstract int | resources () |
abstract int | period () |
int | cycleTime () |
abstract String | functionName () |
abstract String | vhdlFileName () |
abstract ArrayList< String > | dependentFiles () |
abstract String | entityName () |
int | nbInputs () |
int | nbOutputs () |
String | device () |
abstract String | description () |
This class represents a building block for the math2mat project. Its purpose is to supply the description of such a block, by being derived once for each component.
Definition at line 14 of file BuildingBlock.java.
Implementation type of a building block
Definition at line 88 of file BuildingBlock.java.
Type of numbers processed by a building block
Definition at line 25 of file BuildingBlock.java.
m2m.backend.buildingblocks.BuildingBlock.BuildingBlock | ( | ) |
A default empty constructor
Definition at line 19 of file BuildingBlock.java.
abstract String m2m.backend.buildingblocks.BuildingBlock.author | ( | ) | [pure virtual] |
Returns the author of the VHDL file.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
int m2m.backend.buildingblocks.BuildingBlock.cycleTime | ( | ) |
Indicates the cycle time of the building block. For a standard pipeline implementation, it should be 1, as a new calculation can be launched at every clock cycle. For a sequential implementation it should return the number of clock cycles required for a processing, if this is known, 0 else. For a combinatorial implementation, it is not relevant.
Reimplemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
Definition at line 171 of file BuildingBlock.java.
abstract ArrayList<String> m2m.backend.buildingblocks.BuildingBlock.dependentFiles | ( | ) | [pure virtual] |
Returns the names of the VHDL files the block needs.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
abstract String m2m.backend.buildingblocks.BuildingBlock.description | ( | ) | [pure virtual] |
Returns a description of the building block. It can then be exploited to display a list of available components.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
String m2m.backend.buildingblocks.BuildingBlock.device | ( | ) |
Indicates if this block is only valid for a specific target. If not overriden, then the block is generic, and does not rely on a specific hardware (no use of DSP blocks, for instance).
Definition at line 240 of file BuildingBlock.java.
abstract String m2m.backend.buildingblocks.BuildingBlock.entityName | ( | ) | [pure virtual] |
Returns the name of the VHDL entity describing the block.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
abstract String m2m.backend.buildingblocks.BuildingBlock.functionName | ( | ) | [pure virtual] |
Returns the name of the function implemented by the block. All blocks performing the same function should return the same name. It has to be fixed for the operators, and can be user defined for functions.
The basic functions HAVE to respect there names:
Other functions can be added, such as sin, cos, ... The name returned by functionName() should then be the same as the one used in the mathematical source code.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
abstract ImplType m2m.backend.buildingblocks.BuildingBlock.implType | ( | ) | [pure virtual] |
Returns the implementation type, that can be SEQUENTIAL, PIPELINE, or COMBINATORIAL. It may help the optimizer to choose the most appropriate component for a given application.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
int m2m.backend.buildingblocks.BuildingBlock.latencyTime | ( | ) |
Indicates the latency time of the building block. For a pipeline implementation, it returns the number of pipe stages, while for a sequential implementation it returns the number of clock cycles required for a processing, if this time is known, 0 else. For a combinatorial implementation it returns 1.
Reimplemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
Definition at line 144 of file BuildingBlock.java.
int m2m.backend.buildingblocks.BuildingBlock.nbInputs | ( | ) |
Returns the number of inputs for the block. By default it returns 2, as the main building blocks deal with 2 inputs and 1 output.
Reimplemented in m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, and m2m.backend.buildingblocks.blocks.SqrtPipeSrt64.
Definition at line 220 of file BuildingBlock.java.
int m2m.backend.buildingblocks.BuildingBlock.nbOutputs | ( | ) |
Returns the number of outputs for the block. By default it returns 1, as the main building blocks deal with 2 inputs and 1 output.
Definition at line 230 of file BuildingBlock.java.
abstract NumType m2m.backend.buildingblocks.BuildingBlock.numType | ( | ) | [pure virtual] |
Returns the number representation, that can be FLOAT, DOUBLE, FIXED, INT, UINT, or INTUINT. It will allow to extend the tool for other number representations.
Implemented in m2m.backend.buildingblocks.BuildingBlockFixed, m2m.backend.buildingblocks.BuildingBlockFloat, m2m.backend.buildingblocks.BuildingBlockFloat32, m2m.backend.buildingblocks.BuildingBlockFloat64, m2m.backend.buildingblocks.BuildingBlockInt, m2m.backend.buildingblocks.BuildingBlockIntUInt, and m2m.backend.buildingblocks.BuildingBlockUInt.
abstract int m2m.backend.buildingblocks.BuildingBlock.period | ( | ) | [pure virtual] |
Indicates the minimum period at which the block is functional. This value is relative to the other building blocks.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
abstract int m2m.backend.buildingblocks.BuildingBlock.resources | ( | ) | [pure virtual] |
Indicates a hardware resources evaluation of the block. This value is relative to the other building blocks.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
boolean m2m.backend.buildingblocks.BuildingBlock.useGenericSize | ( | ) |
Indicates if the operands have a generic size or not. If yes, the methods of subclasses allow to fix the size of the operands. By default the size is not generic, so this function does not necesseraly needs to be overriden.
Reimplemented in m2m.backend.buildingblocks.BuildingBlockFixed, m2m.backend.buildingblocks.BuildingBlockFloat, and m2m.backend.buildingblocks.BuildingBlockIntUInt.
Definition at line 105 of file BuildingBlock.java.
abstract int m2m.backend.buildingblocks.BuildingBlock.version | ( | ) | [pure virtual] |
Returns the version number of the building block.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.
abstract String m2m.backend.buildingblocks.BuildingBlock.vhdlFileName | ( | ) | [pure virtual] |
Returns the name of the VHDL file in which the block is described.
Implemented in m2m.backend.buildingblocks.blocks.Add2Comb32, m2m.backend.buildingblocks.blocks.Add2Comb64, m2m.backend.buildingblocks.blocks.Add2Pipe32, m2m.backend.buildingblocks.blocks.Add2Pipe64, m2m.backend.buildingblocks.blocks.AndComb32, m2m.backend.buildingblocks.blocks.Div2CombArray32, m2m.backend.buildingblocks.blocks.Div2CombSrt32, m2m.backend.buildingblocks.blocks.Div2CombSrt64, m2m.backend.buildingblocks.blocks.Div2CombSucc32, m2m.backend.buildingblocks.blocks.Div2PipeArray32, m2m.backend.buildingblocks.blocks.Div2PipeSrt32, m2m.backend.buildingblocks.blocks.Div2PipeSrt64, m2m.backend.buildingblocks.blocks.EqualComb32, m2m.backend.buildingblocks.blocks.GreatComb32, m2m.backend.buildingblocks.blocks.GreatEqComb32, m2m.backend.buildingblocks.blocks.LessComb32, m2m.backend.buildingblocks.blocks.LessEqComb32, m2m.backend.buildingblocks.blocks.Mult2CombCsa32, m2m.backend.buildingblocks.blocks.Mult2CombWired32, m2m.backend.buildingblocks.blocks.Mult2CombWired64, m2m.backend.buildingblocks.blocks.Mult2PipeCsa32, m2m.backend.buildingblocks.blocks.Mult2PipeWired32, m2m.backend.buildingblocks.blocks.Mult2PipeWired64, m2m.backend.buildingblocks.blocks.MuxComb32, m2m.backend.buildingblocks.blocks.Neg, m2m.backend.buildingblocks.blocks.OrComb32, m2m.backend.buildingblocks.blocks.SqrtCombNr32, m2m.backend.buildingblocks.blocks.SqrtCombNr64, m2m.backend.buildingblocks.blocks.SqrtCombSrt32, m2m.backend.buildingblocks.blocks.SqrtCombSrt64, m2m.backend.buildingblocks.blocks.SqrtPipeNr32, m2m.backend.buildingblocks.blocks.SqrtPipeNr64, m2m.backend.buildingblocks.blocks.SqrtPipeSrt32, m2m.backend.buildingblocks.blocks.SqrtPipeSrt64, m2m.backend.buildingblocks.blocks.Sub2Comb32, m2m.backend.buildingblocks.blocks.Sub2Comb64, m2m.backend.buildingblocks.blocks.Sub2Pipe32, and m2m.backend.buildingblocks.blocks.Sub2Pipe64.