Radical Computer Technologies
DSP / entity

raddsp_xilinx_dsp48_square_seq

Documentation version: 0.2.0 / Subpackage: dsp_transform / Source package: raddsp

Sequential DSP48 square helper for Xilinx FPGA targets. Computes squared signed samples with explicit handshake timing for resource-conscious DSP pipelines.

Use Cases

Block Diagram

raddsp_xilinx_dsp48_square_seq radhdl entity clk rst start_i x_i busy_o valid_o y_o
VHDL Include And Instantiation Template

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_xilinx_dsp48_square_seq is
  generic (
    DEVICE_FAMILY : string := "7series";
    WIDTH : positive := 32
  );
  port (
    clk : in std_logic;
    rst : in std_logic;
    start_i : in std_logic;
    x_i : in signed(WIDTH - 1 downto 0);
    busy_o : out std_logic;
    valid_o : out std_logic;
    y_o : out unsigned((2 * WIDTH) - 1 downto 0)
  );
end component;

Direct Entity Instantiation

u_raddsp_xilinx_dsp48_square_seq : entity radhdl.raddsp_xilinx_dsp48_square_seq
  generic map (
    DEVICE_FAMILY => "7series",
    WIDTH         => 32
  )
  port map (
    clk     => <clk_signal>,
    rst     => <rst_signal>,
    start_i => <start_i_signal>,
    x_i     => <x_i_signal>,
    busy_o  => <busy_o_signal>,
    valid_o => <valid_o_signal>,
    y_o     => <y_o_signal>
  );

Generics

NameTypeDefaultDescription
DEVICE_FAMILYstring"7series"Identifies the target FPGA family so wrappers can choose the correct primitive or conservative portable behavior.
WIDTHpositive32Sets the bit width for WIDTH values carried by this module.

Ports

NameDirectionTypeDescription
clkinstd_logicClock for the associated synchronous logic and handshake domain.
rstinstd_logicActive-high synchronous reset for this clock domain.
start_iinstd_logicInput start i signal for this module.
x_iinsigned(WIDTH - 1 downto 0)Input x i signal for this module.
busy_ooutstd_logicOutput busy o signal generated by this module.
valid_ooutstd_logicOutput valid qualifier aligned with the produced result.
y_ooutunsigned((2 * WIDTH) - 1 downto 0)Output y o signal generated by this module.

Testbenches

No directly associated testbench was found.

Sources