QBF-BASED SYNTHESIS OF OPTIMAL WORD-SPLITTING IN APPROXIMATE - - PowerPoint PPT Presentation
QBF-BASED SYNTHESIS OF OPTIMAL WORD-SPLITTING IN APPROXIMATE - - PowerPoint PPT Presentation
QBF-BASED SYNTHESIS OF OPTIMAL WORD-SPLITTING IN APPROXIMATE MULTI-LEVEL CELLS Daniel E. Holcomb Kevin Fu University of Michigan 2 March 2014 QBF Synthesis of Optimal Word-Splitting 2 Motivation 2 March 2014 QBF Synthesis of Optimal
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Motivation
2
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Motivation
- Multi-level cells (MLCs)
- Store 4 bits per cell using 16 discrete levels
2
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Motivation
- Multi-level cells (MLCs)
- Store 4 bits per cell using 16 discrete levels
- Approximate computing
- Save resources by allowing errors [Sampson et al. ’13]
- Errors between nearby levels
- But still want to minimize impact of errors
2
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Motivation
- Multi-level cells (MLCs)
- Store 4 bits per cell using 16 discrete levels
- Approximate computing
- Save resources by allowing errors [Sampson et al. ’13]
- Errors between nearby levels
- But still want to minimize impact of errors
- Design decisions
- Data words don't fit in one MLC
- How to split word across multiple MLCs?
2
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
??? ???
Write Operation Read Operation
3
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation
3
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation
3
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation
3
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96
3
0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96
3
write 3 write 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96
3
write 3 read 4 write 0 read 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96
3
write 3 read 4 MLC error = 1 write 0 read 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96 read 16
3
write 3 read 4 MLC error = 1 write 0 read 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96 read 16 word error = 80
3
write 3 read 4 MLC error = 1 write 0 read 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Example
MLCs: Data Word:
Write Operation Read Operation write 96 read 16 word error = 80
3
write 3 read 4 MLC error = 1 write 0 read 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
Assuming a fixed upper bound on MLC error, can we find a mapping between data word and MLCs that minimizes worst-case word error?
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
DW C1R C0R S
XBAR XBAR
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
DW C1R C0R S
XBAR XBAR
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
DW C1R C0R S
XBAR XBAR
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
DW C1R C0R S C1W C0W DR
XBAR XBAR
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
DW C1R C0R S C1W C0W DR
XBAR XBAR
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
DW C1R C0R S C1W C0W DR
XBAR XBAR
(ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- (ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
- Gatewise translate circuit to CNF
clauses
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- (ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
- Gatewise translate circuit to CNF
clauses
- Synthesis by solving Boolean formula
with appropriately quantified variables
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- (ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
- Gatewise translate circuit to CNF
clauses
- Synthesis by solving Boolean formula
with appropriately quantified variables
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- ∃S∀DW ∀CR
1 ∀CR 0 (ΦMLC =
⇒ ΦW ORD)
(ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
- Gatewise translate circuit to CNF
clauses
- Synthesis by solving Boolean formula
with appropriately quantified variables
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- ∃S∀DW ∀CR
1 ∀CR 0 (ΦMLC =
⇒ ΦW ORD)
(ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
- If QBF solution exists,
solver produces assignment to existentially quantified variables
- This assignment
guarantees property to always hold
QBF Synthesis of Optimal Word-Splitting 2 March 2014
QBF Formulation of Word-Splitting
4
- QBF: SAT with alternating quantifiers
- Formulate QBF-based synthesis by way
- f combinational circuit
- Crossbars implement mapping
between data words and MLCs
- 64 bits specify xbar connections
- 8-bit written dataword
- 4-bit value read from each MLC
- Check word and MLC error bounds
- Gatewise translate circuit to CNF
clauses
- Synthesis by solving Boolean formula
with appropriately quantified variables
DW C1R C0R S C1W C0W DR
XBAR XBAR
ΦW ORD
- ΦW ORD :=
- |DW − DR| ≤ ED
- ∃S∀DW ∀CR
1 ∀CR 0 (ΦMLC =
⇒ ΦW ORD)
(ΦMLC
ΦMLC :=
- |CW
1
− CR
1 | ≤ EC
- ∧
- |CW
− CR
0 | ≤ EC
- If QBF solution exists,
solver produces assignment to existentially quantified variables
- This assignment
guarantees property to always hold
QBF Synthesis of Optimal Word-Splitting 2 March 2014
Results
- QBF-based synthesis to find optimal word-splitting
5 0.2 0.4 20 40 60 80 100 120 140 probability word-level error interleaved 0.2 0.4 20 40 60 80 100 120 140 probability word-level error synthesized 0.2 0.4 20 40 60 80 100 120 140 probability word-level error synthesized, with remapping