summaryrefslogtreecommitdiffstats
path: root/abc806addon.qsf
blob: 8dadf999d5cef59217698871d16423f8877232b5 (plain)
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
# -----------------------------------------------------------------------
#
#   Copyright 2003-2019 H. Peter Anvin - All Rights Reserved
#
#   Permission is hereby granted, free of charge, to any person
#   obtaining a copy of this software and associated documentation
#   files (the "Software"), to deal in the Software without
#   restriction, including without limitation the rights to use,
#   copy, modify, merge, publish, distribute, sublicense, and/or
#   sell copies of the Software, and to permit persons to whom
#   the Software is furnished to do so, subject to the following
#   conditions:
#
#   The above copyright notice and this permission notice shall
#   be included in all copies or substantial portions of the Software.
#
#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
#   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
#   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
#   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
#   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
#   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
#   OTHER DEALINGS IN THE SOFTWARE.
#
# -----------------------------------------------------------------------

set_global_assignment -name TOP_LEVEL_ENTITY abc806addon

# Pin assignments
# ===============
set_location_assignment PIN_T2 -to clock_50
set_location_assignment PIN_E2 -to fl_ce_n
set_location_assignment PIN_K1 -to fl_miso
set_location_assignment PIN_D1 -to fl_mosi
set_location_assignment PIN_K2 -to fl_sck
set_location_assignment PIN_E3 -to led_n
set_location_assignment PIN_J4 -to key_n
#set_location_assignment PIN_L5 -to jtag_tdi
#set_location_assignment PIN_L4 -to jtag_tdo
#set_location_assignment PIN_L2 -to jtag_tck
#set_location_assignment PIN_L1 -to jtag_tms
set_location_assignment PIN_C22 -to gpio[3]
set_location_assignment PIN_B22 -to gpio[5]
set_location_assignment PIN_H20 -to gpio[7]
set_location_assignment PIN_F20 -to gpio[9]
set_location_assignment PIN_C20 -to gpio[11]
set_location_assignment PIN_C19 -to gpio[13]
set_location_assignment PIN_C17 -to gpio[15]
set_location_assignment PIN_A20 -to gpio[17]
set_location_assignment PIN_A19 -to gpio[19]
set_location_assignment PIN_A18 -to gpio[21]
set_location_assignment PIN_A17 -to gpio[23]
set_location_assignment PIN_A16 -to gpio[25]
set_location_assignment PIN_A15 -to gpio[27]
set_location_assignment PIN_A14 -to gpio[29]
set_location_assignment PIN_A13 -to gpio[31]
set_location_assignment PIN_A10 -to gpio[33]
set_location_assignment PIN_A9 -to gpio[35]
set_location_assignment PIN_C21 -to gpio[4]
set_location_assignment PIN_B21 -to gpio[6]
set_location_assignment PIN_H19 -to gpio[8]
set_location_assignment PIN_F19 -to gpio[10]
set_location_assignment PIN_D20 -to gpio[12]
set_location_assignment PIN_D19 -to gpio[14]
set_location_assignment PIN_D17 -to gpio[16]
set_location_assignment PIN_B20 -to gpio[18]
set_location_assignment PIN_B19 -to gpio[20]
set_location_assignment PIN_B18 -to gpio[22]
set_location_assignment PIN_B17 -to gpio[24]
set_location_assignment PIN_B16 -to gpio[26]
set_location_assignment PIN_B15 -to gpio[28]
set_location_assignment PIN_B14 -to gpio[30]
set_location_assignment PIN_B13 -to gpio[32]
set_location_assignment PIN_B10 -to gpio[34]
set_location_assignment PIN_B9 -to gpio[36]
set_location_assignment PIN_A8 -to camio[3]
set_location_assignment PIN_A7 -to camio[5]
set_location_assignment PIN_A6 -to camio[7]
set_location_assignment PIN_A5 -to camio[9]
set_location_assignment PIN_A4 -to camio[11]
set_location_assignment PIN_A3 -to camio[13]
set_location_assignment PIN_B1 -to camio[15]
set_location_assignment PIN_C1 -to camio[17]
set_location_assignment PIN_B8 -to camio[4]
set_location_assignment PIN_B7 -to camio[6]
set_location_assignment PIN_B6 -to camio[8]
set_location_assignment PIN_B5 -to camio[10]
set_location_assignment PIN_B4 -to camio[12]
set_location_assignment PIN_B3 -to camio[14]
set_location_assignment PIN_B2 -to camio[16]
set_location_assignment PIN_C2 -to camio[18]
set_location_assignment PIN_J1 -to pmod0u[1]
set_location_assignment PIN_H1 -to pmod0u[2]
set_location_assignment PIN_F1 -to pmod0u[3]
set_location_assignment PIN_E1 -to pmod0u[4]
set_location_assignment PIN_J2 -to pmod0l[1]
set_location_assignment PIN_H2 -to pmod0l[2]
set_location_assignment PIN_F2 -to pmod0l[3]
set_location_assignment PIN_D2 -to pmod0l[4]
set_location_assignment PIN_R1 -to pmod1u[1]
set_location_assignment PIN_P1 -to pmod1u[2]
set_location_assignment PIN_N1 -to pmod1u[3]
set_location_assignment PIN_M1 -to pmod1u[4]
set_location_assignment PIN_R2 -to pmod1l[1]
set_location_assignment PIN_P2 -to pmod1l[2]
set_location_assignment PIN_N2 -to pmod1l[3]
set_location_assignment PIN_M2 -to pmod1l[4]
set_location_assignment PIN_V13 -to s7_en[0]
set_location_assignment PIN_W13 -to s7_en[1]
set_location_assignment PIN_Y13 -to s7_en[2]
set_location_assignment PIN_V15 -to s7_n[0]
set_location_assignment PIN_U20 -to s7_n[1]
set_location_assignment PIN_W20 -to s7_n[2]
set_location_assignment PIN_Y17 -to s7_n[3]
set_location_assignment PIN_W15 -to s7_n[4]
set_location_assignment PIN_W17 -to s7_n[5]
set_location_assignment PIN_U19 -to s7_n[6]
set_location_assignment PIN_W19 -to s7_n[7]
set_location_assignment PIN_AA14 -to vga_b[4]
set_location_assignment PIN_AB13 -to vga_b[3]
set_location_assignment PIN_AA15 -to vga_b[2]
set_location_assignment PIN_AB14 -to vga_b[1]
set_location_assignment PIN_AB15 -to vga_b[0]
set_location_assignment PIN_AB16 -to vga_g[5]
set_location_assignment PIN_AA16 -to vga_g[4]
set_location_assignment PIN_AB17 -to vga_g[3]
set_location_assignment PIN_AA17 -to vga_g[2]
set_location_assignment PIN_AA18 -to vga_g[1]
set_location_assignment PIN_AB18 -to vga_g[0]
set_location_assignment PIN_AB19 -to vga_r[4]
set_location_assignment PIN_AA19 -to vga_r[3]
set_location_assignment PIN_AB20 -to vga_r[2]
set_location_assignment PIN_AA20 -to vga_r[1]
set_location_assignment PIN_AA21 -to vga_r[0]
set_location_assignment PIN_AA13 -to vga_hs
set_location_assignment PIN_AB10 -to vga_vs
set_location_assignment PIN_Y21 -to uart_rxd
set_location_assignment PIN_Y22 -to uart_txd
set_location_assignment PIN_L21 -to e_gtxc
set_location_assignment PIN_W22 -to e_mdc
set_location_assignment PIN_W21 -to e_mdio
set_location_assignment PIN_N22 -to e_rst_n
set_location_assignment PIN_F21 -to e_rxc
set_location_assignment PIN_J21 -to e_rxd[7]
set_location_assignment PIN_J22 -to e_rxd[6]
set_location_assignment PIN_H21 -to e_rxd[5]
set_location_assignment PIN_H22 -to e_rxd[4]
set_location_assignment PIN_F22 -to e_rxd[3]
set_location_assignment PIN_E21 -to e_rxd[2]
set_location_assignment PIN_E22 -to e_rxd[1]
set_location_assignment PIN_D21 -to e_rxd[0]
set_location_assignment PIN_D22 -to e_rxdv
set_location_assignment PIN_K22 -to e_rxer
set_location_assignment PIN_R22 -to e_txc
set_location_assignment PIN_V22 -to e_txd[7]
set_location_assignment PIN_U21 -to e_txd[6]
set_location_assignment PIN_U22 -to e_txd[5]
set_location_assignment PIN_R21 -to e_txd[4]
set_location_assignment PIN_P21 -to e_txd[3]
set_location_assignment PIN_P22 -to e_txd[2]
set_location_assignment PIN_N21 -to e_txd[1]
set_location_assignment PIN_M21 -to e_txd[0]
set_location_assignment PIN_M22 -to e_txen
set_location_assignment PIN_V21 -to e_txer
set_location_assignment PIN_V6 -to dram_a[12]
set_location_assignment PIN_V5 -to dram_a[9]
set_location_assignment PIN_Y4 -to dram_a[11]
set_location_assignment PIN_Y3 -to dram_a[8]
set_location_assignment PIN_Y6 -to dram_clk
set_location_assignment PIN_AA3 -to dram_cs_n
set_location_assignment PIN_AB3 -to dram_ras_n
set_location_assignment PIN_W6 -to dram_cke
set_location_assignment PIN_AA4 -to dram_cas_n
set_location_assignment PIN_AB4 -to dram_we_n
set_location_assignment PIN_AA5 -to dram_dqm[0]
set_location_assignment PIN_AB5 -to dram_dq[7]
set_location_assignment PIN_W7 -to dram_dqm[1]
set_location_assignment PIN_Y7 -to dram_dq[8]
set_location_assignment PIN_W8 -to dram_dq[9]
set_location_assignment PIN_AA7 -to dram_dq[6]
set_location_assignment PIN_AB7 -to dram_dq[5]
set_location_assignment PIN_Y8 -to dram_dq[10]
set_location_assignment PIN_V9 -to dram_dq[11]
set_location_assignment PIN_V10 -to dram_dq[12]
set_location_assignment PIN_AA8 -to dram_dq[4]
set_location_assignment PIN_AB8 -to dram_dq[3]
set_location_assignment PIN_AA9 -to dram_dq[2]
set_location_assignment PIN_AB9 -to dram_dq[1]
set_location_assignment PIN_V11 -to dram_dq[15]
set_location_assignment PIN_W10 -to dram_dq[14]
set_location_assignment PIN_Y10 -to dram_dq[13]
set_location_assignment PIN_AA10 -to dram_dq[0]
set_location_assignment PIN_U2 -to dram_a[2]
set_location_assignment PIN_U1 -to dram_a[3]
set_location_assignment PIN_V2 -to dram_a[0]
set_location_assignment PIN_V1 -to dram_a[1]
set_location_assignment PIN_W2 -to dram_ba[1]
set_location_assignment PIN_W1 -to dram_a[10]
set_location_assignment PIN_Y2 -to dram_a[6]
set_location_assignment PIN_Y1 -to dram_ba[0]
set_location_assignment PIN_AA1 -to dram_a[7]
set_location_assignment PIN_V4 -to dram_a[5]
set_location_assignment PIN_V3 -to dram_a[4]
set_location_assignment PIN_K21 -to e_col
set_location_assignment PIN_L22 -to e_crs

# I/O Standards
# =============
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
set_global_assignment -name WEAK_PULL_UP_RESISTOR ON
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to clock_*
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_mdio
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_txer
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxdv
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxer
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_col
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_crs
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxd[4]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxd[5]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxd[6]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to e_rxd[7]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to camio[3]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to camio[4]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR OFF -to clock_50

# Timing Assignments
# ==================
set_global_assignment -name CUT_OFF_PATHS_BETWEEN_CLOCK_DOMAINS ON
set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF

# Analysis & Synthesis Assignments
# ================================
set_global_assignment -name SAVE_DISK_SPACE OFF
set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "<None>"
set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS ON
set_global_assignment -name CYCLONE_OPTIMIZATION_TECHNIQUE SPEED
set_global_assignment -name AUTO_ROM_RECOGNITION ON
set_global_assignment -name AUTO_RAM_RECOGNITION ON
set_global_assignment -name AUTO_RESOURCE_SHARING ON
set_global_assignment -name ALLOW_ANY_SHIFT_REGISTER_SIZE_FOR_RECOGNITION ON
set_global_assignment -name VHDL_SHOW_LMF_MAPPING_MESSAGES OFF
set_global_assignment -name AUTO_ENABLE_SMART_COMPILE ON

set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name RESERVE_ASDO_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR"
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
set_global_assignment -name CRC_ERROR_CHECKING OFF

# Fitter Assignments
# ==================
set_global_assignment -name DEVICE EP4CE15F23C8
set_global_assignment -name FAMILY "Cyclone IV E"
set_global_assignment -name CYCLONE_CONFIGURATION_SCHEME "ACTIVE SERIAL"
set_global_assignment -name AUTO_GLOBAL_MEMORY_CONTROLS ON
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC ON
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING ON
set_global_assignment -name FITTER_EFFORT "AUTO FIT"
set_global_assignment -name INC_PLC_MODE OFF
set_global_assignment -name ROUTING_BACK_ANNOTATION_MODE OFF
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1

# Programmer Assignments
# ======================
set_global_assignment -name GENERATE_JAM_FILE ON

set_global_assignment -name FMAX_REQUIREMENT "50 MHz" -section_id clock_50
set_instance_assignment -name CLOCK_SETTINGS clock_50 -to clock_50

set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS ON
set_global_assignment -name AUTO_RAM_TO_LCELL_CONVERSION ON
set_global_assignment -name ALLOW_ANY_RAM_SIZE_FOR_RECOGNITION ON
set_global_assignment -name ALLOW_ANY_ROM_SIZE_FOR_RECOGNITION ON
set_global_assignment -name OPTIMIZE_HOLD_TIMING "IO PATHS AND MINIMUM TPD PATHS"
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON
set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON
set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA ON
set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT EXTRA
set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL NORMAL
set_global_assignment -name PLACEMENT_EFFORT_MULTIPLIER 2.0
set_global_assignment -name ROUTER_EFFORT_MULTIPLIER 2.0
set_global_assignment -name ECO_OPTIMIZE_TIMING ON
set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS ON
set_global_assignment -name TIMING_ANALYZER_DO_REPORT_TIMING ON

set_global_assignment -name PROJECT_OUTPUT_DIRECTORY abc806addon
set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation

set_global_assignment -name LAST_QUARTUS_VERSION "18.1.1 Lite Edition"
set_global_assignment -name ENABLE_OCT_DONE OFF
set_global_assignment -name USE_CONFIGURATION_DEVICE ON
set_global_assignment -name GENERATE_RBF_FILE ON
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
set_global_assignment -name GENERATE_JBC_FILE ON
set_global_assignment -name CONFIGURATION_VCCIO_LEVEL AUTO
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall

set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top

set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
set_global_assignment -name TRI_STATE_SPI_PINS OFF

set_global_assignment -name SMART_RECOMPILE ON
set_global_assignment -name STRATIXIII_UPDATE_MODE STANDARD

set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3
set_global_assignment -name SYNTH_PROTECT_SDC_CONSTRAINT ON
set_global_assignment -name OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING "PACK ALL IO REGISTERS"
set_global_assignment -name SYNCHRONIZER_IDENTIFICATION AUTO
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
set_global_assignment -name CYCLONEIII_CONFIGURATION_DEVICE EPCQ64
set_global_assignment -name OCP_HW_EVAL DISABLE

set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2005
set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF
set_global_assignment -name VERILOG_FILE swpll.v
set_global_assignment -name VERILOG_FILE synchro.v
set_global_assignment -name VERILOG_FILE scanconv.v
set_global_assignment -name VERILOG_FILE deglitch.v
set_global_assignment -name VERILOG_FILE abc806addon.v
set_global_assignment -name SDC_FILE abc806addon.sdc
set_global_assignment -name QIP_FILE altera/pll1.qip
set_global_assignment -name QIP_FILE altera/ram_linebuf.qip
set_global_assignment -name CDF_FILE Chain1.cdf
set_global_assignment -name CDF_FILE abc806addon.cdf
set_instance_assignment -name GLOBAL_SIGNAL GLOBAL_CLOCK -to vid_clk
set_global_assignment -name QIP_FILE altera/ddrio_out.qip
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top