library verilog;
use verilog.vl_types.all;
entity dpath is
    generic(
        INPUTWL         : integer := 0;
        OUTPUTWL        : integer := 0;
        COEFWL          : integer := 0;
        K1              : integer := 0;
        K1LOG2          : integer := 0;
        K2              : integer := 0;
        K2LOG2          : integer := 0;
        C2Q             : integer := 0;
        PCYWL           : integer := 0;
        PCYMAX          : integer := 0;
        PCYIDL          : integer := 0;
        OCYWL           : integer := 0;
        ADDRWL          : integer := 0;
        DATAWL          : integer := 0;
        WRY1PCY         : integer := 19
    );
    port(
        CLK             : in     vl_logic;
        RST             : in     vl_logic;
        DINEN           : in     vl_logic;
        DIN             : in     vl_logic_vector;
        PECY            : in     vl_logic_vector;
        DRD0            : in     vl_logic_vector;
        DRD1            : in     vl_logic_vector;
        COEF            : in     vl_logic_vector;
        DWA0            : out    vl_logic_vector;
        DWA1            : out    vl_logic_vector;
        DWE0            : out    vl_logic;
        DWE1            : out    vl_logic;
        DWD0            : out    vl_logic_vector;
        DWD1            : out    vl_logic_vector;
        DRA0            : out    vl_logic_vector;
        DRA1            : out    vl_logic_vector;
        DOUT            : out    vl_logic_vector;
        DOUTEN          : out    vl_logic;
        OUTIDX          : out    vl_logic_vector(1 downto 0);
        CLKOUT          : out    vl_logic
    );
end dpath;
