Browse Source

more and besset comments

pull/1/head
T. Meissner 10 years ago
parent
commit
10462234cc
1 changed files with 9 additions and 5 deletions
  1. +9
    -5
      sim/QueueP.vhd

+ 9
- 5
sim/QueueP.vhd View File

@ -6,8 +6,7 @@ library ieee;
package QueueP is package QueueP is
-- simple queue protected type
-- inspired by noasic article http://noasic.com/blog/a-simple-fifo-using-vhdl-protected-types/
-- simple queue interface
type t_simple_queue is protected type t_simple_queue is protected
procedure push (data : in std_logic_vector); procedure push (data : in std_logic_vector);
@ -20,7 +19,7 @@ package QueueP is
end protected t_simple_queue; end protected t_simple_queue;
-- linked list queue
-- linked list queue interface
type t_list_queue is protected type t_list_queue is protected
procedure push (data : in std_logic_vector); procedure push (data : in std_logic_vector);
@ -40,6 +39,8 @@ end package QueueP;
package body QueueP is package body QueueP is
-- simple queue implementation
-- inspired by noasic article http://noasic.com/blog/a-simple-fifo-using-vhdl-protected-types/
type t_simple_queue is protected body type t_simple_queue is protected body
constant C_QUEUE_DEPTH : natural := 64; constant C_QUEUE_DEPTH : natural := 64;
@ -101,6 +102,7 @@ package body QueueP is
end protected body t_simple_queue; end protected body t_simple_queue;
-- linked liste queue implementation
type t_list_queue is protected body type t_list_queue is protected body
constant C_QUEUE_DEPTH : natural := 64; constant C_QUEUE_DEPTH : natural := 64;
@ -119,7 +121,8 @@ package body QueueP is
variable v_tail : t_entry_ptr; variable v_tail : t_entry_ptr;
variable v_count : natural range 0 to C_QUEUE_DEPTH := 0; variable v_count : natural range 0 to C_QUEUE_DEPTH := 0;
-- write one entry into queue
-- write one entry into queue by
-- creating new entry at head of list
procedure push (data : in std_logic_vector) is procedure push (data : in std_logic_vector) is
begin begin
assert not(is_full) assert not(is_full)
@ -135,7 +138,8 @@ package body QueueP is
v_count := v_count + 1; v_count := v_count + 1;
end procedure push; end procedure push;
-- read one entry from queue
-- read one entry from queue at tail of list and
-- delete that entry from list after read
procedure pop (data : out std_logic_vector) is procedure pop (data : out std_logic_vector) is
variable v_entry : t_entry_ptr; variable v_entry : t_entry_ptr;
begin begin


Loading…
Cancel
Save