Programming the Ethernet controller
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
	
Interface
- See also: Ethernet packets
 - See also: Ethernet state diagram
 
Emulator
Controller
- transceiver
- This block provides a level of abstraction between the precise CP2200/1 interface and a generalized interface seen by the internal blocks of the FPGA. It takes information on the next transfer to carry out and returns information on the last transfer completed. It has a pulse signal to begin a transfer and a pulse signal to notify of a completed transfer. This eliminates a need for the internal workings of the FPGA to be aware of the timing of the interface; it simply begins a transfer and waits for notification of the transfer's completion.
 - inputs
- CLK: clock
 - /Rst: asynchronous, active-low reset
 - Go: pulse to begin a transmission
 - R/W_in: read/write toggle: active-high read, active-low write
 - A_in: 8-bit bus for address to read to/write from
 - D_in: 8-bit bus for data to write; ignored during a read
 
 - outputs to internals
- Done: pulse to signal completion of a transmission
 - R/W_out: read/write flag: active-high read, active-low write
 - A_out: 8-bit bus for address of last read/write
 - D_out: 8-bit bus for data of last read; internal systems should ignore for a write
 
 - outputs to CP2200/1
- /CS: active-low chip select
 - MotEn: Motorola/Intel format toggle: active-high Motorola, active-low Intel
 - MuxEn: Multiplexed flag; not used for CP2201
 - ALE: ALE strobe
 - /Wr: Active-low write flag
 - /Rd: Active-low read flag
 
 - inouts
- AD: 8-bit address and data bus