summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Buckley <ianb@server2.(none)>2010-09-01 00:44:39 -0700
committerIan Buckley <ianb@server2.(none)>2010-09-01 00:44:39 -0700
commitf18bf439ad1456452532285eedd131c54065213c (patch)
tree20944eec77bfb9c6419ef5595c08dc27ca92042a
parent492c5d53c31dd403817a27c6b25c30f8e089693b (diff)
downloaduhd-f18bf439ad1456452532285eedd131c54065213c.tar.gz
uhd-f18bf439ad1456452532285eedd131c54065213c.tar.bz2
uhd-f18bf439ad1456452532285eedd131c54065213c.zip
Enhanced test bench to be more like real world application
-rw-r--r--usrp2/extramfifo/ext_fifo_tb.sh3
-rw-r--r--usrp2/extramfifo/ext_fifo_tb.v18
2 files changed, 14 insertions, 7 deletions
diff --git a/usrp2/extramfifo/ext_fifo_tb.sh b/usrp2/extramfifo/ext_fifo_tb.sh
index a56574102..dcfede37a 100644
--- a/usrp2/extramfifo/ext_fifo_tb.sh
+++ b/usrp2/extramfifo/ext_fifo_tb.sh
@@ -1 +1,2 @@
-fuse -prj ext_fifo_tb.prj -t work.glbl -t work.ext_fifo_tb -L unisims_ver -L xilinxcorelib_ver -o ext_fifo_tb
+#fuse -prj ext_fifo_tb.prj -t work.glbl -t work.ext_fifo_tb -L unisims_ver -L xilinxcorelib_ver -o ext_fifo_tb
+iverilog -c ext_fifo_tb.cmd -o ext_fifo_tb ext_fifo_tb.v
diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v
index db5f31a9d..0eda89769 100644
--- a/usrp2/extramfifo/ext_fifo_tb.v
+++ b/usrp2/extramfifo/ext_fifo_tb.v
@@ -84,11 +84,17 @@ module ext_fifo_tb();
initial
begin
- repeat (20) @(negedge int_clk);
+ repeat (5) @(negedge int_clk);
+ dst_rdy_i <= 1;
+
+ while (src_rdy_o !== 1)
+ @(negedge int_clk);
// Fall through fifo, first output already valid
if (dataout !== ref_dataout)
- $display("Error: Expected %x, got %x",ref_dataout, dataout);
+ $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time);
+ ref_dataout <= ref_dataout + src_rdy_o ;
+
// Decimate by 16 rate
while (ref_dataout < 2000)
begin
@@ -96,7 +102,7 @@ module ext_fifo_tb();
ref_dataout <= ref_dataout + src_rdy_o ;
dst_rdy_i <= src_rdy_o;
if ((dataout !== ref_dataout) && src_rdy_o)
- $display("Error: Expected %x, got %x",ref_dataout, dataout);
+ $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time);
@(negedge int_clk);
dst_rdy_i <= 0;
repeat(14) @(negedge int_clk);
@@ -108,7 +114,7 @@ module ext_fifo_tb();
ref_dataout <= ref_dataout + src_rdy_o ;
dst_rdy_i <= src_rdy_o;
if ((dataout !== ref_dataout) && src_rdy_o)
- $display("Error: Expected %x, got %x",ref_dataout, dataout);
+ $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time);
@(negedge int_clk);
dst_rdy_i <= 0;
repeat(6) @(negedge int_clk);
@@ -120,7 +126,7 @@ module ext_fifo_tb();
ref_dataout <= ref_dataout + src_rdy_o ;
dst_rdy_i <= src_rdy_o;
if ((dataout !== ref_dataout) && src_rdy_o)
- $display("Error: Expected %x, got %x",ref_dataout, dataout);
+ $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time);
@(negedge int_clk);
dst_rdy_i <= 0;
repeat(2) @(negedge int_clk);
@@ -132,7 +138,7 @@ module ext_fifo_tb();
ref_dataout <= ref_dataout + src_rdy_o ;
dst_rdy_i <= src_rdy_o;
if ((dataout !== ref_dataout) && src_rdy_o)
- $display("Error: Expected %x, got %x",ref_dataout, dataout);
+ $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time);
end // while (ref_dataout < 10000)