-- hu -- Update H using stream of weights use work.pkg_sbs.all; entity hu is port ( clk, rstn : in bit; cfg_hu : in bit_vector(BW_HU_CFG -1 downto 0); -- Config ena_w : in bit; -- New weight is_ini : in bit; -- First vector (get w and h when ena) is_fst : in bit; -- Fist component in vector ena_ho : out bit; -- Signal a valid ho value wi : in real; -- stream of weights hi : in real; -- stream of state ho : out real); -- stream of states end entity hu; architecture rtlf of hu is signal ctr_hu : bit_vector(BW_HU_CTR-1 downto 0); signal loc_h : bit_vector(ADDR_H_MAX-1 downto 0); signal eps : real; begin -- architecture rtlf i_hu_dp: entity work.hu_dp port map ( clk => clk, rstn => rstn, eps => eps, ctr_hu => ctr_hu, loc_h => loc_h, wi => wi, hi => hi, ho => ho); i_hu_ctr: entity work.hu_ctr port map ( clk => clk, rstn => rstn, eps => eps, cfg_hu => cfg_hu, loc_h => loc_h, ena_w => ena_w, is_ini => is_ini, is_fst => is_fst, ena_ho => ena_ho, ctr_hu => ctr_hu); end architecture rtlf;