| # Copyright 2020-2022 F4PGA Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # abc9 - test that abc9.D is correctly set after importing a clock. |
| # counter, counter2, pll - test buffer and clock divider propagation |
| # set_false_path - test the set_false_path command |
| # set_max_delay - test the set_max_delay command |
| # set_clock_groups - test the set_clock_groups command |
| # restore_from_json - test clock propagation when design restored from json instead verilog |
| # period_check - test if the clock propagation fails if a clock wire is missing the PERIOD attribute |
| # waveform_check - test if the WAVEFORM attribute value is correct on wire |
| # period_format_check - test if PERIOD attribute value is correct on wire |
| |
| TESTS = abc9 \ |
| counter \ |
| counter2 \ |
| pll \ |
| pll_div \ |
| pll_fbout_phase \ |
| pll_approx_equal \ |
| pll_dangling_wires \ |
| pll_propagated \ |
| set_false_path \ |
| set_max_delay \ |
| set_clock_groups \ |
| restore_from_json \ |
| period_check \ |
| waveform_check \ |
| period_format_check \ |
| get_clocks \ |
| create_clock_add |
| |
| UNIT_TESTS = escaping |
| |
| include $(shell pwd)/../../Makefile_test.common |
| |
| abc9_verify = true |
| counter_verify = $(call diff_test,counter,sdc) && $(call diff_test,counter,txt) |
| counter2_verify = $(call diff_test,counter2,sdc) && $(call diff_test,counter2,txt) |
| pll_verify = $(call diff_test,pll,sdc) |
| pll_div_verify = $(call diff_test,pll_div,sdc) |
| pll_fbout_phase_verify = $(call diff_test,pll_fbout_phase,sdc) |
| pll_approx_equal_verify = $(call diff_test,pll_approx_equal,sdc) |
| pll_dangling_wires_verify = $(call diff_test,pll_dangling_wires,sdc) |
| pll_propagated_verify = $(call diff_test,pll_propagated,sdc) |
| set_false_path_verify = $(call diff_test,set_false_path,sdc) |
| set_max_delay_verify = $(call diff_test,set_max_delay,sdc) |
| set_clock_groups_verify = $(call diff_test,set_clock_groups,sdc) |
| restore_from_json_verify = diff restore_from_json/restore_from_json_1.sdc restore_from_json/restore_from_json_2.sdc |
| period_check_verify = true |
| period_check_negative = 1 |
| waveform_check_verify = true |
| waveform_check_negative = 1 |
| period_format_check_verify = true |
| period_format_check_negative = 1 |
| get_clocks_verify = $(call diff_test,get_clocks,txt) |
| create_clock_add_verify = $(call diff_test,create_clock_add,sdc) && $(call diff_test,create_clock_add,txt) |