Hard Core vs. Soft Core: A Debate

Antonio Mondragón, Jeanne Christman · 2020

Abstract Hard Core vs. Soft Core: A DebateToday’s Computer Engineering Technology students have the opportunity to learn embeddeddesign in both physical and virtual environments. Current technologies allow for such a highlevel of integration that digital and embedded designs can no longer be implemented usingdiscrete components that are easily accessible to students for prototyping and debugging.Educational platforms currently available are in the form of microcontroller populated boards(hard core processors) or programmable logic device boards. In the later, students can instantiatea configurable, soft core processor comparable to the one provided in the former. This leaveseducators with two distinct options for teaching embedded systems and low level programmingcourses (Note: there can be hard core processors within a programmable logic device, howeverthis paper is referring to a hard core processor as a stand-alone component).This paper is a dialogue between two faculty members, one defending design using hardcomponents, assembly and laboratory testing, and the other using soft components, simulationand verification. The objective of the paper is to highlight the tradeoffs that both methodologiesoffer and the equilibrium that needs to be reached in order for students to receive the maximumexposure to both domains. Some of the tradeoffs debated are in terms of: visibility to internalsignal behavior, testability, design flexibility, cost, power consumption, student learning curve,availability, industry training, upgradeability, hardware-software partitioning, student’sengagement, rapid prototyping, and user interfaces.While evaluating the advantages and disadvantages of both approaches to teaching embeddeddesign, the underlying goal that is always considered is that students become proficient designerswhile obtaining the skills that are current by today’s industry standards.

Read the paper · More papers on PaperTik