OpenCores
URL https://opencores.org/ocsvn/heap_sorter/heap_sorter/trunk

Subversion Repositories heap_sorter

[/] [heap_sorter/] [trunk/] [high_speed_pipelined_4clk_per_word/] [src/] [sorter_ctrl.vhd] - Diff between revs 5 and 6

Show entire file | Details | Blame | View Log

Rev 5 Rev 6
Line 4... Line 4...
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- File       : sorter_ctrl.vhd
-- File       : sorter_ctrl.vhd
-- Author     : Wojciech M. Zabolotny <wzab@ise.pw.edu.pl>
-- Author     : Wojciech M. Zabolotny <wzab@ise.pw.edu.pl>
-- Company    : 
-- Company    : 
-- Created    : 2010-05-14
-- Created    : 2010-05-14
-- Last update: 2018-03-11
-- Last update: 2018-03-12
-- Platform   : 
-- Platform   : 
-- Standard   : VHDL'93
-- Standard   : VHDL'93
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Description: 
-- Description: 
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Line 304... Line 304...
      --end if;
      --end if;
      when others => null;
      when others => null;
    end case;
    end case;
  end process p1;
  end process p1;
 
 
 
  sort_cmp_lt_1: entity work.sort_cmp_lt
 
    port map (
 
      clk   => clk,
 
      rst_n => rst_n,
 
      v1    => s_l_val_i,
 
      v2    => s_up_in_val,
 
      lt    => res_sort_cmp_lt_l_up);
 
 
 
  sort_cmp_lt_2: entity work.sort_cmp_lt
 
    port map (
 
      clk   => clk,
 
      rst_n => rst_n,
 
      v1    => s_l_val_i,
 
      v2    => s_r_val_i,
 
      lt    => res_sort_cmp_lt_l_r);
 
 
 
  sort_cmp_lt_3: entity work.sort_cmp_lt
 
    port map (
 
      clk   => clk,
 
      rst_n => rst_n,
 
      v1    => s_r_val_i,
 
      v2    => s_up_in_val,
 
      lt    => res_sort_cmp_lt_r_up);
 
 
  p2 : process (clk) is
  p2 : process (clk) is
  begin  -- process p2
  begin  -- process p2
    if clk'event and clk = '1' then     -- rising clock edge
    if clk'event and clk = '1' then     -- rising clock edge
      if rst_n = '0' then               -- asynchronous reset (active low)
      if rst_n = '0' then               -- asynchronous reset (active low)
        ctrl_state           <= CTRL_RESET;
        ctrl_state           <= CTRL_RESET;
        s_ready_out          <= '0';
        s_ready_out          <= '0';
        addr                 <= (others => '0');
        addr                 <= (others => '0');
        s_up_in_val          <= DATA_REC_INIT_DATA;
        s_up_in_val          <= DATA_REC_INIT_DATA;
        s_l_val              <= DATA_REC_INIT_DATA;
        s_l_val              <= DATA_REC_INIT_DATA;
        s_r_val              <= DATA_REC_INIT_DATA;
        s_r_val              <= DATA_REC_INIT_DATA;
        res_sort_cmp_lt_l_up <= false;
 
        res_sort_cmp_lt_l_r  <= false;
 
        res_sort_cmp_lt_r_up <= false;
 
      --update_out  <= '0';
      --update_out  <= '0';
      --addr_out    <= (others => '0');
      --addr_out    <= (others => '0');
      else
      else
        res_sort_cmp_lt_l_up <= sort_cmp_lt(s_l_val_i, s_up_in_val);
 
        res_sort_cmp_lt_l_r  <= sort_cmp_lt(s_l_val_i, s_r_val_i);
 
        res_sort_cmp_lt_r_up <= sort_cmp_lt(s_r_val_i, s_up_in_val);
 
        s_ready_out          <= s_ready_out_i;
        s_ready_out          <= s_ready_out_i;
        ctrl_state           <= ctrl_state_next;
        ctrl_state           <= ctrl_state_next;
        addr                 <= addr_i;
        addr                 <= addr_i;
        s_up_in_val          <= s_up_in_val_i;
        s_up_in_val          <= s_up_in_val_i;
        s_l_val              <= s_l_val_i;
        s_l_val              <= s_l_val_i;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.