File Header
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library radhdl;
-- Direct entity instantiation below does not require importing the entity name.
use radhdl.dsp.all;
-- Narrower alternative: use radhdl.dsp_transform.all;
Component Declaration
component raddsp_wide_mul is
generic (
VENDOR : string := "xilinx";
DEVICE_FAMILY : string := "7series";
A_WIDTH : positive := 16;
B_WIDTH : positive := 16;
PRODUCT_WIDTH : positive := 64;
CHUNK_WIDTH : positive := 16
);
port (
clk : in std_logic;
rst : in std_logic;
valid_i : in std_logic;
a_i : in signed(A_WIDTH - 1 downto 0);
b_i : in signed(B_WIDTH - 1 downto 0);
valid_o : out std_logic;
p_o : out signed(PRODUCT_WIDTH - 1 downto 0)
);
end component;
Direct Entity Instantiation
u_raddsp_wide_mul : entity radhdl.raddsp_wide_mul
generic map (
VENDOR => "xilinx",
DEVICE_FAMILY => "7series",
A_WIDTH => 16,
B_WIDTH => 16,
PRODUCT_WIDTH => 64,
CHUNK_WIDTH => 16
)
port map (
clk => <clk_signal>,
rst => <rst_signal>,
valid_i => <valid_i_signal>,
a_i => <a_i_signal>,
b_i => <b_i_signal>,
valid_o => <valid_o_signal>,
p_o => <p_o_signal>
);