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

Subversion Repositories ethmac

[/] [ethmac/] [trunk/] [rtl/] [verilog/] [eth_wishbone.v] - Diff between revs 40 and 41

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 40 Rev 41
Line 39... Line 39...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.3  2002/02/05 16:44:39  mohor
 
// Both rx and tx part are finished. Tested with wb_clk_i between 10 and 200
 
// MHz. Statuses, overrun, control frame transmission and reception still  need
 
// to be fixed.
 
//
// Revision 1.2  2002/02/01 12:46:51  mohor
// Revision 1.2  2002/02/01 12:46:51  mohor
// Tx part finished. TxStatus needs to be fixed. Pause request needs to be
// Tx part finished. TxStatus needs to be fixed. Pause request needs to be
// added.
// added.
//
//
// Revision 1.1  2002/01/23 10:47:59  mohor
// Revision 1.1  2002/01/23 10:47:59  mohor
Line 325... Line 330...
  assign WB_ACK_O = temp_ack;
  assign WB_ACK_O = temp_ack;
  assign WB_DAT_O = ram_do;
  assign WB_DAT_O = ram_do;
`endif
`endif
 
 
 
 
 
// Generic synchronous single-port RAM interface
 
generic_spram #(8, 32) ram (
 
        // Generic synchronous single-port RAM interface
 
        .clk(WB_CLK_I), .rst(Reset), .ce(ram_ce), .we(ram_we), .oe(ram_oe), .addr(ram_addr), .di(ram_di), .do(ram_do)
 
);
 
 
 
 
// Generic synchronous two-port RAM interface
 
/*
 
generic_tpram     #(8, 32)  i_generic_tpram
 
(
 
  .clk_a(WB_CLK_I),   .rst_a(Reset),         .ce_a(1'b1),        .we_a(BDWrite),
 
  .oe_a(EnableRAM),   .addr_a(WB_ADR_I[9:2]),   .di_a(WB_DAT_I),    .do_a(WB_BDDataOut),
 
 
 
  .clk_b(WB_CLK_I),   .rst_b(Reset),         .ce_b(EnableRAM),   .we_b(BDStatusWrite),
 
  .oe_b(EnableRAM),   .addr_b(BDAddress[7:0]),  .di_b(BDDataIn),    .do_b(BDDataOut)
 
);
 
*/
 
 
 
 
 
 
 
RAMB4_S16 ram1 (.DO(ram_do[15:0]),  .ADDR(ram_addr), .DI(ram_di[15:0]),  .EN(ram_ce),
 
                .CLK(WB_CLK_I),     .WE(ram_we),     .RST(Reset));
 
RAMB4_S16 ram2 (.DO(ram_do[31:16]), .ADDR(ram_addr), .DI(ram_di[31:16]), .EN(ram_ce),
 
                .CLK(WB_CLK_I),     .WE(ram_we),     .RST(Reset));
 
 
 
 
 
 
 
/*
 
generic_spram #(8, 32) ram (
 
        // Generic synchronous single-port RAM interface
 
        .clk(WB_CLK_I), .rst(Reset), .ce(ram_ce), .we(ram_we), .oe(ram_oe), .addr(ram_addr), .di(ram_di), .do(ram_do)
 
);
 
*/
 
assign ram_ce = 1'b1;
assign ram_ce = 1'b1;
assign ram_we = BDWrite & WbEn & WbEn_q | TxStatusWrite | RxStatusWrite;
assign ram_we = BDWrite & WbEn & WbEn_q | TxStatusWrite | RxStatusWrite;
assign ram_oe = BDRead & WbEn & WbEn_q | TxEn & TxEn_q & (TxBDRead | TxPointerRead) | RxEn & RxEn_q & (RxBDRead | RxPointerRead);     // Tu manjka se read kadar se bere RxBD
assign ram_oe = BDRead & WbEn & WbEn_q | TxEn & TxEn_q & (TxBDRead | TxPointerRead) | RxEn & RxEn_q & (RxBDRead | RxPointerRead);     // Tu manjka se read kadar se bere RxBD
 
 
 
 
Line 1557... Line 1539...
end
end
 
 
wire WriteRxDataToFifo_wb;
wire WriteRxDataToFifo_wb;
assign WriteRxDataToFifo_wb = WriteRxDataToFifoSync1 & ~WriteRxDataToFifoSync2;
assign WriteRxDataToFifo_wb = WriteRxDataToFifoSync1 & ~WriteRxDataToFifoSync2;
 
 
reg RxAbortLatched;
 
reg RxAbortSync1;
reg RxAbortSync1;
reg RxAbortSync2;
reg RxAbortSync2;
reg RxAbortSyncb1;
reg RxAbortSyncb1;
reg RxAbortSyncb2;
reg RxAbortSyncb2;
 
 
Line 1636... Line 1617...
  if(RxEndFrm | RxAbort)
  if(RxEndFrm | RxAbort)
    RxEnableWindow <=#Tp 1'b0;
    RxEnableWindow <=#Tp 1'b0;
end
end
 
 
 
 
 
 
// Generation of the end-of-frame signal
 
always @ (posedge MRxClk or posedge Reset)
 
begin
 
  if(Reset)
 
    RxAbortLatched <=#Tp 1'b0;
 
  else
 
  if(RxAbort)
 
    RxAbortLatched <=#Tp 1'b1;
 
  else
 
  if(RxAbortSyncb2 | RxStartFrm)
 
    RxAbortLatched <=#Tp 1'b0;
 
end
 
 
 
 
 
always @ (posedge WB_CLK_I or posedge Reset)
always @ (posedge WB_CLK_I or posedge Reset)
begin
begin
  if(Reset)
  if(Reset)
    RxAbortSync1 <=#Tp 1'b0;
    RxAbortSync1 <=#Tp 1'b0;
  else
  else

powered by: WebSVN 2.1.0

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