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).