remove error
This commit is contained in:
@@ -15,13 +15,11 @@ class MII extends Bundle with MDIO{
|
|||||||
val mtx_clk_pad_i = Input(Bool())
|
val mtx_clk_pad_i = Input(Bool())
|
||||||
val mtxd_pad_o = Output(UInt(4.W))
|
val mtxd_pad_o = Output(UInt(4.W))
|
||||||
val mtxen_pad_o = Output(Bool())
|
val mtxen_pad_o = Output(Bool())
|
||||||
val mtxerr_pad_o = Output(Bool())
|
|
||||||
|
|
||||||
// Rx
|
// Rx
|
||||||
val mrx_clk_pad_i = Input(Bool())
|
val mrx_clk_pad_i = Input(Bool())
|
||||||
val mrxd_pad_i = Input(UInt(4.W))
|
val mrxd_pad_i = Input(UInt(4.W))
|
||||||
val mrxdv_pad_i = Input(Bool())
|
val mrxdv_pad_i = Input(Bool())
|
||||||
val mrxerr_pad_i = Input(Bool())
|
|
||||||
|
|
||||||
// Common Tx and Rx
|
// Common Tx and Rx
|
||||||
val mcoll_pad_i = Input(Bool())
|
val mcoll_pad_i = Input(Bool())
|
||||||
@@ -112,7 +110,6 @@ abstract class Mac(implicit p: Parameters) extends SwitchNode{
|
|||||||
val r_TxEn = Wire(Bool())
|
val r_TxEn = Wire(Bool())
|
||||||
val r_RxEn = Wire(Bool())
|
val r_RxEn = Wire(Bool())
|
||||||
val MRxDV_Lb = Wire(Bool())
|
val MRxDV_Lb = Wire(Bool())
|
||||||
val MRxErr_Lb = Wire(Bool())
|
|
||||||
val MRxD_Lb = Wire(UInt(4.W))
|
val MRxD_Lb = Wire(UInt(4.W))
|
||||||
val Transmitting = Wire(Bool())
|
val Transmitting = Wire(Bool())
|
||||||
val DribbleNibble = Wire(Bool())
|
val DribbleNibble = Wire(Bool())
|
||||||
@@ -232,9 +229,6 @@ abstract class Mac(implicit p: Parameters) extends SwitchNode{
|
|||||||
// Muxed MII receive data valid
|
// Muxed MII receive data valid
|
||||||
MRxDV_Lb := Mux(r_LoopBck, io.mii.mtxen_pad_o, io.mii.mrxdv_pad_i & RxEnSync)
|
MRxDV_Lb := Mux(r_LoopBck, io.mii.mtxen_pad_o, io.mii.mrxdv_pad_i & RxEnSync)
|
||||||
|
|
||||||
// Muxed MII Receive Error
|
|
||||||
MRxErr_Lb := Mux(r_LoopBck, io.mii.mtxerr_pad_o, io.mii.mrxerr_pad_i & RxEnSync)
|
|
||||||
|
|
||||||
// Muxed MII Receive Data
|
// Muxed MII Receive Data
|
||||||
MRxD_Lb := Mux(r_LoopBck, io.mii.mtxd_pad_o, io.mii.mrxd_pad_i)
|
MRxD_Lb := Mux(r_LoopBck, io.mii.mtxd_pad_o, io.mii.mrxd_pad_i)
|
||||||
|
|
||||||
@@ -256,7 +250,6 @@ abstract class Mac(implicit p: Parameters) extends SwitchNode{
|
|||||||
|
|
||||||
io.mii.mtxd_pad_o := txethmac.io.MTxD
|
io.mii.mtxd_pad_o := txethmac.io.MTxD
|
||||||
io.mii.mtxen_pad_o := txethmac.io.MTxEn
|
io.mii.mtxen_pad_o := txethmac.io.MTxEn
|
||||||
io.mii.mtxerr_pad_o := txethmac.io.MTxErr
|
|
||||||
TxDone := txethmac.io.TxDone
|
TxDone := txethmac.io.TxDone
|
||||||
TxAbort := txethmac.io.TxAbort
|
TxAbort := txethmac.io.TxAbort
|
||||||
TxUsedData := txethmac.io.TxUsedData
|
TxUsedData := txethmac.io.TxUsedData
|
||||||
@@ -354,7 +347,6 @@ abstract class Mac(implicit p: Parameters) extends SwitchNode{
|
|||||||
macstatus.io.asyncReset := io.asyncReset
|
macstatus.io.asyncReset := io.asyncReset
|
||||||
macstatus.io.MRxClk := io.mii.mrx_clk_pad_i
|
macstatus.io.MRxClk := io.mii.mrx_clk_pad_i
|
||||||
macstatus.io.RxCrcError := RxCrcError
|
macstatus.io.RxCrcError := RxCrcError
|
||||||
macstatus.io.MRxErr := MRxErr_Lb
|
|
||||||
macstatus.io.MRxDV := MRxDV_Lb
|
macstatus.io.MRxDV := MRxDV_Lb
|
||||||
macstatus.io.RxStateSFD := RxStateSFD
|
macstatus.io.RxStateSFD := RxStateSFD
|
||||||
macstatus.io.RxStateData := RxStateData
|
macstatus.io.RxStateData := RxStateData
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
package Switch
|
|
||||||
|
|
||||||
import chisel3._
|
|
||||||
import chisel3.util._
|
|
||||||
|
|
||||||
import MAC._
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TxBuffIO extends Bundle{
|
|
||||||
val enq = Flipped(Decoupled(new Mac_Stream_Bundle))
|
|
||||||
val deq = Decoupled(new Mac_Stream_Bundle)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
abstract class TxBuffBase(val threshold: Int = 8) extends Module{
|
|
||||||
val io: TxBuffIO = IO(new TxBuffIO)
|
|
||||||
|
|
||||||
val buff = Module(new Queue( new Mac_Stream_Bundle, 2048 ))
|
|
||||||
val enqCnt = Reg(UInt(16.W))
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
trait TxBuffEnq{ this: TxBuffBase =>
|
|
||||||
io.enq <> buff.io.enq
|
|
||||||
|
|
||||||
|
|
||||||
when( io.enq.fire ){
|
|
||||||
when( io.enq.bits.isStart ) {
|
|
||||||
enqCnt := 0.U
|
|
||||||
} .elsewhen( io.enq.bits.isLast ){
|
|
||||||
|
|
||||||
} .elsewhen( enqCnt === threshold.U ){
|
|
||||||
enqCnt := enqCnt
|
|
||||||
} .otherwise{
|
|
||||||
enqCnt := enqCnt + 1.U
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
trait TxBuffDeq{ this: TxBuffBase =>
|
|
||||||
|
|
||||||
val isReach = RegInit(false.B)
|
|
||||||
|
|
||||||
when( io.enq.fire ){
|
|
||||||
when( io.enq.bits.isStart ) {
|
|
||||||
isReach := false.B
|
|
||||||
} .elsewhen(
|
|
||||||
io.enq.bits.isLast ||
|
|
||||||
(if( threshold != 0 ) {enqCnt === threshold.U} else {false.B})
|
|
||||||
){
|
|
||||||
isReach := true.B
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
enqCnt === threshold.U
|
|
||||||
|
|
||||||
io.deq.bits := buff.io.deq.bits
|
|
||||||
io.deq.valid := buff.io.deq.valid & isReach
|
|
||||||
buff.io.deq.ready := io.deq.ready & isReach
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -8,7 +8,6 @@ class MacStatusIO extends Bundle{
|
|||||||
|
|
||||||
val MRxClk = Input(Bool())
|
val MRxClk = Input(Bool())
|
||||||
val RxCrcError = Input(Bool())
|
val RxCrcError = Input(Bool())
|
||||||
val MRxErr = Input(Bool())
|
|
||||||
val MRxDV = Input(Bool())
|
val MRxDV = Input(Bool())
|
||||||
val RxStateSFD = Input(Bool())
|
val RxStateSFD = Input(Bool())
|
||||||
val RxStateData = Input(UInt(2.W))
|
val RxStateData = Input(UInt(2.W))
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ class MacTxIO extends Bundle{
|
|||||||
|
|
||||||
val MTxD = Output(UInt(4.W)) // Transmit nibble (to PHY)
|
val MTxD = Output(UInt(4.W)) // Transmit nibble (to PHY)
|
||||||
val MTxEn = Output(Bool()) // Transmit enable (to PHY)
|
val MTxEn = Output(Bool()) // Transmit enable (to PHY)
|
||||||
val MTxErr = Output(Bool()) // Transmit error (to PHY)
|
|
||||||
val TxDone = Output(Bool()) // Transmit packet done (to RISC)
|
val TxDone = Output(Bool()) // Transmit packet done (to RISC)
|
||||||
val TxAbort = Output(Bool()) // Transmit packet abort (to RISC)
|
val TxAbort = Output(Bool()) // Transmit packet abort (to RISC)
|
||||||
val TxUsedData = Output(Bool()) // Transmit packet used data (to RISC)
|
val TxUsedData = Output(Bool()) // Transmit packet used data (to RISC)
|
||||||
@@ -281,7 +280,6 @@ class MacTx extends MacTxBase with MacTxFSM with MacTxCounter with MacTxCRC {
|
|||||||
val TxAbort = RegInit(false.B); io.TxAbort := ~io.TxStartFrm & TxAbort
|
val TxAbort = RegInit(false.B); io.TxAbort := ~io.TxStartFrm & TxAbort
|
||||||
|
|
||||||
val MTxEn = RegNext(StatePreamble | (StateData(0) | StateData(1)) | StatePAD | StateFCS | StateJam, false.B); io.MTxEn := MTxEn
|
val MTxEn = RegNext(StatePreamble | (StateData(0) | StateData(1)) | StatePAD | StateFCS | StateJam, false.B); io.MTxEn := MTxEn
|
||||||
io.MTxErr := false.B
|
|
||||||
|
|
||||||
val WillTransmit = RegNext(StartPreamble | StatePreamble | (StateData(0) | StateData(1)) | StatePAD | StateFCS | StateJam, false.B); io.WillTransmit := WillTransmit// WillTransmit
|
val WillTransmit = RegNext(StartPreamble | StatePreamble | (StateData(0) | StateData(1)) | StatePAD | StateFCS | StateJam, false.B); io.WillTransmit := WillTransmit// WillTransmit
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user