Subversion Repositories zxusbnet

Rev

Rev 116 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. // ZXiznet project
  2. // (c) NedoPC 2012-2018
  3. //
  4. // mapping of wiznet address space
  5.  
  6. module wizmap
  7. (
  8.         //
  9.         input  wire [15:0] za,
  10.  
  11.         //
  12.         input  wire        w5300_a0inv,
  13.         input  wire        w5300_ports,
  14.         input  wire [ 3:0] w5300_hi,
  15.  
  16.         //
  17.         output wire [ 9:0] w5300_addr
  18. );
  19.  
  20.         reg [9:0] mem_w5300;
  21.  
  22.  
  23.  
  24.         always @* mem_w5300[0] = w5300_a0inv ^ za[0];
  25.  
  26.  
  27.  
  28.         always @*
  29.         if( za[13]==1'b0 )
  30.         begin
  31.                 mem_w5300[9:1] = za[9:1];
  32.         end
  33.         else // if( za[13]==1'b1 )
  34.         begin
  35.                 mem_w5300[9]   = 1'b1;
  36.                 mem_w5300[8:6] = za[11:9];
  37.  
  38.                 if( za[12]==1'b0 )
  39.                         mem_w5300[5:1] = 5'b10111;
  40.                 else // if( za[12]==1'b1 )
  41.                         mem_w5300[5:1] = 5'b11000;
  42.         end
  43.  
  44.  
  45.  
  46.         assign w5300_addr = w5300_ports ? {w5300_hi,za[13:9],za[8]^w5300_a0inv} : mem_w5300;
  47.        
  48.  
  49.  
  50.  
  51. endmodule
  52.  
  53.