Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.95 KB | None | 0 0
  1. library IEEE;
  2. use IEEE.STD_LOGIC_1164.all;
  3.  
  4. entity FP_design is
  5.     PORT(
  6.         aclk: in std_logic;
  7.         a_data: in std_logic_vector(31 downto 0);
  8.         a_data_valid: in std_logic;
  9.         b_data: in std_logic_vector(31 downto 0);
  10.         b_data_valid: in std_logic;
  11.         sum_data: out std_logic_vector(31 downto 0);
  12.         sum_data_valid: out std_logic
  13.     );
  14. end FP_design;
  15.  
  16. architecture Behavioral of FP_design is
  17.     COMPONENT floating_point_0 --add/sub
  18.         PORT (
  19.             aclk : IN STD_LOGIC;
  20.             s_axis_a_tvalid : IN STD_LOGIC;
  21.             s_axis_a_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
  22.             s_axis_b_tvalid : IN STD_LOGIC;
  23.             s_axis_b_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
  24.             s_axis_operation_tvalid : IN STD_LOGIC;
  25.             s_axis_operation_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
  26.             m_axis_result_tvalid : OUT STD_LOGIC;
  27.             m_axis_result_tdata : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
  28.         );
  29.     END COMPONENT;
  30.    
  31.     signal sub_data: std_logic_vector(31 downto 0);
  32.     signal sub_valid: std_logic;
  33. begin
  34.     fp0: floating_point_0 port map(
  35.         aclk => aclk,
  36.         s_axis_a_tvalid => a_data_valid,
  37.         s_axis_a_tdata => a_data,
  38.         s_axis_b_tvalid => b_data_valid,
  39.         s_axis_b_tdata => b_data,
  40.         s_axis_operation_tvalid => '1',
  41.         s_axis_operation_tdata => "00000001", --sub
  42.         m_axis_result_tvalid => sub_valid,
  43.         m_axis_result_tdata => sub_data
  44.     );
  45.    
  46.     fp1: floating_point_0 port map(
  47.         aclk => aclk,
  48.         s_axis_a_tvalid => sub_valid,
  49.         s_axis_a_tdata => sub_data,
  50.         s_axis_b_tvalid => sub_valid,
  51.         s_axis_b_tdata => "00111111100000000000000000000000",  --1
  52.         s_axis_operation_tvalid => '1',
  53.         s_axis_operation_tdata => "00000000", --add
  54.         m_axis_result_tvalid => sum_data_valid,
  55.         m_axis_result_tdata => sum_data
  56.     );
  57.    
  58. end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement