Well, "easy".  Hardware description
languages have a steep
 learning curve.
 If you're just starting out on them, it's
 probably helpful to remember that what you're doing is a
 lot more like describing a schematic in text (much like a
 SPICE netlist, though with some more "programmy" bits) than
 programming in a language like C.  If you have some template
 code you're planning on working with, that's probably a good
 start (there are lots of CPU projects on 
opencores.org, as
 well as a lot of other cores for interfaces like SPI if you
 need them).