The laboratory environment of the URI Integrated Computer Engineering Design (ICED) curriculum
While many computer engineering curricula contain significant design projects encompassing either hardware or software, most do not integrate these experiences, are short-term in nature, lack exposure to industrial design tools, do not have hands-on experience, or lack continuity. URI's new ICED undergraduate curriculum addresses these issues through a comprehensive multi-year project. The project entails the design and construction of both the hardware and software of a computer, including the compiler, CPU, bus, memory, and I/O. An Ethernet-like network interface is also designed and built, and students' computers are interconnected. Hardware, software, and design-time tradeoffs are examined and made throughout the project. Computer engineering principles come to life in the investigation and design of real and integrated hardware and software. This paper describes the laboratory environment of the ICED curriculum. The pedagogical use of industrial CAD logic design and synthesis tools at multiple levels is given, including: state machine, VHDL, and gate levels. The physical hardware used to realize the system's logical design is discussed, including the use of both a high-density field programmable gate array (FPGA) and discrete digital and analog circuits. Mechanisms are described that provide correlation between analog signals, digital signals, corresponding assembly code, and high-level source code. Thus, the student is able to intimately investigate and to understand the impact of hardware, application software and compiler design decisions on computer system performance and cost.