Skip to content

Commit

Permalink
Expand the delay characterization.
Browse files Browse the repository at this point in the history
 * Add more comments in the `samples.textproto`.
 * Aligned the various bit widths, to make it clearer.

 * Unalias a number of operands;
   * Inverted ops (IE `kNand` from `kAnd`, `kNor` from `kOr`)
   * Comparison operators (IE `kUGt`, `kULt`, `kUGe`)
   * Subtraction and addition (`kSub` from `kAdd`)
   * Unsigned verse signed multiply (IE `kSMul` from `kUMul`)

 * Expand samples;
   * More values for `kNot` (4bit -> 256bit)
   * More values for simple ops like `kAnd` (& `kNand`), `kOr` (& `kNor`) and `kXor`.

PiperOrigin-RevId: 589704971
  • Loading branch information
mithro authored and copybara-github committed Dec 11, 2023
1 parent e311515 commit 3885ecb
Show file tree
Hide file tree
Showing 2 changed files with 1,472 additions and 191 deletions.
131 changes: 118 additions & 13 deletions xls/delay_model/op_models.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,16 @@ op_models {
}
}
}
op_models { op: "kNand" estimator { alias_op: "kAnd" } }
op_models {
op: "kNand"
estimator {
regression {
expressions {
factor { source: OPERAND_COUNT }
}
}
}
}
op_models {
op: "kOr"
estimator {
Expand All @@ -61,7 +70,16 @@ op_models {
}
}
}
op_models { op: "kNor" estimator { alias_op: "kOr" } }
op_models {
op: "kNor"
estimator {
regression {
expressions {
factor { source: OPERAND_COUNT }
}
}
}
}
op_models {
op: "kXor"
estimator {
Expand Down Expand Up @@ -138,7 +156,19 @@ op_models {
}
}
}
op_models { op: "kSub" estimator { alias_op: "kAdd" } }
op_models {
op: "kSub"
estimator {
regression {
expressions {
factor {
source: OPERAND_BIT_COUNT
operand_number: 0
}
}
}
}
}
op_models {
op: "kNeg"
Expand Down Expand Up @@ -193,6 +223,8 @@ op_models {
}
}
}
# Multiplier operators
op_models {
op: "kUMul"
estimator {
Expand All @@ -218,8 +250,31 @@ op_models {
}
}
}
op_models { op: "kSMul" estimator { alias_op: "kUMul" } }
op_models {
op: "kSMul"
estimator {
regression {
expressions {
factor {
source: RESULT_BIT_COUNT
}
}
}
}
specializations {
kind: OPERANDS_IDENTICAL
estimator {
regression {
expressions {
factor {
source: OPERAND_BIT_COUNT
operand_number: 0
}
}
}
}
}
}
op_models {
op: "kUMulp"
Expand All @@ -246,8 +301,31 @@ op_models {
}
}
}
op_models { op: "kSMulp" estimator { alias_op: "kUMulp" } }
op_models {
op: "kSMulp"
estimator {
regression {
expressions {
factor {
source: RESULT_BIT_COUNT
}
}
}
}
specializations {
kind: OPERANDS_IDENTICAL
estimator {
regression {
expressions {
factor {
source: OPERAND_BIT_COUNT
operand_number: 0
}
}
}
}
}
}
op_models {
op: "kUDiv"
Expand Down Expand Up @@ -364,13 +442,40 @@ op_models {
}
}
}
op_models { op: "kSLt" estimator { alias_op: "kSLe" } }
op_models { op: "kSGe" estimator { alias_op: "kSLe" } }
op_models { op: "kSGt" estimator { alias_op: "kSLe" } }
op_models {
op: "kSLt"
estimator {
regression {
expressions {
factor { source: OPERAND_BIT_COUNT operand_number: 0 }
}
}
}
}
op_models {
op: "kSGe"
estimator {
regression {
expressions {
factor { source: OPERAND_BIT_COUNT operand_number: 0 }
}
}
}
}
op_models {
op: "kSGt"
estimator {
regression {
expressions {
factor { source: OPERAND_BIT_COUNT operand_number: 0 }
}
}
}
}
op_models { op: "kULe" estimator { alias_op: "kSLe" } }
op_models { op: "kULt" estimator { alias_op: "kSLe" } }
op_models { op: "kUGe" estimator { alias_op: "kSLe" } }
op_models { op: "kUGt" estimator { alias_op: "kSLe" } }
op_models { op: "kULt" estimator { alias_op: "kSLt" } }
op_models { op: "kUGe" estimator { alias_op: "kSGe" } }
op_models { op: "kUGt" estimator { alias_op: "kSGt" } }
op_models {
op: "kEq"
Expand Down
Loading

0 comments on commit 3885ecb

Please sign in to comment.