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
Duration: 2 hours. Total: 100 marks.
Work individually and keep all files inside one week1_foundation_assessment directory.
Use Linux/GVim and shell commands for file creation, editing and execution.
Commands/scripts must run without manual correction before evaluation.
For the digital-design task, show the required reasoning/equations clearly.
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.
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.
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.