URL
https://opencores.org/ocsvn/ethmac/ethmac/trunk
Subversion Repositories ethmac
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 105 to Rev 104
- ↔ Reverse comparison
Rev 105 → Rev 104
/trunk/rtl/verilog/eth_wishbone.v
41,9 → 41,6
// CVS Revision History |
// |
// $Log: not supported by cvs2svn $ |
// Revision 1.21 2002/03/29 16:18:11 lampret |
// Small typo fixed. |
// |
// Revision 1.20 2002/03/25 16:19:12 mohor |
// Any address can be used for Tx and Rx BD pointers. Address does not need |
// to be aligned. |
283,9 → 280,6
reg TxDone_wb_q; |
reg TxAbort_wb_q; |
reg TxRetry_wb_q; |
reg TxDone_wb_q2; |
reg TxAbort_wb_q2; |
reg TxRetry_wb_q2; |
reg RxBDReady; |
reg TxBDReady; |
|
340,9 → 334,6
wire TxRetryPulse; |
wire TxDonePulse; |
wire TxAbortPulse; |
wire TxRetryPulse_q; |
wire TxDonePulse_q; |
wire TxAbortPulse_q; |
|
wire StartRxBDRead; |
|
778,7 → 769,7
|
assign m_wb_sel_tmp_tx[0] = TxWordAcc | TxHalfAcc | TxByteAcc & TxPointer[1]; |
assign m_wb_sel_tmp_tx[1] = TxWordAcc | TxHalfAcc; |
assign m_wb_sel_tmp_tx[2] = TxWordAcc | TxByteAcc & ~TxPointer[1]; |
assign m_wb_sel_tmp_tx[2] = TxWordAcc | | TxByteAcc & ~TxPointer[1]; |
assign m_wb_sel_tmp_tx[3] = TxWordAcc; |
|
|
807,7 → 798,7
|
reg BlockReadTxDataFromMemory; |
|
assign ResetReadTxDataFromMemory = (TxLengthEq0) | TxAbortPulse_q | TxRetryPulse_q; |
assign ResetReadTxDataFromMemory = (TxLengthEq0) | TxAbortPulse | TxRetryPulse; |
assign SetReadTxDataFromMemory = TxEn & TxEn_q & TxPointerRead; |
|
always @ (posedge WB_CLK_I or posedge Reset) |
860,7 → 851,7
else |
begin |
// Switching between two stages depends on enable signals |
case ({MasterWbTX, MasterWbRX, ReadTxDataFromMemory_2, WriteRxDataToMemory, MasterAccessFinished}) // synopsys parallel_case |
case ({MasterWbTX, MasterWbRX, ReadTxDataFromMemory_2, WriteRxDataToMemory, MasterAccessFinished}) |
5'b00_01_0, 5'b00_11_0 : |
begin |
MasterWbTX <=#Tp 1'b0; // idle and master write is needed (data write to rx buffer) |
962,7 → 953,7
.write(MasterWbTX & m_wb_ack_i & m_wb_sel_o[0]), .read(ReadTxDataFromFifo_wb), |
.clear(TxFifoClear), .full(TxBufferFull), |
.almost_full(TxBufferAlmostFull), .almost_empty(TxBufferAlmostEmpty), |
.empty(TxBufferEmpty), .cnt() |
.empty(TxBufferEmpty) |
); |
|
|
1151,9 → 1142,6
assign TxRetryPulse = TxRetry_wb & ~TxRetry_wb_q; |
assign TxDonePulse = TxDone_wb & ~TxDone_wb_q; |
assign TxAbortPulse = TxAbort_wb & ~TxAbort_wb_q; |
assign TxRetryPulse_q = TxRetry_wb_q & ~TxRetry_wb_q2; |
assign TxDonePulse_q = TxDone_wb_q & ~TxDone_wb_q2; |
assign TxAbortPulse_q = TxAbort_wb_q & ~TxAbort_wb_q2; |
|
|
assign TPauseRq = 0; |
1185,9 → 1173,6
TxDone_wb_q <=#Tp 1'b0; |
TxAbort_wb_q <=#Tp 1'b0; |
TxRetry_wb_q <=#Tp 1'b0; |
TxDone_wb_q2 <=#Tp 1'b0; |
TxAbort_wb_q2 <=#Tp 1'b0; |
TxRetry_wb_q2 <=#Tp 1'b0; |
end |
else |
begin |
1194,9 → 1179,6
TxDone_wb_q <=#Tp TxDone_wb; |
TxAbort_wb_q <=#Tp TxAbort_wb; |
TxRetry_wb_q <=#Tp TxRetry_wb; |
TxDone_wb_q2 <=#Tp TxDone_wb_q; |
TxAbort_wb_q2 <=#Tp TxAbort_wb_q; |
TxRetry_wb_q2 <=#Tp TxRetry_wb_q; |
end |
end |
|
1235,7 → 1217,7
else |
if(Flop & LastWord) |
begin |
case (TxValidBytesLatched) // synopsys parallel_case |
case (TxValidBytesLatched) |
1 : TxEndFrm <=#Tp TxByteCnt == 2'h0; |
2 : TxEndFrm <=#Tp TxByteCnt == 2'h1; |
3 : TxEndFrm <=#Tp TxByteCnt == 2'h2; |
1253,7 → 1235,7
TxData <=#Tp 0; |
else |
if(TxStartFrm_sync2 & ~TxStartFrm) |
case(TxPointerLatched) // synopsys parallel_case |
case(TxPointerLatched) |
2'h0 : TxData <=#Tp TxData_wb[31:24]; // Big Endian Byte Ordering |
2'h1 : TxData <=#Tp TxData_wb[23:16]; // Big Endian Byte Ordering |
2'h2 : TxData <=#Tp TxData_wb[15:08]; // Big Endian Byte Ordering |
1265,7 → 1247,7
else |
if(TxUsedData & Flop) |
begin |
case(TxByteCnt) // synopsys parallel_case |
case(TxByteCnt) |
0 : TxData <=#Tp TxDataLatched[31:24]; // Big Endian Byte Ordering |
1 : TxData <=#Tp TxDataLatched[23:16]; |
2 : TxData <=#Tp TxDataLatched[15:8]; |
1324,7 → 1306,7
TxByteCnt <=#Tp 2'h0; |
else |
if(TxStartFrm & ~TxUsedData) |
case(TxPointerLatched) // synopsys parallel_case |
case(TxPointerLatched) |
2'h0 : TxByteCnt <=#Tp 2'h1; |
2'h1 : TxByteCnt <=#Tp 2'h2; |
2'h2 : TxByteCnt <=#Tp 2'h3; |
1549,7 → 1531,7
|
always @ (RxPointerLatched) |
begin |
case(RxPointerLatched[1:0]) // synopsys parallel_case |
case(RxPointerLatched[1:0]) |
2'h0 : m_wb_sel_tmp_rx[3:0] = 4'hf; |
2'h1 : m_wb_sel_tmp_rx[3:0] = 4'h7; |
2'h2 : m_wb_sel_tmp_rx[3:0] = 4'h3; |
1662,7 → 1644,7
RxByteCnt <=#Tp 2'h0; |
else |
if(RxValid & RxStartFrm & RxBDReady) |
case(RxPointerLatched) // synopsys parallel_case |
case(RxPointerLatched) |
2'h0 : RxByteCnt <=#Tp 2'h1; |
2'h1 : RxByteCnt <=#Tp 2'h2; |
2'h2 : RxByteCnt <=#Tp 2'h3; |
1681,7 → 1663,7
RxValidBytes <=#Tp 2'h1; |
else |
if(RxValid & RxStartFrm) |
case(RxPointerLatched) // synopsys parallel_case |
case(RxPointerLatched) |
2'h0 : RxValidBytes <=#Tp 2'h1; |
2'h1 : RxValidBytes <=#Tp 2'h2; |
2'h2 : RxValidBytes <=#Tp 2'h3; |
1731,7 → 1713,7
RxDataLatched2 <=#Tp {RxDataLatched1[31:8], RxData}; // Big Endian Byte Ordering |
else |
if(SetWriteRxDataToFifo & ShiftWillEnd) |
case(RxValidBytes) // synopsys parallel_case |
case(RxValidBytes) |
// 0 : RxDataLatched2 <=#Tp {RxDataLatched1[31:8], RxData}; // Big Endian Byte Ordering |
// 1 : RxDataLatched2 <=#Tp {RxDataLatched1[31:24], 24'h0}; |
// 2 : RxDataLatched2 <=#Tp {RxDataLatched1[31:16], 16'h0}; |
1841,7 → 1823,7
.write(WriteRxDataToFifo_wb), .read(MasterWbRX & m_wb_ack_i), |
.clear(RxFifoReset), .full(RxBufferFull), |
.almost_full(RxBufferAlmostFull), .almost_empty(RxBufferAlmostEmpty), |
.empty(RxBufferEmpty), .cnt() |
.empty(RxBufferEmpty) |
); |
|
assign WriteRxDataToMemory = ~RxBufferEmpty & (~MasterWbRX | ~RxBufferAlmostEmpty); |
/trunk/rtl/verilog/eth_defines.v
41,10 → 41,6
// CVS Revision History |
// |
// $Log: not supported by cvs2svn $ |
// Revision 1.16 2002/03/19 12:53:29 mohor |
// Some defines that are used in testbench only were moved to tb_eth_defines.v |
// file. |
// |
// Revision 1.15 2002/02/26 16:11:32 mohor |
// Number of interrupts changed |
// |
115,7 → 111,6
|
|
//`define EXTERNAL_DMA // Using DMA |
//`define ETH_FIFO_XILINX // Use Xilinx distributed ram for tx and rx fifo |
|
|
// Selection of the used memory |
153,7 → 148,7
`define ETH_IPGT_DEF 7'h12 |
`define ETH_IPGR1_DEF 7'h0C |
`define ETH_IPGR2_DEF 7'h12 |
`define ETH_PACKETLEN_DEF 32'h00400600 |
`define ETH_PACKETLEN_DEF 32'h003C0600 |
`define ETH_COLLCONF0_DEF 6'h3f |
`define ETH_COLLCONF1_DEF 4'hF |
`define ETH_TX_BD_NUM_DEF 8'h80 |
171,12 → 166,12
|
|
// Outputs are registered (uncomment when needed) |
//`define ETH_REGISTERED_OUTPUTS |
// `define ETH_REGISTERED_OUTPUTS |
|
`define TX_FIFO_CNT_WIDTH 5 |
`define TX_FIFO_DEPTH 16 |
`define TX_FIFO_CNT_WIDTH 4 |
`define TX_FIFO_DEPTH 8 |
`define TX_FIFO_DATA_WIDTH 32 |
|
`define RX_FIFO_CNT_WIDTH 5 |
`define RX_FIFO_DEPTH 16 |
`define RX_FIFO_CNT_WIDTH 4 |
`define RX_FIFO_DEPTH 8 |
`define RX_FIFO_DATA_WIDTH 32 |