]> AND Private Git Repository - blast.git/blob - lib/sources/mult_accum.vhd
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
start to include clkdomain converters
[blast.git] / lib / sources / mult_accum.vhd
1 --------------------------------------------------------------------------------
2 --    This file is owned and controlled by Xilinx and must be used solely     --
3 --    for design, simulation, implementation and creation of design files     --
4 --    limited to Xilinx devices or technologies. Use with non-Xilinx          --
5 --    devices or technologies is expressly prohibited and immediately         --
6 --    terminates your license.                                                --
7 --                                                                            --
8 --    XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY    --
9 --    FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES.  BY    --
10 --    PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE             --
11 --    IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS      --
12 --    MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY      --
13 --    CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY       --
14 --    RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY       --
15 --    DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE   --
16 --    IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR          --
17 --    REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF         --
18 --    INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A   --
19 --    PARTICULAR PURPOSE.                                                     --
20 --                                                                            --
21 --    Xilinx products are not intended for use in life support appliances,    --
22 --    devices, or systems.  Use in such applications are expressly            --
23 --    prohibited.                                                             --
24 --                                                                            --
25 --    (c) Copyright 1995-2017 Xilinx, Inc.                                    --
26 --    All rights reserved.                                                    --
27 --------------------------------------------------------------------------------
28 --------------------------------------------------------------------------------
29 -- You must compile the wrapper file mult_accum.vhd when simulating
30 -- the core, mult_accum. When compiling the wrapper file, be sure to
31 -- reference the XilinxCoreLib VHDL simulation library. For detailed
32 -- instructions, please refer to the "CORE Generator Help".
33
34 -- The synthesis directives "translate_off/translate_on" specified
35 -- below are supported by Xilinx, Mentor Graphics and Synplicity
36 -- synthesis tools. Ensure they are correct for your synthesis tool(s).
37
38 LIBRARY ieee;
39 USE ieee.std_logic_1164.ALL;
40 -- synthesis translate_off
41 LIBRARY XilinxCoreLib;
42 -- synthesis translate_on
43 ENTITY mult_accum IS
44   PORT (
45     clk : IN STD_LOGIC;
46     ce : IN STD_LOGIC;
47     sclr : IN STD_LOGIC;
48     bypass : IN STD_LOGIC;
49     a : IN STD_LOGIC_VECTOR(17 DOWNTO 0);
50     b : IN STD_LOGIC_VECTOR(17 DOWNTO 0);
51     s : OUT STD_LOGIC_VECTOR(47 DOWNTO 0)
52   );
53 END mult_accum;
54
55 ARCHITECTURE mult_accum_a OF mult_accum IS
56 -- synthesis translate_off
57 COMPONENT wrapped_mult_accum
58   PORT (
59     clk : IN STD_LOGIC;
60     ce : IN STD_LOGIC;
61     sclr : IN STD_LOGIC;
62     bypass : IN STD_LOGIC;
63     a : IN STD_LOGIC_VECTOR(17 DOWNTO 0);
64     b : IN STD_LOGIC_VECTOR(17 DOWNTO 0);
65     s : OUT STD_LOGIC_VECTOR(47 DOWNTO 0)
66   );
67 END COMPONENT;
68
69 -- Configuration specification
70   FOR ALL : wrapped_mult_accum USE ENTITY XilinxCoreLib.xbip_multaccum_v2_0(behavioral)
71     GENERIC MAP (
72       c_a_type => 0,
73       c_a_width => 18,
74       c_accum_mode => 0,
75       c_accum_width => 48,
76       c_b_type => 0,
77       c_b_width => 18,
78       c_bypass_low => 0,
79       c_ce_overrides_sclr => 0,
80       c_has_bypass => 1,
81       c_latency => 1,
82       c_out_width => 48,
83       c_round_type => 0,
84       c_use_dsp48 => 1,
85       c_verbosity => 0,
86       c_xdevicefamily => "spartan6"
87     );
88 -- synthesis translate_on
89 BEGIN
90 -- synthesis translate_off
91 U0 : wrapped_mult_accum
92   PORT MAP (
93     clk => clk,
94     ce => ce,
95     sclr => sclr,
96     bypass => bypass,
97     a => a,
98     b => b,
99     s => s
100   );
101 -- synthesis translate_on
102
103 END mult_accum_a;