Professional Documents
Culture Documents
9825
9825
: :
Multi-bit flip-flop
2010CAD
1. Timing Slack
The temporal difference between the deadline, the ready time and the run time
signal
Bin Chip
Grid
2010CAD
The Least total power consumption Least CPU time and memory usage
class object { public: bool obj; // ff or pin string obname; // ff or pin name string orname; // lib or ff name int obvalue; // bit or slack long x; long y; object(); object(const object &); int operator<(const object &rhs) const; }; class block { public: long x; long y; int value; block(); block(const block &); };
class flip_flop_property { public: short bit_number; short power_consumption; short area; string libname; flip_flop_property(); flip_flop_property(const flip_flop_property &); int operator<(const flip_flop_property &rhs) const; };
class specify { public: int place_DC; long chip_size_x; long chip_size_y; short grid_size_x; short grid_size_y; int bin_size_x; int bin_size_y; specify(); specify(const specify &); };
OpenGL
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
PIN3
(0,0)
1 2 3 4
FLIP-FLOP1 PIN2 PIN1 FLIP-FLOP2
N=3 N=0 N=1 N=2 X=3000/2Y=375/2 X=1500/2 X=750/2 X=375/2 Y=750/2 Y=3000/2 Y=1500/2
BLOCK
PIN4
1
5 21 22 6 23 7 24 8 9 10
2
11 12 13 14
3
15 16 17 81 18 82
4
19 83 20 84
(1) input (2) 1. Chip X,Y 2 N 1 2.1 N 3. Quad tree N-level complete tree 4. Flip-flop leaf (3) Quad tree root (12) (4) Quad tree leaf node (5) Density (7) (6) Flop-flip (11) (7) (9) (8) Flip-flop (9) Flip-flop Library Flip-flop (11) (10) Flip-flop finish list (11) leaf Node parent (3) (12) Node finish list
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
Qtree[56] Qtree[57] Qtree[43] FLIP-FLOP2 FLIP-FLOP1 FLIP-FLOP3
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
Qtree[56] Qtree[57] Qtree[43] FLIP-FLOP2 FLIP-FLOP1 FLIP-FLOP3
FLIP-FLOP2 PIN4
BLOCK
Qtree[3] FLIP-FLOP2 FLIP-FLOP1 Qtree[2] FLIP-FLOP3
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
Qtree[56] Qtree[57] Qtree[43] FLIP-FLOP2 FLIP-FLOP1 FLIP-FLOP3
FLIP-FLOP2 PIN4
BLOCK
Qtree[3] FLIP-FLOP2 FLIP-FLOP1 Qtree[2] FLIP-FLOP3
pin slack
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
Qtree[3] FLIP-FLOP2 FLIP-FLOP1 Qtree[2] FLIP-FLOP3
FLIP-FLOP1 PIN1
PIN2
FLIP-FLOP2 PIN4
BLOCK
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
Qtree[3] FLIP-FLOP2 FLIP-FLOP1 Qtree[2] FLIP-FLOP3
PIN2 PIN1
BLOCK
PIN4
PIN3
(0,0)
FLIP-FLOP3 PIN5
(3000,3000)
PIN6
Qtree[3] FLIP-FLOP2 FLIP-FLOP1 Qtree[2] FLIP-FLOP3
Qtree[2]
FLIP-FLOP3
BLOCK
PIN4
NEW FLIP-FLOP
PIN3
Finish_list
NEW FLIP-FLOP
Qtree[0]
FLIP-FLOP3
(0,0)
GUI