Abstract
We describe the design of an undergraduate compilers course that is explicitly intended to teach software engineering concepts and skills in addition to compiler concepts. This objective is accomplished by structuring the course around two parallel learning progressions rather than around the logical structure of a compiler. The nominal purpose of the project is to develop a simulator and synthesizer for simple circuits written in a subset of VHDL. This subset of VHDL is translated to a simple LL(1) boolean formula language. The circuit simulator reads and writes binary waveforms according to a regular grammar. The students start working with the simple waveform language and work their way up to the subset of VHDL. As the complexity of the input language and transformations increases, new software engineering concepts are introduced to help manage that complexity. At the end of the project the students can simulate and synthesize simple circuits such as a ripple-carry adder or a multiplexer.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.