A proposal for the reorganisation of Digital Systems Structures (COMP2021) and laboratory support for the understanding of digital systems structures and design ======================================================================= SUMMARY ------- The Digital Systems Structures (DSS) course has traditionally been viewed as a service course to Comp Arch, Micros, OS, and Compilers. However the current content has too much emphasis on low-level digital design and assembly language programming and it does not emphasise the principles of systems development for support of computational and system needs. These inadequacies are partly being addressed by reintroducing a Systems strand to COMP 1B (COMP1021). However, a reorganisation of DSS is also needed. The main issue is that the existing laboratory component, based on an experimental kit designed in the early 90s, focuses on the wiring and testing of discrete logic solutions to simple combinational and sequential problems. This is dated and limiting. We propose changes to DSS that: 1. Build on the Systems strand in COMP 1B; 2. Enhance its content to serve as an adequate foundation for today's technologies and systems by including instruction on: a. modern digital design methods commencing with design entry and simulation and b. the use of schematic capture and hardware description languages; and 3. Put these techniques into practice using a Windows-based design environment (Foundation Student Edition) and give students the opportunity to implement their solutions on a purpose-designed test board in order to gain familiarity with a complete design cycle. These changes require the use of new laboratory equipment and infrastructure that can support the study of fundamental and advanced aspects of digital systems design. We anticipate that our proposed equipment will also satisfy the needs of Comp Arch, a future advanced course in co-design solutions, embedded systems design, and possibly OS. GOALS FOR DSS ------------- * gain an understanding of the structure, function, operation, and control of modern processor components: datapath, control unit, and memory * gain an appreciation for the role played by assembly language in the function of programmable and general-purpose systems * gain an understanding of digital hardware design methods and issues PROPOSED DSS COURSE OUTLINE --------------------------- - assembly language level + machine model . von Neumann model + memory model + fundamental data-types and operations + language for controlling the machine . sequencing; branching [; looping] . memory addressing modes . mapping from HLL to AL = control structures = data structures = function calls . ISA - hardware + structure (and control) of . datapath . control unit . memory . i/o devices + design principles . combinational design . sequential design + design tools and methods . design entry by schematic capture and HDL . functional simulation + implementations . general purpose . application specific PROPOSED LABORATORY SUPPORT --------------------------- The proposed DSS laboratory consists of two components: (i) a Windows-based digital design environment, and (ii) a purpose-built peripheral digital design board, comprising a simple processor, programmable logic device, and memory. This set-up will provide a simple processor model for assembly programming that can be supported with a monitor to allow processor state to be observed on a cycle-by-cycle basis. Moreover, we shall be able to develop and monitor hardware-based solutions to identical problems, thereby providing students with a tool to explore the relative merits of the two approaches while learning the concepts of low-level programming as well as processor and digital circuit design. Such a laboratory will complement the course syllabus and enhance the learning of modern design methods and practice, and give students an appreciation of CAD tool design issues. The new laboratory will allow non-trivial designs to be built and tested. WINDOWS-BASED DIGITAL DESIGN ENVIRONMENT ---------------------------------------- * suitable design software (synthesis, simulation, and physical design tools) are largely Windows-based * DSS lends itself to the introduction of industry standard design tools such as VHDL - the current leading texts that are considered adequate for the course as proposed here are supplied with such Windows-based software and design exercises PROPOSED DIGITAL DESIGN BOARD ----------------------------- * designed to allow investigation of general-purpose and application- specific solutions * designed to allow comparison between the two design styles based on a number of metrics including cycle count, clock speed, complexity, and cost * will allow the design of advanced, co-operative applications in third and fourth year courses. * will interact with host via Windows-based GUI that will allow the processor and programmable logic status to be examined in real-time * will allow single-stepping and visualization of program execution