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 mulFP.vhd when simulating
|
30 | -- the core, mulFP. 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 mulFP IS
|
44 | PORT (
|
45 | a : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
46 | b : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
47 | operation_nd : IN STD_LOGIC;
|
48 | clk : IN STD_LOGIC;
|
49 | ce : IN STD_LOGIC;
|
50 | result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
51 | rdy : OUT STD_LOGIC
|
52 | );
|
53 | END mulFP;
|
54 |
|
55 | ARCHITECTURE mulFP_a OF mulFP IS
|
56 | -- synthesis translate_off
|
57 | COMPONENT wrapped_mulFP
|
58 | PORT (
|
59 | a : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
60 | b : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
61 | operation_nd : IN STD_LOGIC;
|
62 | clk : IN STD_LOGIC;
|
63 | ce : IN STD_LOGIC;
|
64 | result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
65 | rdy : OUT STD_LOGIC
|
66 | );
|
67 | END COMPONENT;
|
68 |
|
69 | -- Configuration specification
|
70 | FOR ALL : wrapped_mulFP USE ENTITY XilinxCoreLib.floating_point_v5_0(behavioral)
|
71 | GENERIC MAP (
|
72 | c_a_fraction_width => 24,
|
73 | c_a_width => 32,
|
74 | c_b_fraction_width => 24,
|
75 | c_b_width => 32,
|
76 | c_compare_operation => 8,
|
77 | c_has_a_nd => 0,
|
78 | c_has_a_negate => 0,
|
79 | c_has_a_rfd => 0,
|
80 | c_has_aclr => 0,
|
81 | c_has_add => 0,
|
82 | c_has_b_nd => 0,
|
83 | c_has_b_negate => 0,
|
84 | c_has_b_rfd => 0,
|
85 | c_has_ce => 1,
|
86 | c_has_compare => 0,
|
87 | c_has_cts => 0,
|
88 | c_has_divide => 0,
|
89 | c_has_divide_by_zero => 0,
|
90 | c_has_exception => 0,
|
91 | c_has_fix_to_flt => 0,
|
92 | c_has_flt_to_fix => 0,
|
93 | c_has_flt_to_flt => 0,
|
94 | c_has_inexact => 0,
|
95 | c_has_invalid_op => 0,
|
96 | c_has_multiply => 1,
|
97 | c_has_operation_nd => 1,
|
98 | c_has_operation_rfd => 0,
|
99 | c_has_overflow => 0,
|
100 | c_has_rdy => 1,
|
101 | c_has_sclr => 0,
|
102 | c_has_sqrt => 0,
|
103 | c_has_status => 0,
|
104 | c_has_subtract => 0,
|
105 | c_has_underflow => 0,
|
106 | c_latency => 8,
|
107 | c_mult_usage => 0,
|
108 | c_optimization => 1,
|
109 | c_rate => 1,
|
110 | c_result_fraction_width => 24,
|
111 | c_result_width => 32,
|
112 | c_speed => 2,
|
113 | c_status_early => 0,
|
114 | c_xdevicefamily => "aartix7"
|
115 | );
|
116 | -- synthesis translate_on
|
117 | BEGIN
|
118 | -- synthesis translate_off
|
119 | U0 : wrapped_mulFP
|
120 | PORT MAP (
|
121 | a => a,
|
122 | b => b,
|
123 | operation_nd => operation_nd,
|
124 | clk => clk,
|
125 | ce => ce,
|
126 | result => result,
|
127 | rdy => rdy
|
128 | );
|
129 | -- synthesis translate_on
|
130 |
|
131 | END mulFP_a;
|