- FIFOs only use registered output DPRAMs

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/


git-svn-id: http://moon:8086/svn/vhdl/trunk@944 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2013-02-09 10:42:07 +00:00
parent 61d9104fb2
commit 7b972d0084
6 changed files with 35 additions and 34 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
vlib work vlib work
vcom -explicit -93 "../src/fifo_ctrl_pkg.vhd" vcom -explicit -93 "../src/fifo_ctrl_pkg.vhd"
vcom -explicit -93 "../src/gray_counter.vhd" vcom -explicit -93 "../src/gray_counter.vhd"
vcom -explicit -93 "../src/dpram_1w1r.vhd" vcom -explicit -93 "../../rams/dpram_1w1r2c_ro_sim.vhd"
vcom -explicit -93 "../src/fifo_async_ctrl.vhd" vcom -explicit -93 "../src/fifo_async_ctrl.vhd"
vcom -explicit -93 "../src/fifo_async.vhd" vcom -explicit -93 "../src/fifo_async.vhd"
vcom -explicit -93 "../src/tb_fifo_async.vhd" vcom -explicit -93 "../src/tb_fifo_async.vhd"
+1 -1
View File
@@ -2,7 +2,7 @@
## ##
vlib work vlib work
vcom -explicit -93 "../src/fifo_ctrl_pkg.vhd" vcom -explicit -93 "../src/fifo_ctrl_pkg.vhd"
vcom -explicit -93 "../src/dpram_1w1r.vhd" vcom -explicit -93 "../../rams/dpram_1w1r2c_ro_sim.vhd"
vcom -explicit -93 "../src/fifo_sync_ctrl.vhd" vcom -explicit -93 "../src/fifo_sync_ctrl.vhd"
vcom -explicit -93 "../src/fifo_sync.vhd" vcom -explicit -93 "../src/fifo_sync.vhd"
vcom -explicit -93 "../src/tb_fifo_sync.vhd" vcom -explicit -93 "../src/tb_fifo_sync.vhd"
+10 -10
View File
@@ -31,13 +31,13 @@ use work.fifo_ctrl_pkg.all;
entity fifo_async is entity fifo_async is
Generic Generic
( (
addr_width : natural := 4; addr_width : natural := 4;
data_width : natural := 8; data_width : natural := 8;
almost_full_thresh : integer := 12; almost_full_thresh : integer := 12;
almost_empty_thresh : integer := 4; almost_empty_thresh : integer := 4;
allow_full_writes : boolean := false; allow_full_writes : boolean := false;
allow_empty_reads : boolean := false; allow_empty_reads : boolean := false;
do_last_read_update : boolean := true do_last_read_update : boolean := true
); );
Port Port
( (
@@ -102,15 +102,15 @@ begin
); );
inst_dpram_1w1r: entity work.dpram_1w1r inst_dpram_1w1r2c: entity work.dpram_1w1r2c_ro
GENERIC MAP GENERIC MAP
( (
addr_width => addr_width, addr_width => addr_width,
data_width => data_width data_width => data_width
) )
PORT MAP( PORT MAP(
clka => clk_w, clk_a => clk_w,
clkb => clk_r, clk_b => clk_r,
en_a => '1', en_a => '1',
en_b => mem_rd_en, en_b => mem_rd_en,
we_a => mem_wr_en, we_a => mem_wr_en,
+10 -10
View File
@@ -31,13 +31,13 @@ use work.fifo_ctrl_pkg.all;
entity fifo_sync is entity fifo_sync is
Generic Generic
( (
addr_width : natural := 4; addr_width : natural := 4;
data_width : natural := 8; data_width : natural := 8;
almost_full_thresh : integer := 12; almost_full_thresh : integer := 12;
almost_empty_thresh : integer := 4; almost_empty_thresh : integer := 4;
allow_full_writes : boolean := false; allow_full_writes : boolean := false;
allow_empty_reads : boolean := false; allow_empty_reads : boolean := false;
do_last_read_update : boolean := true do_last_read_update : boolean := true
); );
Port Port
@@ -101,15 +101,15 @@ inst_fifo_sync_ctrl: entity work.fifo_sync_ctrl
); );
inst_dpram_1w1r: entity work.dpram_1w1r inst_dpram_1w1r2c: entity work.dpram_1w1r2c_ro
GENERIC MAP GENERIC MAP
( (
addr_width => addr_width, addr_width => addr_width,
data_width => data_width data_width => data_width
) )
PORT MAP( PORT MAP(
clka => clk, clk_a => clk,
clkb => clk, clk_b => clk,
en_a => '1', en_a => '1',
en_b => mem_rd_en, en_b => mem_rd_en,
we_a => mem_wr_en, we_a => mem_wr_en,
+7 -7
View File
@@ -68,13 +68,13 @@ BEGIN
uut: entity work.fifo_async uut: entity work.fifo_async
GENERIC MAP GENERIC MAP
( (
addr_width => ADDR_WIDTH, addr_width => ADDR_WIDTH,
data_width => DATA_WIDTH, data_width => DATA_WIDTH,
almost_full_thresh => 6, almost_full_thresh => 6,
almost_empty_thresh => 2, almost_empty_thresh => 2,
allow_full_writes => false, allow_full_writes => false,
allow_empty_reads => false, allow_empty_reads => false,
do_last_read_update => false do_last_read_update => false
) )
PORT MAP PORT MAP
( (
+5 -4
View File
@@ -66,10 +66,11 @@ BEGIN
uut: entity work.fifo_sync uut: entity work.fifo_sync
GENERIC MAP GENERIC MAP
( (
data_width => DATA_WIDTH, data_width => DATA_WIDTH,
addr_width => ADDR_WIDTH, addr_width => ADDR_WIDTH,
almost_full_thresh => 6, almost_full_thresh => 6,
almost_empty_thresh => 2 almost_empty_thresh => 2,
do_last_read_update => false
) )
PORT MAP PORT MAP
( (