| # Copyright (C) 2017-2021 The Project X-Ray Authors | |
| # | |
| # Use of this source code is governed by a ISC-style | |
| # license that can be found in the LICENSE file or at | |
| # https://opensource.org/licenses/ISC | |
| # | |
| # SPDX-License-Identifier: ISC | |
| # Writes a JSON5 to filename containing timing for current design. | |
| # This can be used with create_timing_worksheet_db.py to compare prjxray model | |
| # with Vivado timing model outputs. | |
| link_design -part $::env(XRAY_PART) | |
| # one pin -> 0 | |
| set clk_pins [get_package_pins -filter "IS_CLK_CAPABLE"] | |
| # three pins -> 1, 2, 3 on HR banks only | |
| set banks [get_iobanks -filter "BANK_TYPE==BT_HIGH_RANGE"] | |
| set data_pins "" | |
| foreach bank [split $banks " "] { | |
| append data_pins " " [get_package_pins -filter "IS_GENERAL_PURPOSE && BANK==$bank"] | |
| } | |
| set fp [open $::env(TMP_FILE) w] | |
| puts $fp "{" | |
| puts $fp "\t\"clk_pins\": \"$clk_pins\"," | |
| puts $fp "\t\"data_pins\": \"$data_pins\"" | |
| puts $fp "}" |