Up

Recommended Specification Outline

Hardware projects

  1. List of team members.

  2. The exact title of your project (it can be different than a corresponding project topic proposed by the instructor; it should take into account the exact scope of your project).
  3. Introduction and motivation. Placement of the problem in the broader research area. Why is this project worth working on? Why is it original? Why is it practical?

  4. Design entry method (e.g., VHDL, Verilog, C, C++, System C, etc.), target platforms (e.g., Xilinx Artix-7, Altera Cyclone V, SmartFusion2, Zynq 7000, etc.), CAD tools used to specify, synthesize,  implement, and verify the design (e.g., Xilinx Vivado, Xilinx ISE, ModelSim, Xilinx Vivado HLS, LegUp, Altera Quartus Prime, ATHENa, Minarva, etc.).

  5. Additional libraries and/or earlier developed code to be used in the project.

  6. Detailed assumptions (e.g., optimization target(s), use of embedded resources, performance metrics, etc.).

  7. Circuit interface.

  8. References to the detailed descriptions of the implemented functions.

  9. List and initial analysis of similar designs reported earlier in the literature or on the web.

  10. Procedures for testing the functionality and performance of the circuit(s), including

    • The simulator in use.

    • The source of test vectors.

    • Performance parameters to be determined using the tools (e.g., maximum clock frequency, latency for a single message block, throughput for long messages, power consumption, etc.). 

    • Resource utilization parameters to be determined using the tools (e.g., number of CLBs/ALUTs/LEs, number of BRAM/Memory Blocks, number of DSP units, minimum size of FPGA device able to hold the circuit, etc.).

  11. Plan of simulation experiments to be performed using the circuit(s). Plans regarding verification of the design(s) using prototyping boards (if any).

  12. Time schedule, including intermediate goals (please be as concrete and specific as posssible!) to be achieved by the dates of progress reports: Nov. 2, Nov. 17, and Dec. 1.

  13. A list of possible areas, where the specification can change depending on the progress of the project.

  14. Tentative table of contents of your final report.

  15. List of literature, following the IEEE Citation Style Guide.

  16. Anything else you consider important.
     

Software projects 

  1. List of team members.

  2. The exact title of your project (it can be different than a corresponding project topic proposed by the instructor; it should take into account the exact scope of your project).
  3. Introduction and motivation. Placement of the problem in the broader research area. Why is this project worth working on? Why is it original? Why is it practical?

  4. Language, compiler, development and execution platform used for a primary implementation. The program portability to other platforms.

  5. Additional libraries and/or earlier developed code to be used in the project.

  6. Detailed assumptions (e.g., optimization target(s), restrictions on the amount of memory used, etc.).

  7. Detailed specification of the input and output of the program(s), including the exact format of input/output files.

  8. References to the detailed descriptions of the implemented functions.

  9. List and initial analysis of similar programs reported earlier in the literature or on the web.

  10. Procedures for testing the functionality and performance of the program(s). Source of test vectors.

  11. Plan of experiments to be performed using the program(s).

  12. Time schedule, including intermediate goals (please be as concrete and specific as posssible!) to be achieved by the dates of progress reports: Nov. 2, Nov. 17, and Dec. 1.

  13. A list of possible areas, where the specification can change depending on the progress of the project.

  14. Tentative table of contents of your final report.

  15. List of literature, following the IEEE Citation Style Guide.

  16. Anything else you consider important.

Analytical projects

  1. List of team members.

  2. The exact title of your project (it can be different than a corresponding project topic proposed by the instructor; it should take into account the exact scope of your project).
  3. Introduction and motivation. Placement of the problem in the broader research area. Why is this project worth working on? Why is it original? Why is it practical?

  4. List of alternative solutions (protocols/algorithms/implementations) you are planning to explore.

  5. Tentative list of evaluation criteria.

  6. Mutual dependencies among various evaluation criteria.
  7. Detailed description of problems/hypotheses you are planning to investigate.

  8. A tentative list of questions you will be seeking an answer to.

  9. Procedure/experiments used for verifying the results of your investigation.

  10. Time schedule, including intermediate goals (please be as concrete and specific as posssible!) to be achieved by the dates of progress reports: Nov. 2, Nov. 17, and Dec. 1.

  11. A list of possible areas, where the specification can change depending on the progress of the project.

  12. Tentative table of contents of your final report.

  13. List of literature, following the IEEE Citation Style Guide.

  14. Anything else you consider important.