skip to main content
10.1145/3587102.3588858acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Variations on "From Nand to Tetris" with Logisim and ARM

Published:30 June 2023Publication History

ABSTRACT

This paper shares experience with using Logisim to complement the hardware specification approach and accompanying simulator for the projects in "From Nand to Tetris" (N2T; Shocken et al., SIGCSE'09). Student feedback indicates that Logisim enhances the visualization of the main concepts and can be used effectively in parallel with the framework developed in N2T. This is achieved via an external Logisim library implemented by the authors that extends the rich set of components available in Logisim with the specialized circuits required in N2T (e.g ALU, CPU, Screen, Keyboard). Upon completing the projects the students are able to execute the same machine code for a Pong-like game on their Logisim and N2T computers.

References

  1. Salman Arif. 2015. VisUAL: A Highly Visual ARM Emulator. https://salmanarif.bitbucket.io/visual/index.htmlGoogle ScholarGoogle Scholar
  2. Michael Black and Nathaniel Waggoner. 2013. Emumaker86: A Hardware Simulator for Teaching CPU Design. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE '13). Association for Computing Machinery, New York, NY, USA, 323--328. https://doi.org/10.1145/2445196.2445294Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Michael David Black and Priyadarshini Komala. 2011. A Full System X86 Simulator for Teaching Computer Organization. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (Dallas, TX, USA) (SIGCSE '11). Association for Computing Machinery, New York, NY, USA, 365--370. https://doi.org/10.1145/1953163.1953272Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Carl Burch. 2002. Logisim: A Graphical System for Logic Circuit Design and Simulation. J. Educ. Resour. Comput., Vol. 2, 1 (March 2002), 5--16. https://doi.org/10.1145/545197.545199Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. John L. Donaldson, Richard M. Salter, Joe Kramer-Miller, Serguei Egorov, and Akshat Singhal. 2009. Illustrating CPU design concepts with DLSim 3. 2009 39th IEEE Frontiers in Education Conference (2009), 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  6. Logisim-evolution. 2022. https://github.com/logisim-evolutionGoogle ScholarGoogle Scholar
  7. Suzanne J. Mathews, Tia Newhall, and Kevin C. Webb. 2022. Dive into Systems. https://diveintosystems.org/Google ScholarGoogle Scholar
  8. Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb. 2021. Dive into Systems: A Free, Online Textbook for Introducing Computer Systems. Association for Computing Machinery, New York, NY, USA. 1110--1116 pages. https://doi.org/10.1145/3408877.3432514Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Noam Nisan and Shimon Schocken. 2001. The Elements of Computing Systems. MIT Press, New York, NY. https://www.nand2tetris.org/Google ScholarGoogle Scholar
  10. Linda Null and Julia Lobur. 2003. MarieSim: The MARIE Computer Simulator. J. Educ. Resour. Comput., Vol. 3, 2 (June 2003), 1--es. https://doi.org/10.1145/982753.982754Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. David A. Poplawski. 2007. A Pedagogically Targeted Logic Design and Simulation Tool. In Proceedings of the 2007 Workshop on Computer Architecture Education (San Diego, California) (WCAE '07). Association for Computing Machinery, New York, NY, USA, 1--7. https://doi.org/10.1145/1275633.1275635Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Shimon Schocken. 2012. Taming Complexity in Large-Scale System Projects. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (Raleigh, North Carolina, USA) (SIGCSE '12). Association for Computing Machinery, New York, NY, USA, 409--414. https://doi.org/10.1145/2157136.2157259Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Shimon Schocken. 2018. Nand to Tetris: Building a Modern Computer System from First Principles (Abstract Only). In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Baltimore, Maryland, USA) (SIGCSE '18). Association for Computing Machinery, New York, NY, USA, 1052. https://doi.org/10.1145/3159450.3162353Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Shimon Schocken, Noam Nisan, and Michal Armoni. 2009. A Synthesis Course in Hardware Architecture, Compilers, and Software Engineering. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (Chattanooga, TN, USA) (SIGCSE '09). Association for Computing Machinery, New York, NY, USA, 443--447. https://doi.org/10.1145/1508865.1509021Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Derek C. Schuurman. 2013. Step-by-Step Design and Simulation of a Simple CPU Architecture. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE '13). Association for Computing Machinery, New York, NY, USA, 335--340. https://doi.org/10.1145/2445196.2445296Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Timothy Stanley, Nathan I. Kim, Yiu-Ming Chan, Ji Zheng, and Leslie Fife. 2009. Experiences in Teaching Computer Architecture. J. Comput. Sci. Coll., Vol. 24, 4 (apr 2009), 46--52.Google ScholarGoogle Scholar
  17. Timothy D. Stanley, Thanh Quach Xuan, Leslie Fife, and Don Colton. 2007. Simple Eight Bit, Emulated Computers for Illustrating Computer Architecture Concepts and Providing a Starting Point for Student Designs. In Proceedings of the Ninth Australasian Conference on Computing Education - Volume 66 (Ballarat, Victoria, Australia) (ACE '07). Australian Computer Society, Inc., AUS, 141--146.Google ScholarGoogle Scholar

Index Terms

  1. Variations on "From Nand to Tetris" with Logisim and ARM

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1
      June 2023
      694 pages
      ISBN:9798400701382
      DOI:10.1145/3587102

      Copyright © 2023 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 30 June 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate552of1,613submissions,34%

      Upcoming Conference

      ITiCSE 2024
    • Article Metrics

      • Downloads (Last 12 months)59
      • Downloads (Last 6 weeks)9

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader