Skip to content
Tenzok
Home
Services
Student Projects
BlogAboutContact
All student projects

5 scoped briefs

3 mini · 2 major

VLSI & Chip Design

Hardware is not software with a different syntax: the compiler is a synthesis tool, the debugger is a waveform, and the only report that counts is timing, area and power. Student VLSI projects fail the same three ways — RTL that simulates but never synthesises, a testbench that only feeds the cases the designer already thought of, and a claim of correctness with no coverage number behind it — so we build in the opposite order: a self-checking testbench and a coverage goal first, then RTL that closes timing on a board or inside a real PDK. Two of these briefs need an FPGA board (a Basys 3 for the UART, a Nexys A7 for the RISC-V core); the multiplier, the FIFO verification environment and the Sky130 ASIC flow need nothing but a laptop, and every tool here is free — open source, or Vivado's free edition.

SystemVerilogVerilogcocotb / cocotb-coveragePyUVMVerilatorIcarus VerilogYosys / SymbiYosysAMD VivadoLibreLane + Sky130
Start a projectDiscuss a custom brief

The standard

Build the system. Understand every trade-off.

Every brief ends with working software, documented decisions, and evidence you can present—not a folder of code you cannot explain.

Two audiences, one engineering standard

Academic depth meets production discipline.

For students

Pick a brief below, or bring the problem statement your department handed you. We architect it with you, review every commit, deploy it to a real URL, and rehearse the viva until no question surprises you.

See student support

For companies

RTL design and verification support: cocotb and UVM-style testbenches taken to coverage closure, FPGA prototyping, and blocks pushed through synthesis to timing, area and power sign-off on an open PDK.

Discuss a company build

Mini projects

Focused scope. Real engineering.

Three to four weeks. Narrow enough to finish, deep enough that you learn the decision that actually matters.

3 briefs
Mini project3–4 weeks

UART Controller with a Self-Checking Testbench

A synthesisable UART with 16x oversampling and a cocotb bench that checks itself against a golden model — covering the framing, parity and ±2% baud-drift cases a loopback demo quietly hides. The same bench is then re-run on the Yosys netlist, where inferred latches and X-propagation surface.

VerilogcocotbIcarus VerilogYosysAMD VivadoBasys 3 (Artix-7)

You walk away with

  • 16x oversampling receiver with start-bit majority voting
  • Two-flop synchroniser on the asynchronous RX line
  • Self-checking cocotb testbench with randomised stimulus and scoreboard
  • Gate-level re-run of the same bench on the Yosys netlist
  • 115200-baud loopback demo on a Basys 3 board
Mini project3–4 weeks

Pipelined Booth–Wallace Multiplier and MAC Unit

A radix-4 Booth-encoded, Wallace-tree 16x16 multiplier pipelined until it meets a target clock, then benchmarked against the one line of Verilog that would have let Vivado infer a DSP48 slice for free. The comparison is the lesson.

VerilogVerilatorYosysAMD VivadoSurfer

You walk away with

  • Combinational baseline plus 2-stage and 4-stage pipelined variants
  • Randomised equivalence test against a Python golden model
  • Signed corner cases including −32768 × −32768
  • fmax / LUT / FF / DSP table across all four builds
  • Post-implementation critical path named in the timing report
Mini project4 weeks

AES-128 Core Through the Open Sky130 ASIC Flow

A small iterative AES-128 core taken from RTL to a DRC-clean and LVS-clean GDS-II on the Sky130 PDK with LibreLane — no tapeout at the end, just the layout and the reports. The RTL is deliberately small so the weeks go into the flow: floorplan, utilisation, timing closure, and a power number honest about the switching activity behind it.

VerilogcocotbLibreLane (formerly OpenLane 2)Sky130 PDKOpenSTAMagic + Netgen

You walk away with

  • Iterative AES-128 datapath passing the FIPS-197 vectors pre-synthesis
  • DRC-clean, LVS-clean GDS-II from a LibreLane run on Sky130
  • Post-route setup and hold slack from OpenSTA at a stated clock
  • Cell area and utilisation figures from the routed DEF
  • VCD-annotated power report with its switching-activity assumptions stated

Major projects

Capstones you can defend.

Ten to twelve weeks. Architecture, trade-offs, failure modes, deployment, and evidence—the project that carries an interview.

2 briefs
Major project10–12 weeks

RV32I_Zicsr 5-Stage Pipelined RISC-V Core on FPGA

A 5-stage RISC-V core with full forwarding, load-use stalling and branch flushing, running a GCC-compiled C program on a Nexys A7. The datapath is the easy half: the hazard logic, and the machine-mode CSRs and trap path that riscv-tests silently depends on, are the project.

SystemVerilogVerilatorriscv-gnu-toolchainSpikeAMD VivadoNexys A7

You walk away with

  • Five-stage pipeline with forwarding, load-use interlock and branch flush
  • Zicsr CSR file, mtvec trap vector and ecall handling
  • RV32I riscv-tests p-suite passing under Verilator, with a per-test list
  • Lock-step commit trace diffed against Spike at --isa=rv32i_zicsr
  • Nexys A7 build with memory-mapped UART, reported fmax and WNS, Dhrystone CPI
Major project10–12 weeks

Coverage-Driven Verification Environment for an Asynchronous FIFO

A PyUVM constrained-random environment for a dual-clock FIFO, taken to a stated functional coverage target and then attacked with injected bugs to prove it catches defects instead of just running green. Verilator is 2-state and zero-delay, so it cannot see metastability: the CDC evidence is a formal proof of the Gray-code pointer protocol, not the simulation, and the brief says so.

SystemVerilogcocotbPyUVMcocotb-coverageVerilatorSymbiYosys

You walk away with

  • Layered PyUVM environment: sequencer, driver, monitor, scoreboard
  • Constrained-random clock-ratio stress at near-full and near-empty backpressure
  • cocotb-coverage functional coverage model with a written closure argument
  • SymbiYosys proof of the Gray-code pointer and full/empty invariants
  • Mutation campaign: 10 injected RTL bugs with a caught / missed table

Explore more

Other engineering domains

Search every brief
Python Full-StackJava & EnterpriseAI & LLM ApplicationsMachine LearningDeep LearningData EngineeringMobile AppsCloud & DevOpsCybersecurityIoT & EmbeddedJavaScript Full-StackPower Electronics, EV & Energy SystemsSignal Processing & Wireless CommunicationsRobotics, Drones & Autonomous SystemsData Analytics & Business IntelligenceTest Automation & SDETComputer Networks & Protocol Simulation
Your next build starts here

Turn the idea into software people trust.

Bring us a product brief, a business problem, or a final-year project. We’ll turn it into a clear scope, a working build, and a handover you fully own.

Start Your ProjectSend your brief

Prefer email? info@tenzok.in

Tenzok

A product engineering studio for ambitious companies, founders, and students who want real, production-minded work.

info@tenzok.in

Company

HomeBlogAboutContactFAQ

Services

MentorshipStudent ProjectsCompany ServicesDigital MarketingLaunch Support

Project domains

Python Full-StackJava & EnterpriseAI & LLM ApplicationsMachine LearningExplore all 18 domainsRSS feed

© 2026 Tenzok. All rights reserved.

Obsession · Purpose · Excellence