[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ethmac] the rx procedure should not be controled by carriersense,I think
Hi,everybody, i have read some of your source code and cannot
understand this :
these are copied from top.v
// Synchronized Receive Enable
assign Transmitting = ~r_FullD & WillTransmit_q2;
always @ (posedge mrx_clk_pad_i or posedge r_Rst)
begin
if(r_Rst)
RxEnSync <= #Tp 1'b0;
else
if(~RxCarrierSense | RxCarrierSense & Transmitting)
RxEnSync <= #Tp r_RxEn;
end
// Muxed MII receive data valid
assign MRxDV_Lb = r_LoopBck? mtxen_pad_o : mrxdv_pad_i & RxEnSync;
// Muxed MII Receive Error
assign MRxErr_Lb = r_LoopBck? mtxerr_pad_o : mrxerr_pad_i & RxEnSync;
we can conclude from the code above:
if Transmitting==0 and RxCarrierSense==1
the MRxDv_Lb and MRxErr_Lb will be disabled.
but I think the carriersense should have nothing to do with the rx
procedure.
it only make sense in tx procedure and in half duplex mode.
am i right?
best regards
--
To unsubscribe from ethmac mailing list please visit http://www.opencores.org/mailinglists.shtml