[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6432 - gnuradio/branches/developers/matt/u2f/control_
From: |
matt |
Subject: |
[Commit-gnuradio] r6432 - gnuradio/branches/developers/matt/u2f/control_lib |
Date: |
Thu, 13 Sep 2007 21:28:39 -0600 (MDT) |
Author: matt
Date: 2007-09-13 21:28:39 -0600 (Thu, 13 Sep 2007)
New Revision: 6432
Modified:
gnuradio/branches/developers/matt/u2f/control_lib/fifo_int.v
Log:
fixes to shorten critical paths
Modified: gnuradio/branches/developers/matt/u2f/control_lib/fifo_int.v
===================================================================
--- gnuradio/branches/developers/matt/u2f/control_lib/fifo_int.v
2007-09-13 23:23:11 UTC (rev 6431)
+++ gnuradio/branches/developers/matt/u2f/control_lib/fifo_int.v
2007-09-14 03:28:39 UTC (rev 6432)
@@ -39,7 +39,8 @@
reg [31:0] ctrl_reg;
reg go_reg;
-
+ reg rd_empty_reg;
+
always @(posedge clk)
go_reg <= go;
@@ -76,10 +77,14 @@
begin
addr_o <= 0;
state <= IDLE;
+ rd_empty_reg <= 1;
end
else
if(clear)
- state <= IDLE;
+ begin
+ state <= IDLE;
+ rd_empty_reg <= 1;
+ end
else
case(state)
IDLE :
@@ -99,6 +104,7 @@
begin
state <= READING;
addr_o <= addr_o + 1;
+ rd_empty_reg <= 0;
end
READING :
@@ -106,9 +112,15 @@
begin
addr_o <= addr_o + 1;
if(rd_error_i)
- state <= ERROR;
+ begin
+ state <= ERROR;
+ rd_empty_reg <= 1;
+ end
else if((addr_o == lastline + 9'd1)|rd_done_i)
- state <= DONE;
+ begin
+ state <= DONE;
+ rd_empty_reg <= 1;
+ end
end
WRITING :
@@ -132,8 +144,10 @@
// FIXME ignores step for now
- assign rd_empty_o = (state != READING); // && (state != PRE_READ);
- assign rd_ready_o = (state == READING);
+ //assign rd_empty_o = (state != READING); // && (state != PRE_READ);
+ assign rd_empty_o = rd_empty_reg; // timing fix?
+ //assign rd_ready_o = (state == READING);
+ assign rd_ready_o = ~rd_empty_reg; // timing fix?
assign wr_full_o = (state != WRITING);
assign wr_ready_o = (state == WRITING);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6432 - gnuradio/branches/developers/matt/u2f/control_lib,
matt <=