Laboratory Requirements

  1. Pre-lab report is due before your lab. No one can start the lab experiment without a satisfactory pre-lab report.
  2. Lab reports are due before your next lab meeting time, i.e. starting from the 2nd lab, you will hand in both the pre-lab for the current lab, and the lab report for the previous lab experiment at the meeting of each lab. There will be a late penalty of 10% for each day after the due date.
  3. All pre-lab reports and lab reports are to be done individually and independently. Don't plagiarize! You may work with your partner during lab experiments.
  4. You are expected to do your lab within the assigned lab time.

Requirements for Lab Reports and Project Reports

Pre-laboratory Report Format

Laboratory Report Format

In addition to the above format, each of your lab report and your project report should clearly demonstrate the following:

A.     What knowledge of mathematics, science and engineering have you applied in the lab or project?

B.     How did you design the lab/project (including architecture, flowchart, programs, etc.)? How did you conduct the experiment? What is your interpretation and conclusion on the experiments?

C.     Who are your team partners? How did you collaborate with each other and what roles did each of the team members play in the lab/project?

D.    Specific modern engineering tools have you used in your experiments. What specific techniques and skills have you learnt from the lab/project?

E.     Each lab report should consider and discuss at least 3 of the following specific constraints. (specific suggestions will be given in each lab handout) and your project report should include all of the following constraints.

                                 I.      Economic Constraint: One of the main concepts and issues in computer design is Performance/Cost ratio. As a computer engineer, it is very important to design an optimal system with the limited resources available. In your design project, you should take into account performance/cost ratio so as to design an optimal system with minimum cost possible. You should also present a brief analysis in terms of performance and cost. We have discussed these in depth in class lectures. Examples include, but are not limited to, the fact that fully associative cache has the highest performance and highest cost while direct-mapped cache is least expensive but suffers high conflict miss ratio. Many current computer designs make a compromise resulting in set-associative mapped cache, which reduces hardware cost while giving reasonably good performance. Another example occurs in the design of interconnection networks. A crossbar is the most expensive and has highest connectivity while a single shared bus is least expensive but has limited bandwidth. We examined several alternatives and compared the cost and performance of each. For each concept and example introduced in the class, different alternatives and assumptions are presented. You should be able to critically evaluate them for pros and cons, exercise trade-offs, cost-effectiveness. You should perform a similar analysis in your design project.

                               II.      Manufacturability, Modularity and Expandability Constraints: A component/system design will eventually go to manufacturing. As an engineering designer, it is important to keep manufacturing constraints in mind while designing a computer system. In general, modular designs have good manufacturability and scalability. Synchronous vs. asynchronous bus timing is a good example. Synchronous timing is simple but lacks modularity because of the clock distribution and clock skew problems. Asynchronous timing, on the other hand, is easily expandable and can accommodate a variety of devices connected to a bus. This principle is true from basic CPU design (ALU core, cache, control modules), memory systems (memory modules and interleaving), to interfaces (industry standard such as RS232, IEEE standards). Software designs have similar issues. Modular design makes software production clean and simple. To make your designs facilitate better manufacturability, you should keep these in mind while carrying out design projects. For example, in memory hierarchy design, we use cache memory. You should ask why we use write-through cache as opposed to copy-back cache in one environment while we do just the opposite in another environment, why we have multiple levels of hierarchy, and why locality property changes and so forth.

                             III.      Sustainability: Is your design and implementation sustainable? How would you enhance the sustainability of your design and implementation.

                             IV.      Environmental Constraint: In your design and implementation, you should keep in mind the impact on environment. For example, low power consumption equipments are environmental friendly. There are possibly other considerations in your engineering practice with environemental constraint.

                               V.      Ethical Constraint: Engineering ethics is covered implicitly throughout the CE curriculum and explicitly in ELE 400. You have now come to your senior year and you have been well trained as a responsible engineer. Your project work should be carried out in accordance with the IEEE Code of Ethics. The final project report should include a signed statement to this effect along with a copy of the IEEE Code.

                             VI.      Health and Safety Constraint: While working on computer design and implementation does not pose significant health hazard as in other engineering disciplines, you should take health and safety issues into consideration in your design project. The embedded microprocessor systems are widely used in many engineering systems. One typical example is to use them to control airbags, antilock brakes, and cruise control on automobiles. Correct and precise microprocessor system designs are absolutely essential to health and safety of general public. Another aspect of safety is data safety in todays E-world. All-important data such as financial and national security are stored in computer storage system. One of the possible design projects is to design a disk controller. You should have a clear understanding of the importance of data safety on disks. A loss of a piece of data or an error resulting from transmission or read/write may result in a disastrous event.

                           VII.      Social and Political Constraint: Computer technology is changing our life and impacting every aspect of our daily life. It is changing the way we live, the way we work, and the way we play. It will certainly have a social and political impact. The social and political impact of computers may vary depending on your design concentration. If you are to design a network bridge, data security and integrity may have social and political impacts in many different ways. For example, privacy law does not allow personal information to be revealed to the public. However, a bridge has the ability to read all information passing through it since it works in a promiscuous mode some time. Therefore, social and political constraints should be taken into account while making such a design project.