blob: 4e4660dcf60de73cd67c555d9bced041dd710566 (
plain) (
blame)
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
|
project_new pdp8 -revision pdp8 -overwrite
set_global_assignment -name DEVICE 10CL025YU256I7G
set_global_assignment -name TOP_LEVEL_ENTITY top
set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2005
set_global_assignment -name VERILOG_MACRO "SYNTHESIS=1"
#set_global_assignment -name VERILOG_MACRO "NO_L1_CACHE=1"
set_global_assignment -name NUM_PARALLEL_PROCESSORS 1
set_global_assignment -name ENABLE_SIGNALTAP OFF
proc pin {net loc} {
set_location_assignment -to $net "PIN_$loc"
set_instance_assignment -name IO_STANDARD "3.3V LVTTL" -to $net
}
proc iopin {net loc} {
pin $net $loc
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to $net
}
proc rampin {net loc} {
set_location_assignment -to $net "PIN_$loc"
set_instance_assignment -name IO_STANDARD "1.8V" -to $net
}
pin clock E1
iopin resetn J15
iopin gpioa[1] L13
iopin gpioa[2] L16
iopin gpioa[3] L15
iopin gpioa[4] K16
iopin gpioa[5] P16
iopin gpioa[6] R16
iopin gpioa[7] N16
iopin gpioa[8] N15
iopin gpioa[9] N14
iopin gpioa[10] P15
iopin gpiob[13] N8
iopin gpiob[14] P8
iopin gpiob[15] M8
iopin gpiob[16] L8
iopin gpiob[17] R7
iopin gpiob[18] T7
iopin gpiob[19] L7
iopin gpiob[20] M7
iopin gpiob[21] R6
iopin gpiob[22] T6
iopin gpiob[23] T2
iopin gpiob[24] M6
iopin gpiob[25] R5
iopin gpiob[26] T5
iopin gpiob[27] N5
iopin gpiob[28] N6
iopin gpioc[31] R4
iopin gpioc[32] T4
iopin gpioc[33] N3
iopin gpioc[34] P3
iopin gpioc[35] R3
iopin gpioc[36] T3
iopin gpioc[37] P6
iopin gpioc[38] P2
iopin gpioc[39] P1
iopin gpioc[40] R1
# Arduino shield pins: (seen from top)
#
# https://upload.wikimedia.org/wikipedia/commons/c/c9/Pinout_of_ARDUINO_Board_and_ATMega328PU.svg
#
# SCL
# SDA
# AREF
# GND
# NC 13
# IOREF 12
# RESET 11
# 3.3V 10
# 5V 9
# GND 8
# GND
# VIN 7
# 6
# A0 5
# A1 4
# A2 3
# A3 2
# A4 1(RX)
# A5 0(TX)
#
# Equivalent FPGA pins:
#
# N2 or D8 (?)
# N1 or C8 (?)
# -
# GND
# - L1
# - L2
# L3 K1
# 3.3V L4
# 5V K5
# GND K2
# GND
# - J1
# J2
# - G1
# - G2
# - D1
# - F3
# - C2
# - B1
pin rs232_txd B1
pin rs232_rxd C2
pin rs232_rts F3
pin rs232_cts D1
pin debug_rx K2
pin debug_tx K5
rampin ram_data[0] T12
rampin ram_data[1] T13
rampin ram_data[2] T11
rampin ram_data[3] R10
rampin ram_data[4] T10
rampin ram_data[5] R11
rampin ram_data[6] R12
rampin ram_data[7] R13
rampin ram_csn P9
rampin ram_rwds T14
rampin ram_clkp P14
rampin ram_clkn R14
rampin ram_resetn N9
# This is the clock for timing-driven synthesis, not timing analysis.
# See clocks.sdf for the other clock.
create_base_clock -fmax "50 MHz" clock
proc add_files {typ ext dir} {
foreach name [glob -nocomplain -directory $dir -type f "*.$ext"] {
set_global_assignment -name "${typ}_FILE" $name
}
}
proc add_dir {dir} {
add_files CDF cdf $dir
add_files HEX hex $dir
add_files SDC sdc $dir
add_files USE_SIGNALTAP stp $dir
add_files SIGNALTAP stp $dir
add_files VERILOG sv $dir
add_files VERILOG svh $dir
foreach subdir [glob -nocomplain -directory $dir -type d *] {
add_dir $subdir
}
}
add_dir .
project_close
|