diff --git a/ASIC/accelerator_only/Cadence/scripts/genus.tcl b/ASIC/accelerator_only/Cadence/scripts/genus.tcl new file mode 100644 index 0000000000000000000000000000000000000000..fd06b4bb2d55757123b85da64097905071202418 --- /dev/null +++ b/ASIC/accelerator_only/Cadence/scripts/genus.tcl @@ -0,0 +1,27 @@ +set_db init_lib_search_path $::env(PHYS_IP)/arm/tsmc/cln65lp/sc9_base_rvt/r0p0/lib/ +set BASE_LIB sc9_cln65lp_base_rvt_ss_typical_max_1p08v_125c.lib +create_library_domain domain1 +set_db [get_db library_domains domain1] .library "$BASE_LIB" + +source $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/nanosoc/flist/genus_flist.tcl +elaborate accelerator_subsystem + +read_sdc $::env(SOCLABS_NANOSOC_TECH_DIR)/ASIC/accelerator_only/accel_constraints.sdc + +set_db delete_unloaded_insts false +set_db optimize_constant_1_flops false +set_db optimize_constant_0_flops false +set_db syn_generic_effort high +set_db syn_map_effort high + +syn_generic +syn_map +syn_opt + +report_area > $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/accel/reports/syn_accel_area_784.rep +report_timing > $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/accel/reports/syn_accel_timing_784.rep +report_gates > $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/accel/reports/syn_accel_gates_784.rep +report_power > $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/accel/reports/syn_accel_power_784.rep + +write_hdl > $::env(SOCLABS_PROJECT_DIR)/imp/ASIC/accel/netlist/accel.v + diff --git a/ASIC/accelerator_only/accel_constraints.sdc b/ASIC/accelerator_only/accel_constraints.sdc new file mode 100644 index 0000000000000000000000000000000000000000..abef4bf83e1ae33cd6dde177b5ee3cbff87727f9 --- /dev/null +++ b/ASIC/accelerator_only/accel_constraints.sdc @@ -0,0 +1,38 @@ +#----------------------------------------------------------------------------- +# NanoSoC Constraints for Synthesis +# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +# +# Contributors +# +# Daniel Newbrook (d.newbrook@soton.ac.uk) +# +# Copyright (C) 2021-3, SoC Labs (www.soclabs.org) +#----------------------------------------------------------------------------- + +#### CLOCK DEFINITION + +set EXTCLK "clk"; +set_units -time ns; + +set_units -capacitance pF; +set EXTCLK_PERIOD 4; + +create_clock -name "$EXTCLK" -period "$EXTCLK_PERIOD" -waveform "0 [expr $EXTCLK_PERIOD/2]" [get_ports HCLK] + +set SKEW 0.200 +set_clock_uncertainty $SKEW [get_clocks $EXTCLK] + +set MINRISE 0.20 +set MAXRISE 0.25 +set MINFALL 0.20 +set MAXFALL 0.25 + +set_clock_transition -rise -min $MINRISE [get_clocks $EXTCLK] +set_clock_transition -rise -max $MAXRISE [get_clocks $EXTCLK] +set_clock_transition -fall -min $MINFALL [get_clocks $EXTCLK] +set_clock_transition -fall -min $MINFALL [get_clocks $EXTCLK] + +#### DELAY DEFINITION + +set_max_capacitance 3 [all_outputs] +set_max_fanout 10 [all_inputs] \ No newline at end of file diff --git a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_28pin.v b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_28pin.v index 3ce7c03286ff099c5d7ffe269595898941917468..d096cdb2a414f423a7283324c83b52bce5283e4a 100644 --- a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_28pin.v +++ b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_28pin.v @@ -74,15 +74,12 @@ module nanosoc_chip_pads ( wire swdclk_i; wire VSSIO; - assign VSSIO = VSS; // -------------------------------------------------------------------------------- // Cortex-M0 nanosoc Microcontroller // -------------------------------------------------------------------------------- nanosoc_chip u_nanosoc_chip ( `ifdef POWER_PINS - .VDDIO (VDDIO), - .VSSIO (VSSIO), .VDD (VDD), .VSS (VSS), .VDDACC (VDDACC), diff --git a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_44pin.v b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_44pin.v index a73a32c5856f14f081e42c3be23fa9bcd44fd8d1..2ff77dbd8d83125fc5b956b5e519c7de99a60f37 100644 --- a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_44pin.v +++ b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_44pin.v @@ -79,8 +79,6 @@ module nanosoc_chip_pads ( nanosoc_chip u_nanosoc_chip ( `ifdef POWER_PINS - .VDDIO (VDDIO), - .VSSIO (VSSIO), .VDD (VDD), .VSS (VSS), .VDDACC (VDDACC), diff --git a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_60pin.v b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_60pin.v index c4b16345b107c9cbb9f25569a72b3342e28d9367..9aad685a8c7bf4ac07609b4469d68dafef87e3cf 100644 --- a/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_60pin.v +++ b/ASIC/nanosoc_chip_pads/tsmc65lp/nanosoc_chip_pads_60pin.v @@ -80,8 +80,6 @@ module nanosoc_chip_pads ( nanosoc_chip u_nanosoc_chip ( `ifdef POWER_PINS - .VDDIO (VDDIO), - .VSSIO (VSSIO), .VDD (VDD), .VSS (VSS), .VDDACC (VDDACC),