From 0553c4839c06011bd044f69b4913e5c793fdd2ec Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sun, 27 Feb 2022 17:21:05 -0800 Subject: Initial commit. --- tcl/clean.tcl | 3 ++ tcl/init.tcl | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 tcl/clean.tcl create mode 100644 tcl/init.tcl (limited to 'tcl') 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 @@ +project_open pdp8 -revision pdp8 + +project_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 @@ +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 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 + +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 -- cgit v1.2.3