Digital logic instruction is typically a core component of Computer Science (CS), Electrical Engineering (EE), and Computer Engineering (CpE) curricula. Most often, students are exposed to digital logic concepts early in their programs as a foundational stepping stone. CS students in particular are introduced but never pursue these fundamental ideas further as they progress through their CS degree programs. Instructors and students alike would benefit from a single tool that would provide a wide variety of functionality and support for visualization to reinforce concepts that are presented in this foundational course. In this research, we present the Program Encryption Toolkit (PET) and its associated graphical user interface (PETGUI) as a freely available, potential resource for both educators and students who are learning early concepts related to digital logic. In addition, we relate anecdotal experience from using PETGUI to engage undergraduate CS students to further their knowledge of computer and electrical engineering, realizing that such knowledge can be used in multi-disciplinary research at the undergraduate level and beyond. Our experience involves introducing PET later in an undergraduate CS-based digital logic course (CSC-228) as a means for recruiting UG students who would be interested in cybersecurity and as a means to unify digital logic concepts into CS-related fields of study. The tool has also been successfully used to demonstrate capstone course project concepts related to a ground-up design for a component-based digital logic CPU. PET itself encompasses Java software contributed by Undergraduate, Master's and PhD researchers over a 15-year period and is used primarily to further research students in circuit-based obfuscation and de-obfuscation in support of protection against adversarial hardware attacks. For digital logic courses, PETGUI offers a rich set of useful functionalities that can be integrated into course curriculum and uses BENCH netlist format as the primary circuit representation form. The software integrates popular algorithms and synthesis tools such as Espresso and ABC in an easy to use interface. Visualization from a graph-based library provides the ability to see relationships between circuit form, structure, and functional representations. Features include: 1) truth table generation, 2) circuit simulation, 3) schematic and graph-based circuit views, 3) generation of canonical form equations, 4) transformations of circuits into canonical and reduced forms, 5) generation of KMAPs, 6) generation of reduced Minterms/Maxterms, PLA, and BLIF formats, and 7) generation of structural VHDL and equational Verilog. It also supports advanced concept exploration for Binary Decision Diagrams (BDD) and cryptographic properties of Boolean functions. In addition, our anecdotal experience shows how UG students can engage in extension of this toolkit while learning software engineering concepts, object-oriented analysis and design, team-based development, and GUI/event-driven programming. 1 https://embedded.eecs.berkeley.edu/pubs/downloads/espresso/index.htm 2 http://people.eecs.berkeley.edu/~alanmi/abc/
No takes yet. Share an insight, caveat, or question.
McDonald et al. (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: