From 01xz - Digital Logic and Computers
This site contains tools that help you learn the fundamentals of the design of computers
- HDLBits: A problem set and online judge to practice digital circuit design in Verilog
- ASMBits: Just like HDLBits, but for practicing Nios II or ARMv7 assembly language
- CPUlator: An in-browser full-system MIPS, Nios II, and ARMv7 simulator and debugger
These tools were originally created to complement second-year undergraduate computer engineering (digital logic and computer organization) courses at the University of Toronto, and have since been used by other similar courses.
Why were these created? Practice is essential when learning any new language (or anything else, really). These tools were created to make it quick and easy to do more practice on short problems.