This Research-to-Practice Work-In-Progress paper proposes a state-of-the-art method of "hardware-software co-design" (HSC) based on FPGA. The main contributions were: (1) Optimizing Curriculum System from hierarchical structure to vertical structure. The traditional computer courses are taught horizontally and independently which ignores the connection between software and hardware. Therefore, we adopt a coherent curriculum and teaching is vertically structured and logically sequenced to reconstruct the contents from loose coupling to tight coupling; (2) Optimizing teaching process from Software-Hardware to Hardware-Interface-Software. We establish a closed-loop teaching framework by designing some tightly coupled projects to integrate hardware, interface and software together; (3) Optimizing teaching method from complex to simple. Complex teaching tries to entirely develop a real system in one time but it is too difficult to implement. Based upon the theories of Occam's razor and Separation of Concern, simple teaching eliminates unnecessary knowledge and decouples the complex system into single and simple modules; (4) Optimizing teaching objectives from solving basic academic problems to solving complex engineering problems. To train engineering talents, we use industrial methods to solve industrial problems which meet industry standards. Finally, evaluation based on a capability-maturity model like CDIO-CMM (CDIO Capability-Maturity Model) was done by means survey questionnaire and the results indicate hardware-software co-design can effectively improve students' ability of system design and the proportion of students at advanced level is increased from 13% to 37%.
[1]
Ingrid Verbauwhede,et al.
Teaching HW/SW codesign with a Zynq ARM/FPGA SoC
,
2018,
2018 12th European Workshop on Microelectronics Education (EWME).
[2]
Zhiwei Xu,et al.
Computer Organization and Design Course with FPGA Cloud
,
2019,
SIGCSE.
[3]
Lech Józwiak,et al.
Learning in hardware: architecture and implementation of an FPGA-based rough set machine
,
1999,
Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.
[4]
Jeroen Ooms,et al.
The OpenCPU System: Towards a Universal Interface for Scientific Computing through Separation of Concerns
,
2014,
ArXiv.
[5]
Aviral Shrivastava,et al.
Introduction to Hardware/Software Codesign
,
2017,
Handbook of Hardware/Software Codesign.
[6]
Wayne Wolf,et al.
Hardware-software co-design of embedded systems
,
1994,
Proc. IEEE.
[7]
Ingrid Verbauwhede,et al.
Teaching HW/SW Co-Design With a Public Key Cryptography Application
,
2013,
IEEE Transactions on Education.
[8]
Edward F. Crawley,et al.
Benchmarking engineering Curricula with the CDIO Syllabus
,
2005
.
[9]
Markus Weinhardt.
Teaching Hardware/Software Codesign on a Reconfigurable Computing Platform
,
2012,
ARC.
[10]
Mauricio Solar,et al.
A Maturity Model for Assessing the Use of ICT in School Education
,
2013,
J. Educ. Technol. Soc..
[11]
Diya Joseph,et al.
An exercise on hardware/software codesign following the RISC model
,
2016,
Comput. Appl. Eng. Educ..