20MHz clock for 10Base-T ethernet?


Is it possible to generate a 20MHz clock on the TinyFPGA BX? I am interested in trying the fpga4fun ultra-minimal ethernet transmitter example at https://www.fpga4fun.com/10BASE-T0.html.


icepll suggests it’s possible to hit 20MHz exactly:

$ icepll -i 16 -o 20

F_PLLIN:    16.000 MHz (given)
F_PLLOUT:   20.000 MHz (requested)
F_PLLOUT:   20.000 MHz (achieved)

F_PFD:   16.000 MHz
F_VCO:  640.000 MHz

DIVR:  0 (4'b0000)
DIVF: 39 (7'b0100111)
DIVQ:  5 (3'b101)

FILTER_RANGE: 1 (3'b001)

That looks like an interesting idea! I’m very keen to hear how you get on.

It’s a level higher up the stack, but I have an arduino ethernet shield with a W5100 chip on it that I was considering hooking up to PicoSoC at some stage. I think your “raw ethernet” idea has a bit more “fun” appeal :slight_smile:


You can become a real full stack developer this way! It would be pretty cool to implement a webserver this way. :grin: