400 likes | 559 Views
Automated Mapping for Reconfigurable SET Arrays. Introduction. SET Single electron transistor Low power device Attractive at room temperatures. SET array architecture. current detector. Reconfigurable BDD-based architecture. All sloping edges are configurable
E N D
Introduction • SET • Single electron transistor • Low power device • Attractive at room temperatures
SET array architecture current detector • Reconfigurable BDD-based architecture • All sloping edges are configurable • short, open, active (high or low) • Active edges at the same row are controlled by a single variable 1
Example: XOR high low short open • f = a⊕b a a’ b’ b 1
Problem formulation • Given a Boolean function, map it into a reconfigurable SET array • Input: a boolean function • Output: a SET array
Preliminaries current detector • BDD -> SET array 0 1 1 Crossing edges Position
Our approach current detector • BDD -> product term -> SET array 0010 01-0 100- 11-- 0 1 1 Configure a path for each product term while avoid producing invalid product terms
Key ideas • Depth-first search (DFS)-liked approach • Search and configure • Map all product terms one by one • Start from the root node (current detector) • Search and configure a path for a product term • Avoid invalid paths
Example 1 010- 0110 101- 11-- high low short open
Example 1 010- 0110 101- 11-- High Low Short Open
Example 1 010- 0110 101- 11-- High Low Short Open
Example 1 010- 0110 101- 11-- High Low Short Open
Example 1 010- 0110 101- 11-- High Low Short Open
Example 1: Compress 010- 0110 101- 11-- High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2: 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Example 2: Compress 101- -1-0 0101 11-1 101- 01-0 0101 11-1 • 11-0 High Low Short Open
Flow Input: a boolean functionf • Construct an ROBDD dd of f by using the CUDD package • Reorder dd with the heuristic method, CUDD_REORDER_SYMM_SIFT, in CUDD • Collect product terms PTs by tracing dd • Preprocess PTs to ensure at most only two different values appear at the first bits • Sort PTs by using the proposed heuristic Map product terms into a SET array by using the proposed mapping algorithm Output: a configured SETarray
Experiments • Product term count and order • 7 heuristics • LexSort • ‘-’ > 1 > 0 • Reorder, LexSort • Reorder • LexSort, Reorder • Inertia, Reorder • For. inertia, Reorder • Back. + For. inertia, Reorder
New improvements • Mapping method • Mapping constraints
Mapping algorithm • Node n • n.left always has a higher priority than n.right for configuration • ---01, --0-1, -1-0-, -10--, • Node n = (x, y) • If x >= 0, n.left has a higher priority • Otherwise, n.right has a higher priority • ---01, --0-1, -1-0-, -10--, DATE vision New vision
New constraints • Mode constraint: active/short is not allowed • Input constraint: high/high, low/low are not allowed • Granularity constraint:only high/low, short/short, and open/open are allowed • Fabric specification: (high, low) and (low, high) cannot simultaneously appear in a low
BDD-based product term collection High • No constraint Low 0110- 010-- 11--- 101-- Short
BDD-based product term collection High • Mode constraint Low 0110- 010-- 11--- 101-- Short
BDD-based product term collection High • Input constraint Low 0110- 010-- 11--- 101-- Short
BDD-based product term collection High • Granularity constraint Low 0110- 010-- 11--- 101-- Short
BDD-based product term collection High • Fabric constraint Low 0110- 010-- 11--- 101-- Short
Espresso-based product term collection High • No constraint Low -1-0- -10-- 1-1-- Short
Espresso-based product term collection High • Mode constraint Low -1-0- -10-- 1-1-- 11-0- 110-- 1-1-- 01-0- 010-- Short
Espresso-based product term collection High • Input constraint Low -1-0- -10-- 1-1-- 11-0- 110-- 1-1-- 01-0- 010-- Short
Espresso-based product term collection High • Granularity constraint Low -1-0- -10-- 1-1-- 11-0- 110-- 1-1-- 01-0- 010-- Short
Espresso-based product term collection High • Fabric constraint Low -1-0- -10-- 1-1-- 11-0- 110-- 1-1-- 01-0- 010-- Short