// (C) 2001-2015 Altera Corporation. All rights reserved. // Your use of Altera Corporation's design tools, logic functions and other // software and tools, and its AMPP partner logic functions, and any output // files any of the foregoing (including device programming or simulation // files), and any associated documentation or information are expressly subject // to the terms and conditions of the Altera Program License Subscription // Agreement, Altera MegaCore Function License Agreement, or other applicable // license agreement, including, without limitation, that your use is for the // sole purpose of programming logic devices manufactured by Altera and sold by // Altera or its authorized distributors. Please refer to the applicable // agreement for further details. // // Transceiver native reconfig adapter for Stratix V & derivatives. // Translates from native reconfig wire bundles to separate Av reconfig and testbus signals // // This direction for bundle to separate buses inside the sv_xcvr_reconfig_basic block // // $Header$ // `timescale 1 ns / 1 ns // altera message_off 10720 // altera message_off 13024 21074 module av_reconfig_bundle_to_xcvr #( parameter native_ifs = 1 // number of native reconfig interfaces ) ( // bundled reconfig buses input wire [native_ifs*altera_xcvr_functions::W_S5_RECONFIG_BUNDLE_TO_XCVR -1:0] reconfig_to_xcvr, // all inputs from reconfig block to native xcvr reconfig ports output wire [native_ifs*altera_xcvr_functions::W_S5_RECONFIG_BUNDLE_FROM_XCVR-1:0] reconfig_from_xcvr, // all outputs from native xcvr reconfig ports to reconfig block // native reconfig sources input wire [native_ifs*16 -1:0] native_reconfig_readdata, // Avalon DPRIO readdata input wire [native_ifs*3*8-1:0] pif_testbus, // testbus from native reconfig, for all physical interfaces // Voltage comparator output for DCD input wire pif_atbcompout, // native reconfig sinks output wire [native_ifs*1 -1:0] native_reconfig_clk, output wire [native_ifs*1 -1:0] native_reconfig_reset, output wire [native_ifs*16 -1:0] native_reconfig_writedata, // Avalon DPRIO writedata output wire [native_ifs*12 -1:0] native_reconfig_address, // Avalon DPRIO address output wire [native_ifs*1 -1:0] native_reconfig_write, // Avalon DPRIO write output wire [native_ifs*1 -1:0] native_reconfig_read, // Avalon DPRIO read output wire [native_ifs*12 -1:0] pif_testbus_sel, // 4 bits per physical channel output wire [native_ifs*1 -1:0] pif_interface_sel, output wire [native_ifs*1 -1:0] pif_ser_shift_load, output wire tx_cal_busy, output wire rx_cal_busy ); localparam w_bundle_to_xcvr = altera_xcvr_functions::W_S5_RECONFIG_BUNDLE_TO_XCVR; localparam w_bundle_from_xcvr= altera_xcvr_functions::W_S5_RECONFIG_BUNDLE_FROM_XCVR; // tri0 [native_ifs*1 -1:0] oc_cal_busy_bus; tri0 [native_ifs*1 -1:0] tx_cal_busy_bus; tri0 [native_ifs*1 -1:0] rx_cal_busy_bus; tri0 [native_ifs*1 -1:0] pif_atbcompout_bus; // assign oc_cal_busy = |oc_cal_busy_bus; //NOTE: This bus is just a fanout from a single source in the Reconfig controller. This OR gate should optimize away. assign tx_cal_busy = |tx_cal_busy_bus; assign rx_cal_busy = |rx_cal_busy_bus; assign pif_atbcompout_bus = {native_ifs{pif_atbcompout}}; genvar pi; generate for (pi=0; pi