PLD, FPGA or microcontroller for PWM decode?
With 4ms timing a micro-controller will be fine. Use an arduino for the least complex and time consuming method of reading your 4ms pulse. I'm not sure how the timers work but here is some info: http://playground.arduino.cc/Code/Timer1

I know the stm32f4 nucleo boards have 32 bit timer on a few of the pins if you really need the accuracy. Compilers are harder to find for those boards but I think that they have one for the nucleo's now that is free. You will spend more time finding\getting familiar with the tools.

If you really want to use an FPGA, the MAX10's from altera are one of the best bets. you can get a dev board and a programmer for 100$ And the tools will work for free (quartus prime web edition) as long as you don't want to put anything fancy on the board like an arm core (you can still run their paid IP but you have to be tethered to their software). You will probably spend 20 hours minimum getting familiar with the tools if you have never worked with an HDL before. Another option is lattice that has a usb stick with a CPLD on it, but I can't vouch for their tools