This e-book explains and illustrates how to develop hardware-software digital systems from high level functional specifications and prototype them on to FPGA hardware using standard hardware description and software programming languages. The demonstrator system is based on a simple 8-bit microprocessor (to be designed in Verilog from an instruction set architecture description) with a number of peripherals (mouse, VGA and Infra-red transmitter). The microprocessor will be programmed in Assembly. An Assembler that takes Assembly code and automatically generates binary code is developed using the Flex and Bison tools.