-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfrontier.tcl
352 lines (242 loc) · 14.8 KB
/
frontier.tcl
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
package require -exact qsys 12.0
# module properties ('module' here means 'system' or 'top level module')
set_module_property NAME {frontier}
# project properties
set_project_property DEVICE_FAMILY {Cyclone IV E}
# instances and instance parameters
add_instance HPS_tabby hps_tabby 1.1
add_instance basic_SysID basic_SysID 1.0
set_instance_parameter_value basic_SysID AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance basic_FuncLED_0 basic_FuncLED 1.0
set_instance_parameter_value basic_FuncLED_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance basic_FuncLED_1 basic_FuncLED 1.0
set_instance_parameter_value basic_FuncLED_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance basic_FuncLED_2 basic_FuncLED 1.0
set_instance_parameter_value basic_FuncLED_2 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance basic_FuncLED_3 basic_FuncLED 1.0
set_instance_parameter_value basic_FuncLED_3 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance basic_ShieldCtrl basic_ShieldCtrl 1.0
set_instance_parameter_value basic_ShieldCtrl AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance test_LEDState test_LEDState 1.0
set_instance_parameter_value test_LEDState AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance grid_PIO26_A grid_PIO26 1.0
set_instance_parameter_value grid_PIO26_A AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance grid_PIO26_B grid_PIO26 1.0
set_instance_parameter_value grid_PIO26_B AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance grid_PWM_0 grid_PWM 1.0
set_instance_parameter_value grid_PWM_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value grid_PWM_0 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance step_motor_driver_0 step_motor_driver 1.0
set_instance_parameter_value step_motor_driver_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value step_motor_driver_0 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance brush_motor_driver_0 brush_motor_driver 1.0
set_instance_parameter_value brush_motor_driver_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value brush_motor_driver_0 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance position_encoder_0 position_encoder 1.0
set_instance_parameter_value position_encoder_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance fan_motor_driver_0 fan_motor_driver 1.0
set_instance_parameter_value fan_motor_driver_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value fan_motor_driver_0 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance step_motor_driver_1 step_motor_driver 1.0
set_instance_parameter_value step_motor_driver_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value step_motor_driver_1 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance brush_motor_driver_1 brush_motor_driver 1.0
set_instance_parameter_value brush_motor_driver_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value brush_motor_driver_1 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance brush_motor_driver_2 brush_motor_driver 1.0
set_instance_parameter_value brush_motor_driver_2 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value brush_motor_driver_2 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance brush_motor_driver_3 brush_motor_driver 1.0
set_instance_parameter_value brush_motor_driver_3 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value brush_motor_driver_3 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance step_motor_driver_2 step_motor_driver 1.0
set_instance_parameter_value step_motor_driver_2 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value step_motor_driver_2 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance step_motor_driver_3 step_motor_driver 1.0
set_instance_parameter_value step_motor_driver_3 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value step_motor_driver_3 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance step_motor_driver_4 step_motor_driver 1.0
set_instance_parameter_value step_motor_driver_4 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value step_motor_driver_4 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance position_encoder_1 position_encoder 1.0
set_instance_parameter_value position_encoder_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance position_encoder_2 position_encoder 1.0
set_instance_parameter_value position_encoder_2 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance position_encoder_3 position_encoder 1.0
set_instance_parameter_value position_encoder_3 AUTO_MCLK_CLOCK_RATE {133333333.0}
add_instance fan_motor_driver_1 fan_motor_driver 1.0
set_instance_parameter_value fan_motor_driver_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value fan_motor_driver_1 AUTO_PWMCLK_CLOCK_RATE {200000000.0}
add_instance subdivision_step_motor_driver_0 subdivision_step_motor_driver 1.0
set_instance_parameter_value subdivision_step_motor_driver_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value subdivision_step_motor_driver_0 AUTO_PWMCLK_CLOCK_RATE {133333333.0}
add_instance grid_PWM_1 grid_PWM 1.0
set_instance_parameter_value grid_PWM_1 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value grid_PWM_1 AUTO_PWMCLK_CLOCK_RATE {133333333.0}
add_instance grid_PWM_2 grid_PWM 1.0
set_instance_parameter_value grid_PWM_2 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value grid_PWM_2 AUTO_PWMCLK_CLOCK_RATE {133333333.0}
add_instance ARM9_soft_core_0 ARM9_soft_core 1.0
add_instance AD7490_0 AD7490 1.0
set_instance_parameter_value AD7490_0 AUTO_MCLK_CLOCK_RATE {133333333.0}
set_instance_parameter_value AD7490_0 AUTO_ADCCLK_CLOCK_RATE {200000000.0}
# connections and connection parameters
add_connection HPS_tabby.MRST basic_SysID.MRST
add_connection HPS_tabby.MCLK basic_SysID.MCLK
add_connection HPS_tabby.M1 basic_SysID.SysID
set_connection_parameter_value HPS_tabby.M1/basic_SysID.SysID arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_SysID.SysID baseAddress {0x10000000}
add_connection HPS_tabby.MRST basic_FuncLED_0.MRST
add_connection HPS_tabby.MCLK basic_FuncLED_0.MCLK
add_connection HPS_tabby.M1 basic_FuncLED_0.ctrl
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_0.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_0.ctrl baseAddress {0x10000100}
add_connection HPS_tabby.MRST basic_FuncLED_1.MRST
add_connection HPS_tabby.MCLK basic_FuncLED_1.MCLK
add_connection HPS_tabby.M1 basic_FuncLED_1.ctrl
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_1.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_1.ctrl baseAddress {0x10000104}
add_connection HPS_tabby.MRST basic_FuncLED_2.MRST
add_connection HPS_tabby.MCLK basic_FuncLED_2.MCLK
add_connection HPS_tabby.M1 basic_FuncLED_2.ctrl
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_2.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_2.ctrl baseAddress {0x10000108}
add_connection HPS_tabby.MRST basic_FuncLED_3.MRST
add_connection HPS_tabby.MCLK basic_FuncLED_3.MCLK
add_connection HPS_tabby.M1 basic_FuncLED_3.ctrl
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_3.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_FuncLED_3.ctrl baseAddress {0x1000010c}
add_connection HPS_tabby.MRST basic_ShieldCtrl.MRST
add_connection HPS_tabby.MCLK basic_ShieldCtrl.MCLK
add_connection HPS_tabby.M1 basic_ShieldCtrl.ctrl
set_connection_parameter_value HPS_tabby.M1/basic_ShieldCtrl.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/basic_ShieldCtrl.ctrl baseAddress {0x10000200}
add_connection HPS_tabby.EVENTS basic_ShieldCtrl.OC
set_connection_parameter_value HPS_tabby.EVENTS/basic_ShieldCtrl.OC irqNumber {0}
add_connection HPS_tabby.MRST test_LEDState.MRST
add_connection HPS_tabby.MCLK test_LEDState.MCLK
add_connection test_LEDState.fled1 basic_FuncLED_1.ledf
add_connection test_LEDState.fled2 basic_FuncLED_2.ledf
add_connection test_LEDState.fled3 basic_FuncLED_3.ledf
add_connection HPS_tabby.MRST grid_PIO26_A.MRST
add_connection HPS_tabby.MCLK grid_PIO26_A.MCLK
add_connection HPS_tabby.M1 grid_PIO26_A.gpio
set_connection_parameter_value HPS_tabby.M1/grid_PIO26_A.gpio arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/grid_PIO26_A.gpio baseAddress {0x20000000}
add_connection HPS_tabby.MRST grid_PIO26_B.MRST
add_connection HPS_tabby.MCLK grid_PIO26_B.MCLK
add_connection HPS_tabby.M1 grid_PIO26_B.gpio
set_connection_parameter_value HPS_tabby.M1/grid_PIO26_B.gpio arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/grid_PIO26_B.gpio baseAddress {0x20000080}
add_connection HPS_tabby.EVENTS grid_PIO26_A.gpint
set_connection_parameter_value HPS_tabby.EVENTS/grid_PIO26_A.gpint irqNumber {1}
add_connection HPS_tabby.EVENTS grid_PIO26_B.gpint
set_connection_parameter_value HPS_tabby.EVENTS/grid_PIO26_B.gpint irqNumber {2}
add_connection HPS_tabby.MRST grid_PWM_0.MRST
add_connection HPS_tabby.MCLK grid_PWM_0.MCLK
add_connection HPS_tabby.H2CLK grid_PWM_0.PWMCLK
add_connection HPS_tabby.MRST grid_PWM_0.PWMRST
add_connection HPS_tabby.M1 grid_PWM_0.pwm
set_connection_parameter_value HPS_tabby.M1/grid_PWM_0.pwm arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/grid_PWM_0.pwm baseAddress {0x20000100}
add_connection HPS_tabby.MRST step_motor_driver_0.MRST
add_connection HPS_tabby.MCLK step_motor_driver_0.MCLK
add_connection HPS_tabby.H2CLK step_motor_driver_0.PWMCLK
add_connection HPS_tabby.MRST step_motor_driver_0.PWMRST
add_connection HPS_tabby.M1 step_motor_driver_0.ctrl
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_0.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_0.ctrl baseAddress {0x10000260}
add_connection HPS_tabby.MRST step_motor_driver_1.MRST
add_connection HPS_tabby.MCLK step_motor_driver_1.MCLK
add_connection HPS_tabby.M1 step_motor_driver_1.ctrl
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_1.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_1.ctrl baseAddress {0x10000280}
add_connection HPS_tabby.MRST step_motor_driver_1.PWMRST
add_connection HPS_tabby.H2CLK step_motor_driver_1.PWMCLK
add_connection HPS_tabby.MRST step_motor_driver_2.MRST
add_connection HPS_tabby.M1 step_motor_driver_2.ctrl
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_2.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_2.ctrl baseAddress {0x100002a0}
add_connection HPS_tabby.MRST step_motor_driver_2.PWMRST
add_connection HPS_tabby.MCLK step_motor_driver_2.MCLK
add_connection HPS_tabby.H2CLK step_motor_driver_2.PWMCLK
add_connection HPS_tabby.MRST step_motor_driver_3.MRST
add_connection HPS_tabby.MCLK step_motor_driver_3.MCLK
add_connection HPS_tabby.M1 step_motor_driver_3.ctrl
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_3.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_3.ctrl baseAddress {0x100002c0}
add_connection HPS_tabby.MRST step_motor_driver_3.PWMRST
add_connection HPS_tabby.H2CLK step_motor_driver_3.PWMCLK
add_connection HPS_tabby.MRST step_motor_driver_4.MRST
add_connection HPS_tabby.M1 step_motor_driver_4.ctrl
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_4.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/step_motor_driver_4.ctrl baseAddress {0x100002e0}
add_connection HPS_tabby.MCLK step_motor_driver_4.MCLK
add_connection HPS_tabby.MRST step_motor_driver_4.PWMRST
add_connection HPS_tabby.H2CLK step_motor_driver_4.PWMCLK
add_connection HPS_tabby.MRST grid_PWM_2.MRST
add_connection HPS_tabby.MRST grid_PWM_2.PWMRST
add_connection HPS_tabby.MCLK grid_PWM_2.MCLK
add_connection HPS_tabby.MRST grid_PWM_1.MRST
add_connection HPS_tabby.MRST grid_PWM_1.PWMRST
add_connection HPS_tabby.MCLK grid_PWM_1.PWMCLK
add_connection HPS_tabby.MCLK grid_PWM_1.MCLK
add_connection HPS_tabby.MCLK grid_PWM_2.PWMCLK
add_connection ARM9_soft_core_0.m1 grid_PWM_2.pwm
set_connection_parameter_value ARM9_soft_core_0.m1/grid_PWM_2.pwm arbitrationPriority {1}
set_connection_parameter_value ARM9_soft_core_0.m1/grid_PWM_2.pwm baseAddress {0x21000000}
add_connection ARM9_soft_core_0.m1 grid_PWM_1.pwm
set_connection_parameter_value ARM9_soft_core_0.m1/grid_PWM_1.pwm arbitrationPriority {1}
set_connection_parameter_value ARM9_soft_core_0.m1/grid_PWM_1.pwm baseAddress {0x22000000}
add_connection HPS_tabby.MRST AD7490_0.mrst
add_connection HPS_tabby.MCLK AD7490_0.mclk
add_connection HPS_tabby.H2CLK AD7490_0.adcclk
add_connection HPS_tabby.M1 AD7490_0.ctrl
set_connection_parameter_value HPS_tabby.M1/AD7490_0.ctrl arbitrationPriority {1}
set_connection_parameter_value HPS_tabby.M1/AD7490_0.ctrl baseAddress {0x30000000}
# exported interfaces
add_interface m0 conduit end
set_interface_property m0 EXPORT_OF HPS_tabby.EXPORT
add_interface led_f0 conduit end
set_interface_property led_f0 EXPORT_OF basic_FuncLED_0.EXPORT
add_interface led_f1 conduit end
set_interface_property led_f1 EXPORT_OF basic_FuncLED_1.EXPORT
add_interface led_f2 conduit end
set_interface_property led_f2 EXPORT_OF basic_FuncLED_2.EXPORT
add_interface led_f3 conduit end
set_interface_property led_f3 EXPORT_OF basic_FuncLED_3.EXPORT
add_interface shield_ctrl conduit end
set_interface_property shield_ctrl EXPORT_OF basic_ShieldCtrl.EXPORT
add_interface slot_a conduit end
set_interface_property slot_a EXPORT_OF grid_PIO26_A.EXPORT
add_interface slot_b conduit end
set_interface_property slot_b EXPORT_OF grid_PIO26_B.EXPORT
add_interface pwm_c0 conduit end
set_interface_property pwm_c0 EXPORT_OF grid_PWM_0.EXPORT
add_interface step_motor_driver_0 conduit end
set_interface_property step_motor_driver_0 EXPORT_OF step_motor_driver_0.step_motor
add_interface step_motor_driver_1 conduit end
set_interface_property step_motor_driver_1 EXPORT_OF step_motor_driver_1.step_motor
add_interface step_motor_driver_2 conduit end
set_interface_property step_motor_driver_2 EXPORT_OF step_motor_driver_2.step_motor
add_interface step_motor_driver_3 conduit end
set_interface_property step_motor_driver_3 EXPORT_OF step_motor_driver_3.step_motor
add_interface step_motor_driver_4 conduit end
set_interface_property step_motor_driver_4 EXPORT_OF step_motor_driver_4.step_motor
add_interface m1 conduit end
set_interface_property m1 EXPORT_OF ARM9_soft_core_0.ctrl
add_interface ad7490_0 conduit end
set_interface_property ad7490_0 EXPORT_OF AD7490_0.ADC
# disabled instances
set_instance_property brush_motor_driver_0 ENABLED false
set_instance_property position_encoder_0 ENABLED false
set_instance_property fan_motor_driver_0 ENABLED false
set_instance_property brush_motor_driver_1 ENABLED false
set_instance_property brush_motor_driver_2 ENABLED false
set_instance_property brush_motor_driver_3 ENABLED false
set_instance_property position_encoder_1 ENABLED false
set_instance_property position_encoder_2 ENABLED false
set_instance_property position_encoder_3 ENABLED false
set_instance_property fan_motor_driver_1 ENABLED false
set_instance_property subdivision_step_motor_driver_0 ENABLED false
save_system "frontier.qsys"