summaryrefslogtreecommitdiff
path: root/tcl
diff options
context:
space:
mode:
authorJulian Blake Kongslie2022-02-27 17:21:05 -0800
committerJulian Blake Kongslie2022-02-27 17:21:05 -0800
commit0553c4839c06011bd044f69b4913e5c793fdd2ec (patch)
treed11e69863532621fe1fa55cc7e8aa2a8cfa3b727 /tcl
downloadmultipdp8-0553c4839c06011bd044f69b4913e5c793fdd2ec.tar.xz
Initial commit.
Diffstat (limited to 'tcl')
-rw-r--r--tcl/clean.tcl3
-rw-r--r--tcl/init.tcl107
2 files changed, 110 insertions, 0 deletions
diff --git a/tcl/clean.tcl b/tcl/clean.tcl
new file mode 100644
index 0000000..13c3bd4
--- /dev/null
+++ b/tcl/clean.tcl
@@ -0,0 +1,3 @@
1project_open pdp8 -revision pdp8
2
3project_clean -revision pdp8
diff --git a/tcl/init.tcl b/tcl/init.tcl
new file mode 100644
index 0000000..8665ee9
--- /dev/null
+++ b/tcl/init.tcl
@@ -0,0 +1,107 @@
1project_new pdp8 -revision pdp8 -overwrite
2
3set_global_assignment -name DEVICE 10CL025YU256I7G
4
5set_global_assignment -name TOP_LEVEL_ENTITY top
6set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2005
7set_global_assignment -name VERILOG_MACRO "SYNTHESIS=1"
8set_global_assignment -name NUM_PARALLEL_PROCESSORS 1
9set_global_assignment -name ENABLE_SIGNALTAP OFF
10
11proc pin {net loc} {
12 set_location_assignment -to $net "PIN_$loc"
13 set_instance_assignment -name IO_STANDARD "3.3V LVTTL" -to $net
14}
15
16proc iopin {net loc} {
17 pin $net $loc
18 set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to $net
19}
20
21proc rampin {net loc} {
22 set_location_assignment -to $net "PIN_$loc"
23 set_instance_assignment -name IO_STANDARD "1.8V" -to $net
24}
25
26pin clock E1
27
28iopin resetn J15
29
30iopin gpioa[1] L13
31iopin gpioa[2] L16
32iopin gpioa[3] L15
33iopin gpioa[4] K16
34iopin gpioa[5] P16
35iopin gpioa[6] R16
36iopin gpioa[7] N16
37iopin gpioa[8] N15
38iopin gpioa[9] N14
39iopin gpioa[10] P15
40iopin gpiob[13] N8
41iopin gpiob[14] P8
42iopin gpiob[15] M8
43iopin gpiob[16] L8
44iopin gpiob[17] R7
45iopin gpiob[18] T7
46iopin gpiob[19] L7
47iopin gpiob[20] M7
48iopin gpiob[21] R6
49iopin gpiob[22] T6
50iopin gpiob[23] T2
51iopin gpiob[24] M6
52iopin gpiob[25] R5
53iopin gpiob[26] T5
54iopin gpiob[27] N5
55iopin gpiob[28] N6
56iopin gpioc[31] R4
57iopin gpioc[32] T4
58iopin gpioc[33] N3
59iopin gpioc[34] P3
60iopin gpioc[35] R3
61iopin gpioc[36] T3
62iopin gpioc[37] P6
63iopin gpioc[38] P2
64iopin gpioc[39] P1
65iopin gpioc[40] R1
66
67rampin ram_data[0] T12
68rampin ram_data[1] T13
69rampin ram_data[2] T11
70rampin ram_data[3] R10
71rampin ram_data[4] T10
72rampin ram_data[5] R11
73rampin ram_data[6] R12
74rampin ram_data[7] R13
75rampin ram_csn P9
76rampin ram_rwds T14
77rampin ram_clkp P14
78rampin ram_clkn R14
79rampin ram_resetn N9
80
81# This is the clock for timing-driven synthesis, not timing analysis.
82# See clocks.sdf for the other clock.
83create_base_clock -fmax "50 MHz" clock
84
85proc add_files {typ ext dir} {
86 foreach name [glob -nocomplain -directory $dir -type f "*.$ext"] {
87 set_global_assignment -name "${typ}_FILE" $name
88 }
89}
90
91proc add_dir {dir} {
92 add_files CDF cdf $dir
93 add_files HEX hex $dir
94 add_files SDC sdc $dir
95 add_files USE_SIGNALTAP stp $dir
96 add_files SIGNALTAP stp $dir
97 add_files VERILOG sv $dir
98 add_files VERILOG svh $dir
99
100 foreach subdir [glob -nocomplain -directory $dir -type d *] {
101 add_dir $subdir
102 }
103}
104
105add_dir .
106
107project_close