EECS 373: Introduction to Microprocessor Systems

  Fall 2016
rev 9/25/16

Lab Hours

The following link is the current weekly home and staffed open lab hours. 373 and 473 students have priority for stations during their lab session.

Lab Postings and Schedule

Each lab assignment is indicated as a link to Lab #. Important  support documents such as  tutorials and examples are also listed with each lab. Each assignment is due during the week indicated  within the first hour of the home lab unless an exception is noted. See below for details regarding submissions, late policies and assignment types.


Support Docs

Lab Ans
Lab Ans
 Lab Ans

Schedule Exceptions, Notes

Hardware Tools
Lab 1

Lab 1 Submission Form
(word doc)
Libero Tutorial
Basic Lab Equipment Introduction
Verilog Refs
Demo Sheet
Getting Started in the Lab

  Gradescope Submission Guide
. . .
Labs start this week.
There is no Pre-lab assignment and no preparation is necessary.
Do the lab tutorial and complete the lab assignment for next week.

Software Tools
Lab 2

Lab 2 Submission Form
(word doc)




Memory Mapped IO
Lab 3

PreLab 3 Submission Form
(word doc)

In/Post Lab 3 Submission Form
(word doc)
APB3 Protocol Specification


Pre-lab 3 must be completed/submitted individually

Lab 4
Lab 4 Submission Form
(word doc)

SoftConsole Assembly Reference

3 3



Part 1 Verilog Timers
Lab 5

Lab 5 Submission Form
(word doc)

4 4


Lab 5 Part 2 Virtual Timers

.  5


Serial Interfacing/Buses
Lab 6

Lab 6 In Lab Submission Form
(word doc)

Lab 6 Post Lab Submission Form
(word doc)


Fall Break Monday (10/17)  and Tuesday (10/18)
Tu Lab assignments due Wed.



. 6


Lab 7

Lab 7 Submission Form
(word doc)
. . 6

Project Proposal Due ?

project page

project proposal example
 . . .  7



project . .  . .


. .   .


. .   .


. . .



Project Exhibition This Week
Project/Lab Clean Up
 . . . .
Project Exhibition Dec 13,  Place TBD


Project Clean Up Must be Completed and Verified by TBD, Midnight
See Project Clean Up Link for Details


Each lab may have one more of the following parts.

Pre-Lab (Pre-Lab Ans)
The pre-lab typically consists of a set of questions designed to provide you with essential lab background. This assignment must be completed and submitted individually. Presently only lab 3 has a pre-lab assignment.

In-Lab Questions (In Lab Ans)
Many of the labs have a few questions posed during an in-lab exercise. Answers to these questions or screen shots from logic analyzers or scopes can be completed by the lab team and submitted by the lab team. Be sure to include everyones name on the submission.

Lab Demonstration (Lab Demo)
All labs will have one or more demonstrations that you will perform for the lab instructor. A demonstration must be filled out with all group members names, signed, dated and collected by one of the lab staff.

Post Lab Questions (Post Lab Ans)
Many of the labs have a few questions posed during an in-lab exercise. Answers to these questions or screen shots from logic analyzers or scopes can be completed by the lab team and submitted by the lab team. Be sure to include everyones name on the submission.

Assignment Submission Policy

Online Submission: Answers to questions, instrument screen shots and code submissions must be submitted with Gradescope.  See this submission guide for specifics.

Hand Written Materials:
Hand written answers to questions especially those requiring diagrams is acceptable as long as it is neat and clear.

Demonstrations must be certified by a 373 lab instructor. A demonstration sheet will be signed and collected by the instructor upon successful completion of the demonstration.  Any 373 lab instructor can certify your demonstration.

Group vs Individual Submissions
: All lab assignments are completed as a group except pre-labs.

Due Time and Late Penalty:
Lab assignments must be submitted by the due times indicated in the schedule. Electronic submissions may be submitted up to this time. Demonstrations must be certified with a 373 lab instructor before this time. Any lab component submitted after the dead line is subject to a 10% per day late penalty.

Common Debugging Problems

See this link to see common debugging problems with Libero, SoftConsole and lab specific issues. The document is periodically updated by the staff so check for updates.

Reference Links

Demonstration Sheet
Libero Tutorial
SoftConsole Assembly Tutorial
SoftConsole C Tutorial
Verilog Examples and References
Lab Safety Pledge

Cortex M3 ARM Guide (Red Book)
SmartFusion Evaluation Kit User Guide
MSS_Users Guide

SmartFusion Evaluation Kit IO Summary
Locating Software in the FLASH Memory

Lab Document Organization
For the most part, the labs start with an example design or walk through style exercise. The intention is that you will develop enough experience with the topic and tools to do  a follow up assignment. The follow up assignment is generally a hardware, software or combination of both design problem. For example, in lab 1 you will do a tutorial showing you how to implement hardware in the FPGA. The post lab assignment asks you to implement a simple hardware application. You will generally be asked to verify your design to the lab staff. There may even be some follow up questions.

Lab Partners

The 373 labs are difficult requiring the efforts of 2 or more people. You should find that it is easier especially with debugging to have someone to bounce ideas off of while you are working. There are also a limited number of stations in 373 limiting solo lab work.

You may choose your lab partner. If you don't know anyone in your section you want to work with, introduce yourself to someone and get started. If you discover you cannot work with your partner, consult the lab coordinator and resolve the issue as soon as possible.

Lab Safety Policy

You will be given 24 hours access to the lab on the first day of lab. Most of the lab time is unsupervised so it is very important that we you follow our safety policies during those times. On the first day you will be asked to read and sign a safety policy document acknowledging your understanding of the policy.

Lab Access
You will be given access to the lab via door keypad entry. You may use the lab anytime there is not a conflict (check lab schedule). It is imperative you follow the posted lab safety and use policy.

Lab Attendance Policy

Home Lab Sections:
You may attend any 373 home lab pending availability and the discretion of the lab instructor. Home lab students always have priority for stations. 

Open Lab Sections:
You may attend ANY staffed 373 open lab section and obtain priority help.

Alternate Resources

Libero and SoftConsole Software in CAEN Labs: Currently these tools are NOT available in the CAEN labs.

Free Libero SoC Web Pack Software: You can download Libero SoC software from the Microsemi website at no cost for your personal use. The software is designed to run on Windows OS. Having the software available for the project phase of the course can be very useful. It takes roughly 60 minutes to install. The lab currently uses Libero SoC version 11.7 with service pack 1. It can be found here. You will need to select the SmartFusion device during the install (not SmartFusion2). Do not install SoftConsole 3.4 with Libero install. It has some issues so we use the older version SoftConsole 3.3 at this link. You will also need to register and obtain a free license (disk ID locked). The instructions for obtaining the free license are here.

Although Microsemi does not officially support Libero or Softconsole on Windows 10 we have verified that it works and we are currently running it in the lab. We have verified that it works in Windows 7 and it should work in Windows 8, but we haven't tried it.

SmartFusion Kits: Each group will be provided a kit. If you want an extra kit they are available for loan. Kits need to be returned at the end of the term.

Lab Accounts

Logon to the W10 loads using your Kerbos PWD.

Changing Home Lab Section

Changing home lab sections is possible, but is limited by lab capacity. See the course lab instructor (Matt Smith) about changing labs the first week of class. 

Lab Staff

Lab Coordinator

Matthew Smith,


Daniel Synder

Yifan Hao

Jay Mulani

Kevin Yang