function hB = plugin_board()
% Board definition

%   Copyright 2012-2016 The MathWorks, Inc.

% Construct board object
hB = hdlcoder.Board;

hB.BoardName    = 'Xilinx Kintex-7 KC705 development board';

% FPGA device information
hB.FPGAVendor   = 'Xilinx';
hB.FPGAFamily   = 'Kintex7';
hB.FPGADevice   = 'xc7k325t';
hB.FPGAPackage  = 'ffg900';
hB.FPGASpeed    = '-2';

% Tool information
hB.SupportedTool = {'Xilinx Vivado'};

% FPGA JTAG chain position
hB.JTAGChainPosition = 1;

% MCS File Name is dutName_postFix
hB.TopLevelNamePostfix = 'topkc705';

% Custom board external I/O interface
hB.addExternalIOInterface( ...
    'InterfaceID',    'LEDs General Purpose', ...
    'InterfaceType',  'OUT', ...
    'PortName',       'GPLEDs', ...
    'PortWidth',      8, ...
    'FPGAPin',        {'AB8', 'AA8', 'AC9', 'AB9', 'AE26', 'G19', 'E18','F16'}, ...
    'IOPadConstraint', {'IOSTANDARD = LVCMOS15'});

hB.addExternalIOInterface( ...
    'InterfaceID',    'Push Buttons', ...
    'InterfaceType',  'IN', ...
    'PortName',       'PBs', ...
    'PortWidth',      5, ...
    'FPGAPin',        {'AA12', 'AG5', 'AB12', 'AC6', 'G12'}, ...
    'IOPadConstraint', {'IOSTANDARD = LVCMOS15'});


hB.addEthernetMACInterface( ...
        'InterfaceType',  'GMII',...
        'MACAddress','0x000A3502218A',...
        'IPAddress','192.168.0.2',...
        'NumChannels', 2,...
        'PortAddresses',[50101,50102],...
        'EthernetMACConstraintFile','../kc705_ethernet_gmii.xdc');

% LocalWords:  Zynq xc IOSTANDARD LVCMOS GPLE Pmod INOUT JB Kintex ffg MCS
% LocalWords:  topkc AE
