Characterization and Parameterized Random Generation of Digital Circuits Michael Huttony, J.P. Grossmanz, Jonathan Rose yy, and Derek Corneily

Departments of Computer Sciencey, Mathematicsz and Electrical and Computer Engineeringyy University of Toronto, Ontario M5S 1A4 fmdhutton@cs, jp@eecg, jayar@eecg, [email protected]

Abstract

The development of new Field-Programmed, MaskProgrammed and Laser-Programmed Gate Array architectures is hampered by the lack of realistic test circuits that exercise both the architectures and their automatic placement and routing algorithms. In this paper, we present a method and a tool for generating parameterized and realistic random circuits. To obtain the realism, we propose a set of graph-theoretic characteristics that describe a physical netlist, and have built a tool that can measure these characteristics on existing circuits. The generation tool uses the characteristics as constraints in the random circuit generation. To validate the quality of the generated netlists, parameters that are not speci ed in the generation are compared with those of real circuits, and with those of \random" graphs.

1 Introduction

There is a need for benchmark netlists in order to compare and test the quality of new ASIC architectures and physical design algorithms. However, useful benchmarks are rare|they are usually too small to e ectively test large future-generation products, and those large enough are often proprietary. Some attempts to alleviate this problem have been the MCNC benchmarks [10], the PREP benchmarks [8], and the use of random graphs. The use of random graphs is appealing because the supply is in nite, and the circuit size can be speci ed. However, only a small subset of random graphs can be considered reasonable with respect to electrical constraints (such as gate fanin or fanout), topological properties (such as maximum delay) and packaging constraints such as the number of pins. Compared to random graphs, circuits are inherently tame for implementation in gate arrays, and exhibit hierarchical structure which leads to empirical observations such as Rent's Rule1 [7]. In independent work, Darnauer and Dai [3] have proposed a method of generating random undirected graphs to meet a given I/O ratio and Rent parameter [3]. Their work reports results only for small circuits (from 77 to 128 lookup-tables) so it is dicult to evaluate the method's success at achieving the target parameterization because few partition points are available to determine the Rent parameter, r.

1 Rent's Rule: For a \reasonable" partition of a circuit into at least 5 modules, the relationship between the average number P of terminals/pins on a module, rand the average size B of a module follows the relationship P = k  B , where k is a constant and r is the Rent parameter which is a characteristic of the circuit in question.

Circuit Characterization Characteristics and Measured Parameters (n, nPI, nPO, delay, shape, edge−length, fanout dist’n)

Parameters not used in Generation (reconvergence, routed wirelength, track−count)

Circuit Generation Parameterized, Random Circuits

Validation

Generation Quality Measures

Figure 1: Approach to Circuit Generation In this paper we propose a method to generate benchmark circuits, illustrated in Figure 1, which combines the advantages of random graph generation and the realism obtained by using actual circuits. We have de ned a set of graph-theoretic characteristics and parameters of circuits and measured these on real circuits up to 4500 LUTs to form a pro le of realistic circuits. This measurement is done with a new software tool called circ. The pro le is used by a second tool, gen, to generate a random circuit with the speci ed parameters. In this way we produce netlists with the characteristics of realistic circuits, but also have the freedom to vary crucial parameters, including the size of the generated circuit. The interaction between the analysis and generation tools is of fundamental importance: circ can be used to analyze any private collection of circuits and determine alternative pro les for input to gen. In this paper we will validate the quality of the generated circuits by measuring circuit characteristics that are not speci ed in the generation, as illustrated in Figure 1. This system allows for features not possible with standard benchmark sets. For example, one parameter can vary while others are xed or scaled appropriately, to generate a \family" of circuits. In this paper we de ne the new algorithmic problem of random circuit generation with constraints. The circuit generation problem is very dicult and we present a heuristic algorithm to solve it inexactly, in a program called gen. The paper is organized as follows: Section 2 outlines the characterizations of circuits used for generation and validation of the random circuits and Section 3 describes the generation algorithm. We measure and discuss the quality of the generated circuits in Section 4 and then conclude.

2 Circuit Characterization

This section describes some of the statistical and structural characteristics of circuits which we have identi ed. For the purposes of this paper we focus on combinational circuits only, and have used the MCNC benchmark circuits to form the

|

360

|

nIO

|

| 

16

 







 







                                                          |     |  |  |   | | |

32

64

128

256

6

3

4

8

9

512

1024

2048



|

 

4096

 

| 8192

4



0| 0



| 16384 size

Figure 2: Size (2-LUTs) vs. I/O for MCNC circuits. basis for characterization and parameterization. Note that the users of our system could pro le their own circuits with circ and specify the results as parameters to gen (or modify the program default le) to customize the types of circuits generated. 2.1 Pre-processing of Analyzed Circuits. The MCNC benchmark circuits were converted from EDIF to BLIF, optimized with sis [9] (keeping the better result of script.rugged and script.algebraic) then technology mapped using flowmap [2] into k-input lookup tables. Speci cally, each circuit was mapped 7 times, into 2-input LUTs, 3-input LUTs up to 8-input LUTs. We chose to use lookup-tables because of their simplicity, functional completeness and the ease of changing to di erent LUT-sizes. We believe that the structural di erences of circuits are suciently captured by the use of LUTs to determine valid characterizations. 2.2 Characteristics and Parameters. There are two di erent types of characterizations: those needed to determine reasonable defaults for generation parameters which the user does not specify and those which characterize the fundamental structure of a circuit. In the remainder of this section we propose a set of characteristics. 1. Circuit Size and Number of I/Os. The most basic characteristic of a circuit is the relationship between the size of the circuit (number of LUTs, n) and the number of primary inputs (nPI ) and outputs (nPO). (De ne nIO := nPI + nPO.) Using linear regression and experimentation, we have determined that a Rent-like functional relationship, log(nIO) = a + b  log(n) best captures the relationship between IOs and circuit size2 . A simple linear relationship best describes the division of I/Os between inputs and outputs: nPI = c + d  nPO. Figure 2 shows a plot of log(n) vs. log(nIO), and a leastsquares regression line for the Rent-like relationship. We note that simply determining values for the coecients a; b; c; and d does not capture the increase in variance with n so we model these coecients as Gaussian distributions around the best- t line. The actual equations are shown in Figure 10. 2. Combinational Delay. De ne d(x), the delay of node x, as the maximum length over all directed paths beginning at a PI and terminating at x, corresponding to the unit delay model. The delay, d(C ) (or just d), of a circuit is the maximum delay over all nodes in C . Using a similar empirical analysis to the above, we have determined the relationship between delay and circuit size (n).

14

7

2

1

10

18

8

| 1

|

|

0| 8



5

12 

|

|

60



 



 

|

|

120

12

|

| 

 

13

17

|

180

15

 

All circuits: log(nIO) = 0.46156 + 0.524 log(size) RSQ = .4605



240

16

num nodes

420

300

 

|

480



11



| | 2 3 Delay Level

19

21

20

22

Figure 3: Shape function. 



  



example2 (36)





 

   

alu2 (53)

   









 

  



cordic (12)







  

  

C1908 (8)

Figure 4: Di erent shape functions. 3. Circuit Shape. Combinational delay is very important in the characterization of circuits, precisely because it is so important in the design and synthesis process. De ne the shape function, shape(C ), of a circuit as the vector of the number of nodes at each combinational delay level. Figure 3 shows a small example circuit (cm151a), and its shape function (12, 4, 2, 2) displayed as a histogram. Note that we do not count primary outputs in the shape function. While these examples are mapped to 4-LUTs, the form of the function changes only slightly with the LUT-size. The interesting thing about shape is that most circuits tend to have similar shapes. Figure 4 shows four shape functions. Of the 109 combinational multilevel circuits in the MCNC set, 36 have a shape which is strictly decreasing from the primary inputs (as \example2"), 53 have a \conical" shape, fanning out from the inputs to an extreme point, then strictly decreasing (as \alu2"), 12 have the conical shape with a \bump" and only 8 did not t into these categories. Importantly, this is fundamentally di erent from degree-constrained graphs we generated randomly, which had much \ atter" shapes. 4. Edge Length Distribution. Since nodes have a wellde ned delay, we can de ne the length of a directed edge by length(x; y) = d(y) ; d(x). Clearly, the edge length is always between 1 and delay(C ), and the edge length distribution is well de ned. In the example of Figure 3 there are 24 edges of length 1, and 2 each of length 2 and 3, so the edge length distribution is (24, 2, 2, 0). We nd that almost all circuits have an edge-length distribution with a similar shape: a large number of edges of length 1, and a quickly falling distribution over the combinational delay of the circuit. 5. Fanout Distribution. De ne fanout(x) as the number of edges leaving a node x. A circuit's fanout distribution (the number of nodes with fanout 0, 1, 2, etc.) is an important structural parameter. Note that fanin is less interesting for technology-mapped circuits because they have an a priori constraint on fanin. We have determined the fanout distributions of the MCNC circuits, and have developed an algorithm 2 Note that Rent's Rule explicitly does not apply uniformly for the [5] which generates reasonable fanout distributions given the circuit as a whole (i.e. to predict I/O given n), so we use di erent above size and shape parameters. 6. Reconvergence. Reconvergence occurs when multiple functional forms for ranges of n, determined empirically. The actual relationship is a piecewise combination. See Figure 10. fanouts from a single node x in the circuit branch back to-

2

a

5

1

3

c b e d f

4

8

10

6

17

12

13

j

g

11

7

9

16

21

22

18

20

19

23

14

24

15

25

k h i

m

Figure 5: Reconvergence in combinational circuits. gether at a later point y - we say the circuit is reconvergent at y. Many circuits exhibit reconvergent fanout, but in widely varied amounts, and so an appropriate characterization is to quantify this amount. De ne the out-cone of a node x (in a circuit with no directed cycles) to be the recursive fanout of x: all nodes reachable by a directed path from x. Figure 5 shows out-cone(a). De ne the reconvergence number of node x, R(x), as the ratio of the number of fanin-2 (i.e. \reconvergent") nodes in out-cone(x) to the size of out-cone(x). (Note: for simplicity here we de ne reconvergence for 2-LUT mapped circuits only3 .) In the example, R(a) = 3/12 or 0.25. In most sequential circuits, the existence of ip- ops4 could result in back edges and directed cycles, and R(a) would no longer be wellde ned both because the de nition of out-cone is insucient and because the natural extension of counting reconvergent nodes results in overcounting. A more generalized de nition of reconvergence, based on spanning out-trees rather than a simple ratio, takes this into account [5] but it is beyond the scope of this paper. The reconvergence number of an entire circuit is the weighted average (by cone size) of the reconvergence number of the circuit's primary inputs. The reconvergence numbers of the MCNC circuits vary between 0.0 and 0.92 (the theoretical maximum for 2-LUT mapped circuits is 1.0), with a relatively even distribution of circuits through the range 0.0 to 0.85. R is somewhat a measure of complexity of the logic|we nd intuitively simple logical functions have low R, and more complex functions have higher R. Combinational and sequential arithmetic circuits fall mostly in the range 0.0 to 0.5, whereas nite state machines are mostly in the range 0.6 to 0.85. In a physical sense, there is some correlation between R and the shape of a circuit. Using the examples of Figure 4, circuits which have an exaggerated conical shape, such as alu2 (R = :53) and cordic (R = 0:45) tend to have higher reconvergence values, whereas circuits like example2 (R = 0:17) are lower. This also tends to explain the di erence between combinational and sequential circuits because the rst \sequential level" of most nite state machines tends to be very conical, due to a low I/O to logic ratio.

3 Circuit Generation

Figure 6 shows an example output from gen for the parameterization: n=23, k=2, nPI =7, nPO=2, d=5, shape=(.38, .31, .19, .12), fanouts=(.09, .65, .13, .04, .09), edges=(.75, mapped to 4-LUTs is calculated by R x P3vR2 for circuits v x

( )

log 2 fanin( )

=

Figure 6: Example of a completely parameterized circuit. .25). The gen program consists of two functional stages. The rst is to determine a complete parameterization of the circuit to be generated, using partially-speci ed user parameters and default distributions. The second stage is to output a random circuit with that parameterization, which we deal with rst. 3.1 The Generation Algorithm. The inputs to gen are n, nPI , nPO, (or nIO), d (depth), k (LUT-size), the shape function, and the edge length and fanout distributions. The output is a netlist of k-input lookuptables. Reconvergence is not a generation parameter but we use the reconvergence number of generated circuits in the validation process of Section 4. The input shape function is scaled5 to determine the set N (jN j = n) of all nodes, partitioned into sets Ni (i = 0::d) of nodes at each combinational delay level. The fanout distribution is scaled with n to become the set D of available outdegrees, where dj (j = 1::n) represents the eventual fanout of one node j . This also determines the number of edges m in the circuit. Finally, the edge length distribution is scaled to create the set E of available edges, where length(eh) (h = 1::m) represents the length of edge h. This gives rise to the following combinatorial assignment problem, illustrated in Figure 7.

Circuit Generation Problem

Given: D, Ni , E . Find: assignments of nodes in N to each dj 2 D, and pairs of nodes for each eh 2 E such that: I The number of edges leaving any x 2 N is exactly its corresponding fanout dx . II All x 2 Ni have at least one fanin from Ni;1 (i> 0). (i.e. d(x) equals its assignment.) III Fanin(x)  k for all x 2 N . IV Fanins of x 2 N are distinct (i.e. no two fanouts of gate y are both inputs to x.)

D

N0 N1 N2 N3

0 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 3 4 4

1 1

E 0

out-degree set

N4 edge set

node sets

Figure 7: The generation/construction problem.

rather than the simple ratio. Thus 0  R  j xj This assignment problem appears to be computationally log2 (k). A still more complicated de nition is required for sequential 5 First it is scaled to length d by linear interpolation, then adjusted to circuits|see [5]. 4 Nodes g and j are ip- ops, but they do not have edges which form ensure there are sucient nodes or POs to absorb the minimum fanout a directed cycle. of each level. out-cone( ) out-cone( )

dicult and we speculate it is NP-hard. It is important, moreover, to have a nearly linear time algorithm in order to generate large circuits. Therefore we solve the problem heuristically. Our approach is to rst determine, in steps 1 and 2, an assignment of edges and out-degrees to delay levels and then, in step 3, to divide the levels into individual nodes. We begin by collapsing the nodes at each delay level into a single \levelnode," ni , labeled with si = jNi j, the number of nodes it represents. This produces a modi ed problem: Assign levelnodes for each dj and pairs of level-nodes for each eh such that: (I 0 ) the number of edges leaving any ni is the sum of the si fanouts dj assigned to it. (II 0) There are at least si fanins to ni from ni;1 (i > 0). (III 0) Fanin(ni )  k  si . (Note: there is no IV 0 .) Step 1: Edge Assignment To Levels. To assign edges to level-nodes, we rst meet constraint II 0 , by assigning si unit edges (length one) between ni and ni+1 (i = 0::d ; 1). We then iteratively assign non-unit edges to meet constraints on minimum fanout and fanin of each ni . This is based on the interaction between shape and the supply of edges of each length, which restrict where edges of certain lengths will need to go in order to nd a feasible solution6 . Once as many edges as possible have been assigned in this way, we assign the remaining non-unit edges probabilistically: we calculate a distribution representing the ability of pairs of level-nodes to support edges of each length (based on their available fanin| constraint III 0|and fanout), and assign the edges randomly by sampling this distribution. Note that the remaining unit edges are not assigned until after the next step. Step 2: Fanout Assignment: The construction to this point is illustrated in the left side of Figure 8 (although the remaining unit edges are already shown). The fanout of each ni , (fanout(ni )) can be approximated from the already assigned edges. We now assign the elements of D to levels so as to satisfy the number of edges emanating from each level, and use the remaining unassigned unit edges to ensure a solution which exactly assigns all of the dj 2 D and meets I 0 without violating III 0. De ne Gi = fgij g to be the (initially empty) set of assigned fanouts (from D) for level i, and the unsatis ed fanout of level i, ui = fanout(ni ) ; j gij . De ne the mean unsatis ed fanout of level i, ui = ui =(si ; jGi j). The partition of out-degrees is done in a greedy manner7 . At each stage we assign the largest element of D to the ni with the largest mean unsatis ed fanout ui , then update Gi , ui and ui . Unit edges are assigned when ui falls below the number of remaining nodes (si ; jGi j). The process repeats until all dj have been assigned (meeting I 0 ), completing the situation illustrated in Figure 8. Step 3: Final Edge Assignment. We now return to the original problem speci cation. It remains to assign the edges and fanouts currently associated with ni to individual nodes of Ni. We proceed from the top down. At each level, we assign a fanout value gij to each one of the si nodes of Ni and randomly connect gij edges from the fanout list of ni to

P

n0

7

17

n1

6

7

= 2+1+1+1+1+1

n2

5

5

= 1+1+1+1+1

n3

3

3

= 1+1+1

n4

2

0

= 4+4+3+2+2+1+1

Figure 8: The generation algorithm it. The connection of fanin nodes is more dicult, because we have to complete the assignment without violating constraints II;III or IV . First we satisfy II by connecting one unit edge to each x 2 Ni . Then we build a list of edges from previous levels which have to be connected, and a list of (already de ned) heads of these edges. Proceeding iteratively with the list of head-nodes, sorted by the fanout to ni of that node, we assign the remaining edges. The assignment is random, but biased to enforce a certain amount of \locality" (closeness) in the result. Speci cally, when choosing the sets of fanout nodes for each node at a level, we sample l times (empirically l = 6) to minimize a distance metric between node labels in the fanin and fanout sets. Although we have not yet succeeded in producing a better characterization of locality, it is a fundamental feature of circuits, and so it is important to introduce a degree of locality in the generation process. The nal result of the generation algorithm on the structure of Figure 8 is the original example of Figure 6. 3.2 Closeness of Fit. Steps 1 and 2 are not guaranteed to nd a valid solution; when necessary, gen will modify D or create extra nodes to allow successful completion. With extensive experimentation, we have determined ve versions of Step 1 which together deal with the characteristics of di erent input sets, and we take the best result of each with Step 2 as input to Step 3. To evaluate the success of the heuristics, we compared the MCNC circuits to circuits generated with their exact pro les|gen typically made only minor changes to D or created few extra nodes, and these only on relatively few circuits8 . The degree of modi cation is larger when gen uses the entire default set|yet 85% of generated circuits are reasonable immediately, meaning they have a feasible number of I/Os. 3.3 Examples. Figure 9(c) shows four di erent circuits produced by gen using the default parameter distributions. We note that these circuits appear to be \normal" circuits, and include many features such as areas of high-fanout. The visual \quality" of the circuits is most striking when one observes the similarity to MCNC circuits (Figure 9(a)) and the contrast between MCNC circuits and random graphs (Figure 9(b)). 3.4 Parameterization. gen is augmented with a sophisticated C-like language, symple, for parameter generation. The default distributions are written in this language, and the user can specify modi -

6 This is one of the more involved steps in the algorithm, and it is 8 We nd d and nPI correspond exactly always, nPO exactly on not possible to describe all the details here. More detail will appear in a Tech. Report, and the code is is publically available from the authors. about of circuits, and on most others of by a reasonable amount. 7 We have we have omitted some details in the algorithm wich are Shape,75% edge-length and out-degree distributions were modi ed less than necessary to ensure that a reasonable solution can be found without 25% of the time, and usually by a minor amount. backtracking.

10

6

2

3

5

1

7

1

2

27

26

14

4

6

5

17

7

10

8

24

8

30

33

16

17

42

3

10

22

4

2

1

9

64

47

49

43

46

20

25

57

8

1

2

3

4

12

69

32

31

89

84

72

95

81

54

2

3

5

5

27

12

15

11

25

4

16

34

14

35

29

38

40

17

18

59

30

15

46

38

21

61

71

67

40

70

88

83

12

22

96

92

35

11

57

50

49

36

9

55

47

84

78

16

23

53

80

99

86

20

58

93

9

11

13

26

73

31

34

32

41

72

37

28

74

54

81

89

68

79

100

63

48

85

13

87

62

60

64

52

51

24

45

90

56

97

34

35

19

61

36

53

21

23

15

8

58

12

20

37

43

54

56

24

13

59

68

70

65

40

75

15

59

16

51

21

22

11

87

14

13

45

38

50

76

68

14

33

83

84

90

81

70

34

85

86

85

55

96

82

107

56

13

111

97

28

93

15

57

11

27

29

25

21

26

30

50

16

31

65

51

38

109

47

12

74

64

103

39

23

76

48 47

42

33

29

75

69

82

101

91

62

66

23

60

50

52

17

61

18

48

39

44

77

53

71

40

87

35

98

88

78

83

94

99

58

59

66

17

48

32

52

104

24

77

42

78

105

98

27

38

44

25

14

62

49

79

89

41

100

33

67

53

43

51 28

28

22

94

32

31

20

18

25

24

41

7 58

39

26

36

49

9

10

18

20

46

6

31

30

10

7

8

95

9

19

23

1

6

6

7

22

4

46

5

3

21

90

73

34

44

19 29 43

76

65

39

102

91

74

45

35

26 60

54

40

63

27

32

64

68

55

79

61

69

56

62

103

28

70

65

33

37

39

41

44

77

104

37

34

21

98

38

15

36

1

3

44

7

4

43

41

2

119

75

22

71

120

24

77

19

13

20

91

23

27

8

9

26

69

14

70

115

11

114

35

12

83

101

123

56

55

57

30

50

104

31

105

48

32

51

63

49

40

65

122

157

25

71

156

93

253

109

45

5

42

76

72

95

16

10

92

84

111

87

116

124

58

106

61

74

62

4

228

39

144

227

238

175

83

231

84

44

225

243

45

88

182

52

46

121

25

78

73

93

96

17

112

85

126

88

117

102

75

94

236

41

63

229

99

79

80

28

224

240

100

77

176

10

78

183

177

11

80

242

43

79

60

17

85

86

198

251

107

53

247

27

47

199

87

48

200

7

12

6

211

233

145

99

66

171

118

8

67

26

46

9

36

112

255

35

194

98

37

15

18

22

113

152

239

24

139

23

210

148

169

212

5

53

1

140

54

2

101

203

34

111

102

16

31

216

125

30

129

162

110

19

163

222

159

126

29

245

55

134

160

185

56

52

190

107

179

133

186

188

91

90

49

207

69

202

50

206

248

13

141

167

204

234

28

119

103

146

195

68

213

104

172

20

196

170

142

32

3

214

114

150

209

153

95

154

217

115

164

127

57

218

108

220

131

58

249

105

121

116

173

136

117

174

137

89

123

82

61

40

110

47

6

122

74

29

94

97

18

113

86

127

90

118

103

125

59

108

33

54

68

65 158

124

193

254

82

97

237

42

64

230

232

226

244

241

250

184

178

92

208

252

70

51

201

14

205

147

168

235

106

120

256

38

197

21

143

33

215

151

155

219

130

165

223

128

59

109

221

246

161

191

138

187

189

181

(b) Random 4-regular digraphs 4 9

8

4

1

7

15

25

2

47

1

6

2

8

10

19

39

36

54

16

5

80

88

75

40

17

27

37

3

72

20

41

26

53

30

29

48

52

66

62

102

55

49

38

18

87

59

6

76

73

42

21

98

28

67

31

100

33

63

103

25

23

22

9

30

24

10

26

13

77

81

43

22

91

89

68

50

74

56

32

35

51

57

34

60

15

44

14

23

78

92

90

69

24

83

45

93

70

46

94

71

27

12

29

13

51

48

14

18

49

50

52

85

64

33

19

53

86

34

82

28

17

32

11

79

16

31

84

5

12

7

61

3 11

65

58

39

21

42

40

43

41

35

20

36

58

37

61

54

59

55

38

56

44 95

45

96

46

97

99

101

104

47

58

57

59

60

67

38

34

61

68

47

39

35

69

40

36

70

41

37

72

71

80

1

84

73

74

48

81

49

82

50

83

21

22

6

23

5

2

4

88

8

24

107

62

9

87

42

7

89

108

63

106

90

86

102

45

91

85

109

10

46

53

66

103

104

13

105

14

28

76

12

110

75

43

98

99

100

101

3

51

52

54

92

79

93

94

56

182

55

64

11

25

165

168

65

15

170

26

27

176

95

17

171

175

172

169

18

19

114

115

116

16

143

147

111

144

113

155

112

142

150

156

191

145

192

190

154

151

157

134

146

149

126

135

148

153

152

133

127

122

125

121

123

136

128

129

141

195

199

196

124

200

197

193

177

30

119

31

120

118

178

131

130

132

179

138

202

137

139

140

117

198

189

35

128

201

114

105

78

76

79

104

32

33

20

43

84

106

107

42

22

47

150

80

201

21

44

112

200

18

4

115

6

7

8

36

5

77

9

81

82

109

11

48

37

113

85

38

116

86

12

158

153

110

16

96

19

30

10

181

184

97

138

124

25

125

62

34

49

53

159

27

111

45

57

97

129

160

58

98

95

183

70

90

57

1

2

69

3

151

130

161

131

186

15

67

108

13

199

54

68

39

75

137

17

182

40

41

26

83

184

155

64

141

127

65

142

66

143

187

72

146

158

126

152

145

157

14

185

89

71

156

31

144

188

189

147

190

61

62

63

203

163

99

102

74

101

164

204

185

121

186

187

188

140

56

24

59

60

94

162

183

96

52

139

161

180

23

154

28

93

202

55

60

46

29

92

119

120

51

91

118

159

50

88

87

117

160

32

33

166

167

174

173

20

29

77

78

 

44

194

203

103

205

134

73

100

133

171

177

178

136

135

132

148

175

149

176

165

162

163

164

169

172

170

168

181

191

192

195

196

122

179

166

206

173

193

197

123

180

167

207

174

194

198

57

29

60

69

71

67

4 Validation

135

132

55

52 30

67

n = 80 19

88

82

80

42

75

37

36

86

91

Figure 11: A gen circuit family (fk=2;

149

180

67

96

100

76

89

66

81

60

166

64

192

39

73

62

72

n = 60 45

66

(a) MCNC circuits sqrt8 and sao2 81

41

(c) Varied circuits produced by gen.

Figure 9: MCNC circuits vs. random graphs vs. gen.

smallIO = gauss(0.431*size2 + 1.448, 1.562; medIO = gauss(0.225*size2 + 8.026, 8.006); largeIO = size2*gauss(-0.054*log(size2)+0.54,0.148); defaultIO = rand(20, 500); nIOfl = size2<30 ? smallIO : size2<100 ? medIO : size2<1000 ? largeIO : defaultIO; nIO = min(n-depth+2, nint(nIOfl));

9 This is because the coecients of unspeci ed relationships between parameters are drawn rst, then scaled to the di erent circuits, rather than chosen independently.

92

101

n = 100

108

112

19

37

18

72

110

36

80

n=60..100#20g).

In this section we judge the quality of the generated circuits with respect to parameters not speci ed in generation: reconvergence, and post-placement and routing wirelength and track count. Since one of the primary applications of the circuits produced by gen is to test and evaluate physical design algorithms, the point of this exercise is to determine how reasonable the output is for this process. We constructed the exact pro le of the MCNC circuits (i.e. n, nPI , nPO, d, shape, fanout and edge length distributions), and generated corresponding circuits meeting those pro les with gen. Our method of validation is to compare the unspeci ed parameters of the MCNC circuits against those of the corresponding generated circuits and against \random graphs" of the same size. Because the exact de nition of a random graph varies, we now have to be precise: the most common usage of the term refers to a graph G(n; p) on n vertices with each possible edge existing with equal probability p. However, this is so drastically unlike a real circuit (G(n; p) would be hopeless to route for even small p) that we have found it a more reasonable comparison to use a random k-regular graph|a random graph such that each node x has fanin(x)+fanout(x)=k|as these graphs are more realistic in an electrical sense and are relatively easy to generate. We will compare against circuits mapped to 4-LUTs, and so we will use, for each circuit, the appropriate k 2 f4; 5; 6; 7g to generate approximately the same number of edges. Two drawbacks of this method are that random k-regular graphs have an inordinate number of I/Os (approximately 20% of nodes) and no high fanout nodes, but they provide a convenient comparison to non-parameterized random generation. 4.1 Reconvergence. Reconvergence, R, is not a parameter to gen. Reconvergence captures numerous properties of a circuit, including high fanout, and the interaction between shape, edge length and fanout distribution, all of which a ect the ability to place and route the circuit. We calculated R for the generated circuits and compared them to those of the original circuits from which the generation pro les were extracted and to those of random graphs of the same size. The results for the largest 12 MCNC circuits, and means for these 12 and all circuits, are shown in Table 1. Note that 0  R  2 for 4-LUT mapped circuits. (See the footnote on page 3.) We found that, for 70% of generated circuits, R was within 0.1 of the value for the corresponding MCNC circuit. This indicates that the correlation for a crucial parameter R did carry through the generation process. The mean for each class is shown in the table. In contrast, the reconvergence numbers of the random graphs did not match the MCNC circuits at all. We observe

 

Figure 10: The symple language: nIO speci ed by a Gaussian distribution around a Rent-like relationship (gen default). cations on the command line, or in a script. symple provides a great deal of control over parameters. For example, nIO is currently de ned as per Figure 10 in the default script. symple allows parameters to be speci ed as constants, drawn from statistical distributions, chosen as functions of other parameters, or as a range of parameters (in which case multiple circuits are output). The latter case is illustrated in Figure 11, where the circuit size varies from 60 to 100 by 20: symple scales related parameters (e.g. depth and shape) yet retains the similarity of other properties9 . This ability to scale circuits while retaining fundamental similarities introduces an entirely new paradigm for evaluating the scalability of architectures and algorithms.

63

71

66

63

106

73

102

that random graphs exhibit diminishing R as n increases. This is due to the two factors mentioned earlier: the absence of high-fanout nodes and the large number of I/Os. 4.2 Routability. To test the \routability" of our output circuits, we used a locally available tool to place and global route the sets of MCNC circuits, generated circuits, and random graphs described above. The circuits are compared on two di erent metrics: the number of tracks per channel required to successfully route, and the total wirelength of the global routing. The software which we used [1] chooses a minimal square grid to support the size of the circuit, and minimizes both maximum track-count per channel and total wirelength. Table 2 shows the statistics for the largest 12 MCNC circuits and the summary statistics (di erences) for these and all 114 combinational circuits. We see that the track count for the generated circuits di ered by 11%, on average, from the corresponding MCNC circuit, whereas the random graphs di ered by 63%. Wirelength di ered by 11% for the generated circuits and 78% for random graphs. For the largest 12 circuits, the generated circuits used slightly more wirelength and tracks than the MCNC circuits, but the random graphs used much more. These results clearly show the circuits produced by gen are very similar to the MCNC originals and signi cantly more realistic than random graphs as benchmark circuits. C7552 ex5p i10 apex4 misex3 alu4 seq des apex2 spla pdc ex1010 (12) (114)

size 945 1072 1252 1270 1411 1536 1791 1847 1916 3706 4591 4608

mcnc 0.49 1.12 0.72 0.90 0.55 0.50 0.48 0.50 0.47 0.97 1.01 1.08 0.73 0.39

R gen 0.45 1.22 0.48 1.17 0.72 0.62 0.48 0.30 0.59 1.08 1.13 1.09 0.79 0.43

rand 0.05 0.27 0.09 0.23 0.24 0.22 0.21 0.07 0.20 0.13 0.10 0.10 0.17 0.29

Table 1: Reconvergence: MCNC vs. gen vs. random.

C7552 ex5p i10 apex4 misex3 alu4 seq des apex2 spla pdc ex1010 (12) (114)

size 945 1072 1252 1270 1411 1536 1791 1847 1916 3706 4591 4608

mcnc 5 10 7 9 8 8 9 7 9 10 13 8 (diff) (diff)

Tracks gen rand 8 13 10 21 9 19 9 23 10 24 7 26 9 27 9 23 10 29 13 19 14 19 19 28 28% 218% 11% 63%

mcnc 5705 14748 10427 16653 16780 16434 22111 16229 23556 49676 73875 55002 (diff) (diff)

Wirelength gen rand 8320 15918 13309 27904 13155 28738 14567 34423 16912 40152 15556 45177 21590 57040 24116 50294 25072 63418 62043 167832 81982 225679 92530 231655 22% 181% 11% 78%

Table 2: Routability: MCNC vs. gen vs. random.

5 Concluding Remarks

In this paper we have introduced a new method for generating realistic parameterized benchmark circuits. The circuit generation is derived from the measurement of several new graph-theoretic properties which we propose in this paper. As a result the circuits are much more realistic than random graphs. It has been shown that the quality of the circuits (as measured by reconvergence and routability) is comparable to an existing benchmark set and much better than that of random graphs that don't use these properties. Because of the close tie between characterization and generation, users are able to characterize their own circuits using circ and create defaults which more closely meet their own needs (rather than the MCNC defaults). Using this method, we can generate a large set of circuits with the properties of the largest MCNC benchmark circuits. It remains to be seen if even larger circuits (which could easily be generated) have realistic circuit behaviour. The gen algorithm is fast, requiring less than 1 minute of SUN Sparc4 time to produce a circuit with 30000 4-LUT nodes. The code is publically available from the authors. In the future we will expand the gen system to generate sequential circuits (with ip- ops, back-edges and cycles) and to join sub-circuits together hierarchically. We are currently working on the ability to generate regular (datapath) structures and also adding LUT functionality so that we can apply our circuits to logic synthesis as well as physical-design problems. Another important aspect to future work is to better capture the concept of locality in large circuits and to generate system-level circuits from combinational and sequential components. Acknowledgements. Thanks to Stephen North and AT&T Bell Labs for academic license to use dot[4] and Vaughn Betz for the use of his place-and-route software [1].

References [1] V. Betz, On biased and non-uniform global routing architectures [2] [3] [4] [5] [6] [7] [8] [9] [10]

and CAD tools for FPGAs. Tech. Report in preparation. University of Toronto, 1996. J. Cong and Y. Ding, FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs, IEEE Trans. CAD, 13 (June, 1994), pp. 1{12. J. Darnauer and W. Dai, A Method for Generating Random Circuits and Its Application to Routability Measurement, in 4th ACM/SIGDA Int'l Symp. on FPGAs, FPGA96, Feb., 1996, pp. 66{ 72. E. R. Gasner, E. Koutso os, S. C. North, and K.-P. Vo, A Technique for Drawing Directed Graphs, IEEE. Trans. Soft. Eng., 19 (1993), pp. 214{230. M. D. Hutton, Characterization and Automatic Generation of Digital Circuits and Systems. Ph.D. Thesis in preparation, University of Toronto, 1996. M. D. Hutton and J. S. Rose, Automatic Generation of Hierarchical Digital Circuit Systems. Tech. Report in preparation. University of Toronto, 1996. B. S. Landman and R. L. Russo, On a Pin Versus Block Relationship for Partitions of Logic Graphs, IEEE Trans. Comp., C-20 (1971), pp. 1469{1479. Programmable Electronics Performance Corporation, PREP PLD Benchmark Suite#1, V1.2. 504 Nino Ave. Los Gatos, CA 95032, 1993. E. M. Sentovich et.al, SIS: A System for Sequential Circuit Analysis. Tech. Report No. UCB/ERL M92/41. University of California, Berkeley, 1992. S. Yang, Logic Synthesis and Optimization Benchmarks, Version 3.0. Tech. Report. Microelectronics Centre of North Carolina. P.O. Box 12889, Research Triangle Park, NC 27709 USA, 1991.

Characterization and Parameterized Random ...

the users of our system could profile their own circuits with circ and specify the results as parameters to gen (or modify the program default file) to customize the types of circuits ... a + b log(n) best captures the relationship between IOs and.

412KB Sizes 0 Downloads 232 Views

Recommend Documents

Characterization and Parameterized Generation of ...
The development of new architectures for Field-Programmable Gate Arrays ..... is analogous to the conclusions of Shew 63] who studied the application of.

Characterization and Parameterized Generation of ...
Natural Sciences and Engineering Research Council of Canada and Hewlett. Packard. ... J. Rose is with the Department of Electrical and Computer Engineering,. University of ..... 1) Boundaries on In/Out-Degree (pre degree.c): To assign ...... spent th

Characterization and Parameterized Generation of ...
of the University of North Carolina (MCNC) 74] have collected approximately 200 public. 1 ... for large circuits (where there are no available benchmarks). ... is crucial to understand the type of data that the FPGA or algorithm will be required ....

Random Field Characterization Considering Statistical ...
College Park, MD 20742 e-mail: ... The proposed approach has two technical contributions. ... Then, as the paper's second technical contribution, the Rosenblatt.

On Distributed and Parameterized Supervisor Synthesis Problems
conference version has appeared in [7]. ... v0,w = vn and for each i ∈ [1,n], there exist ui,ui and ai,bi such that (ai,bi) ∈ I,vi−1 = uiaibiui and vi = uibiaiui. The.

On Distributed and Parameterized Supervisor Synthesis Problems
regular language has a non-empty decomposable sublanguage with respect to a fixed ..... Proof: It is clear that the supremal element L. ↑. 1 of {L1 ⊆. Σ∗.

SYNTHESIS, CHARACTERIZATION AND ANTIBACTERIAL ...
SYNTHESIS, CHARACTERIZATION AND ANTIBACTE ... T C-4 OF 7-HYDROXY-4- METHYL COUMARIN.pdf. SYNTHESIS, CHARACTERIZATION AND ...

SYNTHESIS, CHARACTERIZATION AND ANTIBACTERIAL ...
encouragement, quiet patience, devotion and love. Dana M. Hussein. Page 3 of 152. SYNTHESIS, CHARACTERIZATION AND ANTIBACTE ... T C-4 OF 7-HYDROXY-4- METHYL COUMARIN.pdf. SYNTHESIS, CHARACTERIZATION AND ANTIBACTE ... T C-4 OF 7-HYDROXY-4- METHYL COUM

Parameterized Model Checking of Fine Grained Concurrency
implementation of multi-threaded programs. Their efficiency is achieved by using .... Unbounded threads: We show how concurrent list based set data structures.

Simple and Improved Parameterized Algorithms for ... - Springer Link
May 8, 2009 - School of Computer Science and Engineering, University of Electronic ... Multiterminal Cut, and the current best approximation algorithm is the ...

random walks, disconnection and random interlacements
Doctor of Sciences .... covered disk roughly behaves like n1/4 in two dimensions. This be- havior differs radically from that of the largest covered disk centered.

pdf-12115\probability-random-variables-and-random-signal ...
... of the apps below to open or edit this item. pdf-12115\probability-random-variables-and-random-sig ... daptation-by-bertram-emil-shi-peyton-z-peebles-jr.pdf.

Parameterized Duplication in Strings: Algorithms and ...
The UNIX grep pattern matching program and ed editor [KP] allow a pattern to .... For b∈ Σ ∪Ν, if b is a nonnegative integer larger than j−1, f(b,j)=0; otherwise.

Schizophrenia: Its Pathology and Characterization ...
Data suggests that messenger RNAs of the genes involved in the disorder are expressed in the brain in .... cerebrospinal fluid (CSF) filled spaces [7]. CT studies fail ..... Study of the Molecular Architecture of Post-Mortem CNS Tissue. Postgrad ...

Synthesis and spectroscopic characterization of double ... - Arkivoc
Dec 4, 2016 - with the elaboration at positions 2, 3 or 6, depending on the application ..... CHaHbO), 4.32 (dd, J 5.9, 11.7 Hz, 1H, CHaHbO), 4.80 (d, J2.0 Hz, ...

On Parameterized and Kernelization Algorithms for the ...
Many human activities can be described as a model of data collection and data analysis. The second stage is discovering knowledge in data, in which one of the most common tasks is to classify a large set of objects based on the collected information.

Microstructural characterization and thermal stability.pdf
4-Electrodeposited nanocrystalline Co–P alloys - Microstructural characterization and thermal stability.pdf. 4-Electrodeposited nanocrystalline Co–P alloys ...

Tribological characterization and numerical wear ... - Springer Link
Aug 21, 2008 - (driving disc) (Fig. 2b). ... sliding tests and the wear data obtained from the stop tests .... The surface of the driving Si3N4 disc showed no.

SYNTHESIS AND CHARACTERIZATION OF ...
1 Faculty of Chemical Technology, Hanoi University of Technology. 2 Institute of .... their different degrees of ionization depending on pH values. Actually, the ...

Characterization of the Psychological, Physiological and ... - CiteSeerX
Aug 31, 2011 - inhibitors [8], acetylcholine esterase inhibitors [9] and metabolites ...... Data was stored on a dedicated windows XP laptop PC for post.

Nanoscale topography and spatial light modulator characterization ...
Feb 5, 2014 - ... Phase Unwrapping: Theory, Algorithms, and Software (Wiley- ... the application of SLM in diverse areas such as adaptive optics [14], optical .... apply the Hilbert transform [23] which provides the analytic signal associated.

Processing, Characterization and Electronic ...
the mass associated with anion inclusion during the anodic scan increases linearly .... in intelligent telephones, intelligent FM receivers, timers for VCRs, and fax ...