-
Notifications
You must be signed in to change notification settings - Fork 1
/
fpga_miner.bdf
358 lines (358 loc) · 9.48 KB
/
fpga_miner.bdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 2019 Intel Corporation. All rights reserved.
Your use of Intel Corporation's design tools, logic functions
and other software and tools, and any partner logic
functions, and any output files from any of the foregoing
(including device programming or simulation files), and any
associated documentation or information are expressly subject
to the terms and conditions of the Intel Program License
Subscription Agreement, the Intel Quartus Prime License Agreement,
the Intel FPGA IP License Agreement, or other applicable license
agreement, including, without limitation, that your use is for
the sole purpose of programming logic devices manufactured by
Intel and sold by Intel or its authorized distributors. Please
refer to the applicable agreement for further details, at
https://fpgasoftware.intel.com/eula.
*/
(header "graphic" (version "1.4"))
(pin
(input)
(rect -24 40 152 56)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "OSC_CLK" (rect 9 0 59 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
(annotation_block (location)(rect -80 56 -24 80))
)
(pin
(input)
(rect 128 336 304 352)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "buttons[1..0]" (rect 9 0 71 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
(annotation_block (location)(rect 72 352 128 376))
)
(pin
(input)
(rect -24 120 152 136)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "rst" (rect 9 0 21 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
(line (pt 92 4)(pt 117 4))
(line (pt 121 8)(pt 176 8))
(line (pt 92 12)(pt 92 4))
(line (pt 117 4)(pt 121 8))
(line (pt 117 12)(pt 121 8))
)
(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
(annotation_block (location)(rect -80 136 -24 160))
)
(pin
(output)
(rect 408 216 584 232)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "leds[7..0]" (rect 90 0 136 12)(font "Arial" ))
(pt 0 8)
(drawing
(line (pt 0 8)(pt 52 8))
(line (pt 52 4)(pt 78 4))
(line (pt 52 12)(pt 78 12))
(line (pt 52 12)(pt 52 4))
(line (pt 78 4)(pt 82 8))
(line (pt 82 8)(pt 78 12))
(line (pt 78 12)(pt 82 8))
)
(annotation_block (location)(rect 584 232 640 256))
)
(symbol
(rect 232 160 376 272)
(text "block_hash_mux" (rect 24 0 139 16)(font "Arial" (font_size 10)))
(text "inst" (rect 8 96 25 108)(font "Arial" ))
(port
(pt 0 40)
(input)
(text "data3x[7..0]" (rect 0 0 67 14)(font "Arial" (font_size 8)))
(text "data3x[7..0]" (rect 4 26 71 40)(font "Arial" (font_size 8)))
(line (pt 0 40)(pt 64 40)(line_width 3))
)
(port
(pt 0 56)
(input)
(text "data2x[7..0]" (rect 0 0 67 14)(font "Arial" (font_size 8)))
(text "data2x[7..0]" (rect 4 42 71 56)(font "Arial" (font_size 8)))
(line (pt 0 56)(pt 64 56)(line_width 3))
)
(port
(pt 0 72)
(input)
(text "data1x[7..0]" (rect 0 0 67 14)(font "Arial" (font_size 8)))
(text "data1x[7..0]" (rect 4 58 71 72)(font "Arial" (font_size 8)))
(line (pt 0 72)(pt 64 72)(line_width 3))
)
(port
(pt 0 88)
(input)
(text "data0x[7..0]" (rect 0 0 67 14)(font "Arial" (font_size 8)))
(text "data0x[7..0]" (rect 4 74 71 88)(font "Arial" (font_size 8)))
(line (pt 0 88)(pt 64 88)(line_width 3))
)
(port
(pt 72 112)
(input)
(text "sel[1..0]" (rect 0 0 14 44)(font "Arial" (font_size 8))(vertical))
(text "sel[1..0]" (rect 65 59 79 103)(font "Arial" (font_size 8))(vertical))
(line (pt 72 112)(pt 72 100)(line_width 3))
)
(port
(pt 144 64)
(output)
(text "result[7..0]" (rect 0 0 60 14)(font "Arial" (font_size 8)))
(text "result[7..0]" (rect 90 50 150 64)(font "Arial" (font_size 8)))
(line (pt 144 64)(pt 80 64)(line_width 3))
)
(drawing
(line (pt 64 24)(pt 64 104))
(line (pt 64 24)(pt 80 32))
(line (pt 64 104)(pt 80 96))
(line (pt 80 32)(pt 80 96))
(line (pt 0 0)(pt 146 0))
(line (pt 146 0)(pt 146 114))
(line (pt 0 114)(pt 146 114))
(line (pt 0 0)(pt 0 114))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
(line (pt 0 0)(pt 0 0))
)
)
(symbol
(rect 496 32 680 144)
(text "bitcoin_miner" (rect 5 0 69 12)(font "Arial" ))
(text "inst1" (rect 8 96 31 108)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "clk" (rect 0 0 14 12)(font "Arial" ))
(text "clk" (rect 21 27 35 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 48)
(input)
(text "rst" (rect 0 0 12 12)(font "Arial" ))
(text "rst" (rect 21 43 33 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48))
)
(port
(pt 184 32)
(output)
(text "qdigest[7..0][31..0]" (rect 0 0 93 12)(font "Arial" ))
(text "qdigest[7..0][31..0]" (rect 85 27 163 39)(font "Arial" ))
(line (pt 184 32)(pt 168 32)(line_width 3))
)
(port
(pt 184 48)
(output)
(text "nonce[31..0]" (rect 0 0 61 12)(font "Arial" ))
(text "nonce[31..0]" (rect 112 43 163 55)(font "Arial" ))
(line (pt 184 48)(pt 168 48)(line_width 3))
)
(port
(pt 184 64)
(output)
(text "qleds[7..0]" (rect 0 0 51 12)(font "Arial" ))
(text "qleds[7..0]" (rect 120 59 163 71)(font "Arial" ))
(line (pt 184 64)(pt 168 64)(line_width 3))
)
(drawing
(rectangle (rect 16 16 168 96))
)
)
(symbol
(rect 208 -16 448 136)
(text "pll" (rect 114 0 129 16)(font "Arial" (font_size 10)))
(text "pll_inst" (rect 8 136 42 148)(font "Arial" ))
(port
(pt 0 64)
(input)
(text "inclk0" (rect 0 0 31 14)(font "Arial" (font_size 8)))
(text "inclk0" (rect 4 50 35 64)(font "Arial" (font_size 8)))
(line (pt 0 64)(pt 40 64))
)
(port
(pt 240 64)
(output)
(text "c0" (rect 0 0 14 14)(font "Arial" (font_size 8)))
(text "c0" (rect 224 50 238 64)(font "Arial" (font_size 8)))
)
(drawing
(text "Cyclone IV E" (rect 164 136 230 148)(font "Arial" ))
(text "inclk0 frequency: 50.000 MHz" (rect 50 59 197 71)(font "Arial" ))
(text "Operation Mode: Normal" (rect 50 72 169 84)(font "Arial" ))
(text "Clk " (rect 51 93 71 105)(font "Arial" ))
(text "Ratio" (rect 72 93 97 105)(font "Arial" ))
(text "Ph (dg)" (rect 98 93 133 105)(font "Arial" ))
(text "DC (%)" (rect 132 93 168 105)(font "Arial" ))
(text "c0" (rect 54 107 65 119)(font "Arial" ))
(text "1/5" (rect 77 107 92 119)(font "Arial" ))
(text "0.00" (rect 104 107 125 119)(font "Arial" ))
(text "50.00" (rect 136 107 163 119)(font "Arial" ))
(line (pt 0 0)(pt 241 0))
(line (pt 241 0)(pt 241 153))
(line (pt 0 153)(pt 241 153))
(line (pt 0 0)(pt 0 153))
(line (pt 48 91)(pt 164 91))
(line (pt 48 104)(pt 164 104))
(line (pt 48 118)(pt 164 118))
(line (pt 48 91)(pt 48 118))
(line (pt 69 91)(pt 69 118)(line_width 3))
(line (pt 95 91)(pt 95 118)(line_width 3))
(line (pt 129 91)(pt 129 118)(line_width 3))
(line (pt 163 91)(pt 163 118))
(line (pt 40 48)(pt 207 48))
(line (pt 207 48)(pt 207 135))
(line (pt 40 135)(pt 207 135))
(line (pt 40 48)(pt 40 135))
(line (pt 239 64)(pt 207 64))
)
)
(connector
(pt 304 272)
(pt 304 344)
(bus)
)
(connector
(pt 376 224)
(pt 408 224)
(bus)
)
(connector
(text "block_hash[7..0][31..0]" (rect 690 48 797 65)(font "Intel Clear" ))
(pt 680 64)
(pt 824 64)
(bus)
)
(connector
(text "nonce[31..0]" (rect 690 64 747 81)(font "Intel Clear" ))
(pt 680 80)
(pt 824 80)
(bus)
)
(connector
(text "qleds[7..0]" (rect 690 80 739 97)(font "Intel Clear" ))
(pt 680 96)
(pt 824 96)
(bus)
)
(connector
(text "nonce[31..24]" (rect 130 200 193 217)(font "Intel Clear" ))
(pt 232 216)
(pt 120 216)
(bus)
)
(connector
(text "nonce[23..16]" (rect 130 216 193 233)(font "Intel Clear" ))
(pt 232 232)
(pt 120 232)
(bus)
)
(connector
(text "nonce[15..8]" (rect 130 232 187 249)(font "Intel Clear" ))
(pt 232 248)
(pt 120 248)
(bus)
)
(connector
(text "qleds[7..0]" (rect 130 184 179 201)(font "Intel Clear" ))
(pt 232 200)
(pt 120 200)
(bus)
)
(connector
(text "block_hash[6][7..0]" (rect 290 464 380 481)(font "Intel Clear" ))
(pt 424 480)
(pt 280 480)
(bus)
)
(connector
(pt 480 152)
(pt 480 80)
(bus)
)
(connector
(pt 480 80)
(pt 496 80)
(bus)
)
(connector
(pt 168 128)
(pt 168 152)
(bus)
)
(connector
(pt 168 152)
(pt 480 152)
(bus)
)
(connector
(text "block_hash[5][31..24]" (rect 290 408 392 425)(font "Intel Clear" ))
(pt 424 424)
(pt 280 424)
(bus)
)
(connector
(text "block_hash[5][23..16]" (rect 290 424 392 441)(font "Intel Clear" ))
(pt 424 440)
(pt 280 440)
(bus)
)
(connector
(text "block_hash[5][15..8]" (rect 290 440 386 457)(font "Intel Clear" ))
(pt 424 456)
(pt 280 456)
(bus)
)
(connector
(pt 152 128)
(pt 168 128)
(bus)
)
(connector
(pt 152 48)
(pt 208 48)
(bus)
)
(connector
(pt 448 48)
(pt 496 48)
(bus)
)
(connector
(pt 496 48)
(pt 496 64)
(bus)
)