diff options
author | Matt Ettus <matt@ettus.com> | 2010-02-17 15:00:41 -0800 |
---|---|---|
committer | Matt Ettus <matt@ettus.com> | 2010-02-17 15:00:41 -0800 |
commit | 1912ff60acd490a24204a7596e373e9aef9276cd (patch) | |
tree | bfafc8c569e7b3425746f94608fb83358e43529b /usrp2 | |
parent | d4649caee02a1c76802dc4f8d7d76bb31b14ce09 (diff) | |
download | uhd-1912ff60acd490a24204a7596e373e9aef9276cd.tar.gz uhd-1912ff60acd490a24204a7596e373e9aef9276cd.tar.bz2 uhd-1912ff60acd490a24204a7596e373e9aef9276cd.zip |
speed up the presentation of registered wb data to the gpmc
Diffstat (limited to 'usrp2')
-rw-r--r-- | usrp2/gpmc/gpmc.v | 7 | ||||
-rw-r--r-- | usrp2/models/gpmc_model.v | 26 |
2 files changed, 20 insertions, 13 deletions
diff --git a/usrp2/gpmc/gpmc.v b/usrp2/gpmc/gpmc.v index 1963af6e6..56f879abc 100644 --- a/usrp2/gpmc/gpmc.v +++ b/usrp2/gpmc/gpmc.v @@ -12,7 +12,7 @@ module gpmc wire EM_output_enable = (~EM_NOE & (~EM_NCS4 | ~EM_NCS6)); wire [15:0] EM_D_ram; - reg [15:0] EM_D_wb; + wire [15:0] EM_D_wb; assign EM_D = ~EM_output_enable ? 16'bz : ~EM_NCS4 ? EM_D_ram : EM_D_wb; @@ -44,10 +44,13 @@ module gpmc wb_sel_o <= ~EM_NBE; end + reg [15:0] EM_D_wb_reg; always @(posedge wb_clk) if(wb_ack_i) - EM_D_wb <= wb_dat_miso; + EM_D_wb_reg <= wb_dat_miso; + assign EM_D_wb = wb_ack_i ? wb_dat_miso : EM_D_wb_reg; + // stb, oe_del, we_del assign wb_cyc_o = wb_stb_o; diff --git a/usrp2/models/gpmc_model.v b/usrp2/models/gpmc_model.v index ce3acaacf..38dde1fa5 100644 --- a/usrp2/models/gpmc_model.v +++ b/usrp2/models/gpmc_model.v @@ -25,16 +25,18 @@ module gpmc_model input [10:0] addr; input [15:0] data; begin - #2; + #2.3; EM_A <= addr[10:1]; EM_D_int <= data; - #4; + #2.01; EM_NCS6 <= 0; - #5; + #14; EM_NWE <= 0; - #41; - EM_NWE <= 1; + #77.5; EM_NCS6 <= 1; + //#1.5; + EM_NWE <= 1; + #6; EM_A <= 10'bz; EM_D_int <= 16'bz; end @@ -43,17 +45,19 @@ module gpmc_model task GPMC_Read; input [10:0] addr; begin - #2; + #1.3; EM_A <= addr[10:1]; - #4; + #3; EM_NCS6 <= 0; - #5; + #14; EM_NOE <= 0; - #41; - EM_NOE <= 1; + #77.5; EM_NCS6 <= 1; - EM_A <= 10'bz; + //#1.5; $display("Data Read from GPMC: %X",EM_D); + EM_NOE <= 1; + #254; + EM_A <= 10'bz; end endtask // GPMC_Read |