Week 1 · Assessment checkpoint

Foundation Assessment

Linux/GVim/Shell + Digital + C++

2.0 hDuration
100Marks
After Day 5Assessment checkpoint
Assessment timing: End of Week 1, after Day 5.
Workbook requirement

Primary deliverable

Scripts + C++ transaction class

Workbook expectation

Pass expectation

Functional output + basic explanation

Assessment detail: Detailed tasks authored for ASIC Campus from the Week 1 workbook scope; the XLS does not contain question-level assessment items.
Before you start

Foundation Assessment Instructions

  1. Duration: 2 hours. Total: 100 marks.
  2. Work individually and keep all files inside one week1_foundation_assessment directory.
  3. Use Linux/GVim and shell commands for file creation, editing and execution.
  4. Commands/scripts must run without manual correction before evaluation.
  5. For the digital-design task, show the required reasoning/equations clearly.
  6. For C++, compile and run the program and preserve the terminal output.
100-mark practical assessment

Assessment Questions & Practical Tasks

All tasks stay within the Linux/GVim/Shell, Digital Design and Basic C++ topics taught in Week 1.

QUESTION 1

Linux + GVim Engineering Workspace

Linux/GVim
20 marks

Create the Week 1 assessment workspace under project_workspace/week1_foundation_assessment/ with rtl, tb, scripts, logs and docs directories. Create representative files, set sensible permissions, then use GVim to edit a small Verilog text file and perform a signal-name search/replace.

Requirements
  • Use pwd/cd/ls and file/directory commands to build and inspect project_workspace.
  • Demonstrate copy/move operations and one permission change with chmod.
  • Use find or grep to locate relevant files/text.
  • Use GVim search/replace and save the edited file.
Evidence to submit

Directory tree or terminal listing, command history/reference, final edited RTL text file.

Marking

Workspace correctness 8; Linux command use 6; GVim edit/search-replace 4; explanation 2.

QUESTION 2

Shell Automation and Log Summary

Shell automation
25 marks

Write a reusable Bash script that accepts a log filename, verifies that the file exists, counts PASS/FAIL and ERROR/WARNING entries, prints a summary, and returns a meaningful exit status. Add a clean/setup helper or Makefile target for repeatable use.

Requirements
  • Use at least one command-line argument and an if/case decision.
  • Use grep and shell variables; use a loop or function where appropriate.
  • Handle a missing input file without crashing.
  • Show one successful run and one failure/error-handling run.
Evidence to submit

Executable script(s), sample input log, captured terminal output, short explanation of exit status.

Marking

Functional script 12; PASS/FAIL/error processing 6; error handling 4; readability/explanation 3.

QUESTION 3

Digital Design Reasoning

Digital design
20 marks

Solve a compact digital-design worksheet covering signed/two's-complement arithmetic, Boolean simplification, combinational logic and sequential/FSM reasoning. Include a block-level 4-bit ALU design with four selected operations.

Requirements
  • Show working for number-system/two's-complement conversion.
  • Simplify one Boolean expression and show the resulting logic.
  • Provide truth-table/equation reasoning for one combinational function.
  • Draw the 4-bit ALU block diagram and state its operation-select behaviour.
  • Answer one clock/reset or Moore-vs-Mealy reasoning question.
Evidence to submit

Completed worksheet/notes with equations, truth table(s), ALU block diagram and brief explanation.

Marking

Arithmetic 4; Boolean/combinational 6; ALU architecture 6; sequential/FSM reasoning 4.

QUESTION 4

C++ Transaction Class

Basic C++
25 marks

Implement a small transaction model in C++ using a class and constructor. Add a derived transaction class to demonstrate inheritance and provide a display/print method that shows transaction fields.

Requirements
  • Use variables and at least one function/method.
  • Create a Transaction class with meaningful fields and a constructor.
  • Create one derived class and demonstrate inherited behaviour/data.
  • Instantiate objects, compile and run the program, and print deterministic output.
  • Briefly explain class, object, constructor and inheritance in the submitted code/comments or notes.
Evidence to submit

C++ source file(s), compile command, executable/run output and short explanation.

Marking

Class/constructor 8; inheritance 6; functional compile/run 6; code clarity/explanation 5.

QUESTION 5

Integration, Debug and Explanation

Foundation integration
10 marks

Run the submitted scripts/program from the prepared project_workspace, correct any observed issue, and explain the final flow from files → command/script → output. Be prepared to explain one Linux command, one shell decision, one digital-design result and one C++ construct.

Requirements
  • Final commands execute from the submitted project_workspace.
  • Outputs are reproducible.
  • Learner can explain the key result rather than only showing files.
Evidence to submit

Final run output plus brief written/oral explanation.

Marking

Reproducible execution 4; debug/correction 3; explanation 3.

Submission checklist

Required evidence

  • project_workspace/week1_foundation_assessment/
  • Shell script(s) and any helper/Makefile
  • Sample log and output summary
  • Digital-design worksheet/ALU architecture
  • C++ transaction source and run output
  • Brief README describing how to run the work
Completion gate

Pass criteria

  • Total score meets the programme/instructor pass threshold.
  • Shell automation and C++ transaction model must produce functional output.
  • Submitted work must be reproducible from the learner project_workspace.
  • Learner must provide the basic explanation required by the workbook assessment.