PLP: A community driven open source platform for computer engineering education

This paper is a detailed technical description of the Progressive Learning Platform (PLP). The PLP system is a System on aChip design with accompanying tools reflecting a contemporary CPU architecture. The paper is intended to be a referencefor users who are interested in using the platform, developers who intend to contribute to the project, educators who wouldlike to adopt PLP in their computer engineering course, and engineering education researchers who would like to use PLPas a vehicle for conductingresearch. Allhardware components of PLPare written in Verilog HDL,are open source,and arefreely available. To support the hardware components, a unified assembler, cycle accurate emulator, and board interfacesoftware package is included. The software is written in Java, works on Linux, Windows, and Mac OS, is open source, andis freely available. The PLP hardware and software components are licensed under the General Public License version 3 toencourage open access and contribution. All parts of the system are publicly hosted and a public mailing list is used to serveas a communication channel between users and developers of the system.