Appendix A Sample default.spark Hardware Description file
//NOTE: do no put any comments within a section
// Currently NumOfCycles, TimeConstrained and Pipelined are not used
// ClockPeriod NumOfCycles TimeConstrained Pipelined
[GeneralInfo]
10 1 1 0
//typeName lowerRange upperRange
//or variableName lowerRange upperRange
[TypeInfo]
char 0 8
signed_char 0 8
unsigned_char 0 8
short 0 16
int -32767 32768
unsigned_short 0 16
unsigned_int 0 32
long 0 64
unsigned_long 0 64
long_long 0 128
unsigned_long_long 0 128
float 0 32
double 0 64
long_double 0 128
myVariableFromInput 0 4
// all cycles in resources have to be ns/ClockPeriod = cycles
//name type inpsType inputs outputs number cost cycles ns
[Resources]
ALU +,- i 2 1 1 10 1 10
MUL * i 2 1 1 20 2 20
CMP ==,< i 2 1 1 10 1 10
SHFT << i 2 1 2 10 1 10
ARR [] i 1 1 5 10 1 10
LOGIC &&,|| i 2 1 5 10 0 0
GATE b&,b| i 2 1 5 10 0 0
UNARY ~,! i 1 1 5 10 0 0
ALLCALLS call i 0 0 2 10 1 10
// variable maxNumUnrolls maxNumShifts percentageThreshold cycleThruput
[RDLPParams]
* 0 0 70 0
//unroll, shift, resetUnroll, and resetShift metrics
[RDLPMetrics]
UnrollMetric=RDLPGenericUnrollMetric
ShiftMetric=RDLPGenericShiftMetric
ResetUnrollMetric=RDLPGenericResetUnrollMetric
ResetShiftMetric=RDLPGenericResetShiftMetric
//lists file that has scheduler rules/functions
[SchedulerRules]
Priority.rules
//function that drives scheduler
[SchedulerScript]
genericSchedulerScript
// numOfTestVectors
[Verification]
20
[OutputVHDLRules]
PrintSynopsysVHDL=true