public class PBlockGenerator
extends Object
Modifier and Type | Field and Description |
---|---|
float |
ASPECT_RATIO
X dimension over Y dimension
|
static String |
ASPECT_RATIO_OPT |
static int |
AVOID_NULL_COLUMN_COUNT |
static int |
CARRY_PER_CLE |
static float |
CLES_PER_BRAM |
static float |
CLES_PER_DSP |
static String |
COUNT_REQUEST_OPT |
static boolean |
debug |
static PBlockGenEmitter |
emitter |
static int |
FF_PER_CLE |
String |
GLOBAL_PBLOCK |
static String |
GLOBAL_PBLOCK_OPT |
int |
IP_NR_INSTANCES |
static String |
IP_NR_INSTANCES_OPT |
static int |
LUTS_PER_CLE |
int |
MAX_COLUMNS |
float |
OVERHEAD_RATIO |
static String |
OVERHEAD_RATIO_OPT |
int |
PBLOCK_COUNT |
static int |
RAMLUTS_PER_CLE |
static String |
SHAPES_REPORT_OPT |
static int |
SLICES_PER_TILE |
int |
STARTING_X |
static String |
STARTING_X_OPT |
int |
STARTING_Y |
static String |
STARTING_Y_OPT |
static String |
UTILIZATION_REPORT_OPT |
Constructor and Description |
---|
PBlockGenerator() |
Modifier and Type | Method and Description |
---|---|
int |
checkFreeResources(HashMap<Integer,Integer[]> clbPBlock,
HashMap<Integer,Integer> xl,
HashMap<Integer,Integer> xr,
HashMap<Integer,Integer> yu,
HashMap<Integer,Integer> yd,
HashMap<Integer,Integer> instCount)
Function takes as input one pblock (multiple if pattern repeats) and checks whether this is
already used by other IPs and How many free resources (= rows) are left
|
ArrayList<String> |
generatePBlockFromReport(String reportFileName,
String shapesReportFileName) |
ArrayList<String> |
generatePBlockFromReport2(String reportFileName,
String shapesReportFileName) |
int |
getAlreadyGenPBlocks(HashMap<Integer,Integer> xl,
HashMap<Integer,Integer> xr,
HashMap<Integer,Integer> yd,
HashMap<Integer,Integer> yu,
HashMap<Integer,Integer> instCount)
Read PBlock File for obtaining already generated pblocks
|
PBlockGenEmitter |
getEmitter() |
static void |
main_testing(String[] args) |
static void |
main(String[] args) |
public static final int LUTS_PER_CLE
public static final int FF_PER_CLE
public static final float CLES_PER_BRAM
public static final float CLES_PER_DSP
public static int RAMLUTS_PER_CLE
public static int CARRY_PER_CLE
public static int SLICES_PER_TILE
public float ASPECT_RATIO
public float OVERHEAD_RATIO
public int STARTING_X
public int STARTING_Y
public int PBLOCK_COUNT
public int MAX_COLUMNS
public String GLOBAL_PBLOCK
public int IP_NR_INSTANCES
public static final int AVOID_NULL_COLUMN_COUNT
public static final PBlockGenEmitter emitter
public static final String UTILIZATION_REPORT_OPT
public static final String SHAPES_REPORT_OPT
public static final String ASPECT_RATIO_OPT
public static final String OVERHEAD_RATIO_OPT
public static final String STARTING_X_OPT
public static final String STARTING_Y_OPT
public static final String COUNT_REQUEST_OPT
public static final String GLOBAL_PBLOCK_OPT
public static final String IP_NR_INSTANCES_OPT
public static boolean debug
public PBlockGenEmitter getEmitter()
public ArrayList<String> generatePBlockFromReport2(String reportFileName, String shapesReportFileName)
public static void main_testing(String[] args)
public ArrayList<String> generatePBlockFromReport(String reportFileName, String shapesReportFileName)
public int checkFreeResources(HashMap<Integer,Integer[]> clbPBlock, HashMap<Integer,Integer> xl, HashMap<Integer,Integer> xr, HashMap<Integer,Integer> yu, HashMap<Integer,Integer> yd, HashMap<Integer,Integer> instCount)
clbPBlock
- Key is simply an integer to go over all patterns. 0 should always be the
first one to be chosen in the main code, as it shall avoid edge effects. Value is an array
holding all the pblocks for a given patternxl
- Leftmost columns of the pblocksxr
- Rightmost columns of the pblocksyu
- Upper rows of the pblocksyd
- Lowest rows of the pblocksinstCount
- Number of IP instancespublic int getAlreadyGenPBlocks(HashMap<Integer,Integer> xl, HashMap<Integer,Integer> xr, HashMap<Integer,Integer> yd, HashMap<Integer,Integer> yu, HashMap<Integer,Integer> instCount)
xl
- Leftmost columns of the pblocksxr
- Rightmost columns of the pblocksyd
- Lowest rows of the pblocksyu
- Upper rows of the pblocksinstCount
- public static void main(String[] args)