Project Part A

Project groups will be formed to apply the system-level design methodology to a small-scale system using SpecC and SystemC.

Objectives

  1. Follow the system-level codesign methodology to develop and refine models, including specification model, architecture model, and communication model (optional).
  2. Manage the scope of the project, modeling parts of the system with some detail while simplifying other parts within the time constraints of the project.
  3. Simulate each model and verify correctness.

Part A Work

  1. Project proposal: propose group and describe the system/product (WebCT)
    • Small groups of 2-4 students.
    • Consider different levels of detail for different system functions.
    • Complexity of system: include at least one sensor and/or data input function, a control loop, a data processing function, and multiple processing elements.
  2. System modeling
    • Write a C version of the system (C++, Java, etc. also acceptable).
    • Create a program state machine diagram of the system.
    • Write a SpecC specification model and simulate.
  3. Refinement
    • Develop a SpecC architecture model and simulate. Select at least two processing elements. Verify correctness/equivalency with specification model.
    • Create a program state machine diagram for the model.
  4. Use of tools on WebCT
  5. Self-paced learning
  6. Off-campus students: see below

End-of-Month Deliverables

  1. Web page
    • Group members
    • Project description
    • Model code
    • Model diagrams
    • Simulation results
    • Itemization of refinement rules applied to develop each model

Off-Campus Student Options

  1. Propose a project, individually or in a group, and proceed as above.
  2. Join an existing project as an evaluator. Test the group’s models with your own testbench. Alternatively, write a review on the group’s use of the methodology (strengths, weaknesses) and the modeling results.
  3. Join an existing project as a designer. Add a function to the specification model and perform refinements into subsequent models.
  4. Other student-proposed options

Looking Ahead

Part B work: Use SystemC for one or more models. Complete a creative component (communication model, use of IP, performance estimation, optimization, implementation, etc.)

Note: You may manually develop a model using the guidelines, or you may use the SoC Environment (SCE) tool. If you use the tool, you must analyze the resulting code and itemize the rules that were automatically applied.