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-2024 Xilinx, Inc. --
|
26 | -- All rights reserved. --
|
27 | --------------------------------------------------------------------------------
|
28 | --------------------------------------------------------------------------------
|
29 | -- You must compile the wrapper file mulFP1.vhd when simulating
|
30 | -- the core, mulFP1. 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 mulFP1 IS
|
44 | PORT (
|
45 | aclk : IN STD_LOGIC;
|
46 | s_axis_a_tvalid : IN STD_LOGIC;
|
47 | s_axis_a_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
48 | s_axis_b_tvalid : IN STD_LOGIC;
|
49 | s_axis_b_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
50 | m_axis_result_tvalid : OUT STD_LOGIC;
|
51 | m_axis_result_tdata : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
|
52 | );
|
53 | END mulFP1;
|
54 |
|
55 | ARCHITECTURE mulFP1_a OF mulFP1 IS
|
56 | -- synthesis translate_off
|
57 | COMPONENT wrapped_mulFP1
|
58 | PORT (
|
59 | aclk : IN STD_LOGIC;
|
60 | s_axis_a_tvalid : IN STD_LOGIC;
|
61 | s_axis_a_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
62 | s_axis_b_tvalid : IN STD_LOGIC;
|
63 | s_axis_b_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
64 | m_axis_result_tvalid : OUT STD_LOGIC;
|
65 | m_axis_result_tdata : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
|
66 | );
|
67 | END COMPONENT;
|
68 |
|
69 | -- Configuration specification
|
70 | FOR ALL : wrapped_mulFP1 USE ENTITY XilinxCoreLib.floating_point_v6_1(behavioral)
|
71 | GENERIC MAP (
|
72 | C_A_FRACTION_WIDTH => 24,
|
73 | C_A_TDATA_WIDTH => 32,
|
74 | C_A_TUSER_WIDTH => 1,
|
75 | C_A_WIDTH => 32,
|
76 | C_B_FRACTION_WIDTH => 24,
|
77 | C_B_TDATA_WIDTH => 32,
|
78 | C_B_TUSER_WIDTH => 1,
|
79 | C_B_WIDTH => 32,
|
80 | C_COMPARE_OPERATION => 8,
|
81 | C_HAS_ABSOLUTE => 0,
|
82 | C_HAS_ACLKEN => 0,
|
83 | C_HAS_ADD => 0,
|
84 | C_HAS_ARESETN => 0,
|
85 | C_HAS_A_TLAST => 0,
|
86 | C_HAS_A_TUSER => 0,
|
87 | C_HAS_B => 1,
|
88 | C_HAS_B_TLAST => 0,
|
89 | C_HAS_B_TUSER => 0,
|
90 | C_HAS_COMPARE => 0,
|
91 | C_HAS_DIVIDE => 0,
|
92 | C_HAS_DIVIDE_BY_ZERO => 0,
|
93 | C_HAS_EXPONENTIAL => 0,
|
94 | C_HAS_FIX_TO_FLT => 0,
|
95 | C_HAS_FLT_TO_FIX => 0,
|
96 | C_HAS_FLT_TO_FLT => 0,
|
97 | C_HAS_INVALID_OP => 0,
|
98 | C_HAS_LOGARITHM => 0,
|
99 | C_HAS_MULTIPLY => 1,
|
100 | C_HAS_OPERATION => 0,
|
101 | C_HAS_OPERATION_TLAST => 0,
|
102 | C_HAS_OPERATION_TUSER => 0,
|
103 | C_HAS_OVERFLOW => 0,
|
104 | C_HAS_RECIP => 0,
|
105 | C_HAS_RECIP_SQRT => 0,
|
106 | C_HAS_RESULT_TLAST => 0,
|
107 | C_HAS_RESULT_TUSER => 0,
|
108 | C_HAS_SQRT => 0,
|
109 | C_HAS_SUBTRACT => 0,
|
110 | C_HAS_UNDERFLOW => 0,
|
111 | C_LATENCY => 1,
|
112 | C_MULT_USAGE => 2,
|
113 | C_OPERATION_TDATA_WIDTH => 8,
|
114 | C_OPERATION_TUSER_WIDTH => 1,
|
115 | C_OPTIMIZATION => 1,
|
116 | C_RATE => 1,
|
117 | C_RESULT_FRACTION_WIDTH => 24,
|
118 | C_RESULT_TDATA_WIDTH => 32,
|
119 | C_RESULT_TUSER_WIDTH => 1,
|
120 | C_RESULT_WIDTH => 32,
|
121 | C_THROTTLE_SCHEME => 3,
|
122 | C_TLAST_RESOLUTION => 0,
|
123 | C_XDEVICEFAMILY => "kintex7"
|
124 | );
|
125 | -- synthesis translate_on
|
126 | BEGIN
|
127 | -- synthesis translate_off
|
128 | U0 : wrapped_mulFP1
|
129 | PORT MAP (
|
130 | aclk => aclk,
|
131 | s_axis_a_tvalid => s_axis_a_tvalid,
|
132 | s_axis_a_tdata => s_axis_a_tdata,
|
133 | s_axis_b_tvalid => s_axis_b_tvalid,
|
134 | s_axis_b_tdata => s_axis_b_tdata,
|
135 | m_axis_result_tvalid => m_axis_result_tvalid,
|
136 | m_axis_result_tdata => m_axis_result_tdata
|
137 | );
|
138 | -- synthesis translate_on
|
139 |
|
140 | END mulFP1_a;
|