OpenCores
URL https://opencores.org/ocsvn/srdydrdy_lib/srdydrdy_lib/trunk

Subversion Repositories srdydrdy_lib

[/] [srdydrdy_lib/] [trunk/] [rtl/] [verilog/] [forks/] [sd_mirror.v] - Diff between revs 2 and 14

Show entire file | Details | Blame | View Log

Rev 2 Rev 14
Line 34... Line 34...
    parameter width=128)
    parameter width=128)
  (input        clk,
  (input        clk,
   input        reset,
   input        reset,
 
 
   input              c_srdy,
   input              c_srdy,
   output reg         c_drdy,
   //output reg         c_drdy,
 
   output             c_drdy,
   input [width-1:0]  c_data,
   input [width-1:0]  c_data,
   input [mirror-1:0] c_dst_vld,
   input [mirror-1:0] c_dst_vld,
 
 
   output reg [mirror-1:0] p_srdy,
   output reg [mirror-1:0] p_srdy,
   input [mirror-1:0]      p_drdy,
   input [mirror-1:0]      p_drdy,
Line 51... Line 52...
 
 
  always @(posedge clk)
  always @(posedge clk)
    if (load)
    if (load)
      p_data <= `SDLIB_DELAY c_data;
      p_data <= `SDLIB_DELAY c_data;
 
 
 
  assign c_drdy = (p_srdy == 0);
 
 
  always @*
  always @*
    begin
    begin
      nxt_p_srdy = p_srdy;
      nxt_p_srdy = p_srdy;
      nxt_state    = state;
 
      c_drdy       = 0;
 
      load         = 0;
      load         = 0;
 
 
      case (state)
      if (p_srdy == {mirror{1'b0}})
        0 :
 
          begin
          begin
            c_drdy = 1'b1;
 
            if (c_srdy)
            if (c_srdy)
              begin
              begin
                if (c_dst_vld == {mirror{1'b0}})
                if (c_dst_vld == {mirror{1'b0}})
                  nxt_p_srdy = {mirror{1'b1}};
                  nxt_p_srdy = {mirror{1'b1}};
                else
                else
                  nxt_p_srdy = c_dst_vld;
                  nxt_p_srdy = c_dst_vld;
                nxt_state    = 1;
 
                load         = 1;
                load         = 1;
              end
              end
          end
          end
 
      else
        1 :
 
          begin
          begin
            nxt_p_srdy = p_srdy & ~p_drdy;
            nxt_p_srdy = p_srdy & ~p_drdy;
 
 
            if (p_srdy == {mirror{1'b0}})
 
              begin
 
                nxt_state = 1'b0;
 
              end
 
          end
          end
      endcase
 
    end
    end
 
 
  always @(`SDLIB_CLOCKING)
  always @(`SDLIB_CLOCKING)
    begin
    begin
      if (reset)
      if (reset)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.