########################################################################################################################
#                                                                                                                      #
# ANTIKERNEL v0.1                                                                                                      #
#                                                                                                                      #
# Copyright (c) 2012-2017 Andrew D. Zonenberg                                                                          #
# All rights reserved.                                                                                                 #
#                                                                                                                      #
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the     #
# following conditions are met:                                                                                        #
#                                                                                                                      #
#    * Redistributions of source code must retain the above copyright notice, this list of conditions, and the         #
#      following disclaimer.                                                                                           #
#                                                                                                                      #
#    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the       #
#      following disclaimer in the documentation and/or other materials provided with the distribution.                #
#                                                                                                                      #
#    * Neither the name of the author nor the names of any contributors may be used to endorse or promote products     #
#      derived from this software without specific prior written permission.                                           #
#                                                                                                                      #
# THIS SOFTWARE IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   #
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL #
# THE AUTHORS BE HELD LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES        #
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR       #
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT #
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE       #
# POSSIBILITY OF SUCH DAMAGE.                                                                                          #
#                                                                                                                      #
########################################################################################################################

# release config for formal doesn't make any sense, it's not an artifact we ship
# we're not synthesizing for a real FPGA so don't do tech mapping etc

########################################################################################################################
# EXPANDING

RPCv3RouterReceiverFormal_expanding_in16:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_expanding_in16.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_expanding_in32:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_expanding_in32.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_expanding_in64:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_expanding_in64.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

########################################################################################################################
# COLLAPSING

RPCv3RouterReceiverFormal_collapsing_in128:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_collapsing_in128.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v


RPCv3RouterReceiverFormal_collapsing_in64:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_collapsing_in64.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_collapsing_in32:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_collapsing_in32.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

########################################################################################################################
# BUFFERING

RPCv3RouterReceiverFormal_buffering_in16:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_buffering_in16.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_buffering_in32:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_buffering_in32.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_buffering_in64:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_buffering_in64.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v

RPCv3RouterReceiverFormal_buffering_in128:
    toolchain:      verilog/yosys
    type:           formal

    configs:
        - debug

    arches:
        - generic-formal

    sources:
        - RPCv3RouterReceiver_buffering_in128.v
        - RxRouterLinkTester.v
        - ../../../antikernel-ipcores/dataflow/SingleClockShiftRegisterFifo.v
        - ../../../antikernel-ipcores/device_abstraction/ShiftRegisterMacro.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_buffering.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_collapsing.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3RouterReceiver_expanding.v
        - ../../../antikernel-ipcores/noc/rpcv3/RPCv3Transceiver.v
