|
| 1 | +========================= |
| 2 | +Verilog Meetup @ Cal Poly |
| 3 | +========================= |
| 4 | + |
| 5 | +**Host:** CARP (Computer Architecture Research Project) + CPES |
| 6 | +**Presenter:** Yuri Panchul (Senior GPU Architect, Samsung) |
| 7 | +**Date:** Two-day workshop (on campus) |
| 8 | +**Format:** Talks, live demos, student lightning talks, and hands-on challenges |
| 9 | + |
| 10 | +Overview |
| 11 | +-------- |
| 12 | +Yuri Panchul led a two-day Verilog/SystemVerilog meetup at Cal Poly, hosted by CARP and CPES. The workshop blended fundamentals (FIFOs, FPGA vs. ASIC, design flow) with hands-on repos, an AI design challenge (AXI Streams + floating-point unit), and invited student presentations. Cisco engineers contributed industry flow content, and Henry Evans ran focused sessions on STA concepts. |
| 13 | + |
| 14 | +Resources (Repos & Materials) |
| 15 | +----------------------------- |
| 16 | +- Basics / Graphics / Music (intro-to-interactive RTL): |
| 17 | + https://github.com/verilog-meetup/basics-graphics-music |
| 18 | +- SystemVerilog Homework (exercises, patterns, testbenches): |
| 19 | + https://github.com/verilog-meetup/systemverilog-homework |
| 20 | + |
| 21 | + |
| 22 | +.. raw:: html |
| 23 | + |
| 24 | + <iframe src="../_static/pdf/verilog-meetups-stuff/10_25%20Pres.pdf" width="100%" height="600px" style="border:none;"></iframe> |
| 25 | + |
| 26 | + |
| 27 | +.. raw:: html |
| 28 | + |
| 29 | + <iframe src="../_static/pdf/verilog-meetups-stuff/Memory%20Repair.pdf" width="100%" height="600px" style="border:none;"></iframe> |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | +Agenda |
| 34 | +------ |
| 35 | +Day 1 |
| 36 | +~~~~~ |
| 37 | +- **Kickoff & Fundamentals** |
| 38 | + - FIFO design patterns: synchronous vs. asynchronous, gray-coded pointers, full/empty detection, metastability mitigation. |
| 39 | + - FPGA vs. ASIC basics: clocks, resets, constraints, bring-up differences, IP reuse, verification scope. |
| 40 | +- **Cisco Session:** **ASIC flow basics** |
| 41 | + - RTL → Synthesis → Floorplan → Place & Route → Signoff overview. |
| 42 | + - Liberty views, SDC constraints, timing corners, and power/perf/area tradeoffs. |
| 43 | +- **Talk:** **Static Timing Analysis (STA) – Henry Evans** |
| 44 | + - Setup/hold, slack, clock uncertainty, false/multicycle paths (preview). |
| 45 | +- **Lightning Talk:** **Alex Wong on FIFOs** |
| 46 | + - Practical pitfalls: off-by-one depth, crossing clock domains, testbench assertions. |
| 47 | + |
| 48 | +Day 2 |
| 49 | +~~~~~ |
| 50 | +- **Cisco Session:** **Memory repair with scan chains** |
| 51 | + - MBIST/BISR concepts, redundancy fuses, scan architecture, DFT hooks for SRAM macros. |
| 52 | +- **Talk:** **Multi-cycle paths, timing, and STA principles – Henry Evans** |
| 53 | + - Correct MCPA usage, path exceptions, CDC signoff alignment with STA. |
| 54 | +- **AI Design Challenge** |
| 55 | + - **AXI-Stream + FPU** micro-architecture exercise. |
| 56 | + - Discussion of solution quality; GPT-5 did not reach an optimal design under constraints (throughput/latency/backpressure). |
| 57 | +- **Student Presentations** |
| 58 | + - **Francisco Wilken** – topic highlights and design lessons learned. |
| 59 | + - **Henry Evans** – timing closure case study tie-ins. |
| 60 | + |
| 61 | +Technical Highlights |
| 62 | +-------------------- |
| 63 | +FIFOs |
| 64 | +~~~~~ |
| 65 | +- **Synchronous FIFO:** single clock domain, simple full/empty logic, saturation behavior. |
| 66 | +- **Asynchronous FIFO:** independent read/write clocks, two-FF synchronizers for gray-coded pointers, safe full/empty detection across CDC. |
| 67 | +- **Key gotchas:** pointer comparison timing, depth off-by-one, reset sequencing, assertions for overflow/underflow, simulation vs. FPGA bring-up differences. |
| 68 | + |
| 69 | +FPGA vs. ASIC Basics |
| 70 | +~~~~~~~~~~~~~~~~~~~~ |
| 71 | +- **FPGA:** LUT fabric, BRAM/DSP blocks, lower fmax, quick turnaround, timing via XDC/SDC, vendor IP heavy. |
| 72 | +- **ASIC:** standard cells + hard macros, timing corners/derates, power intent (UPF), DFT/scan, STA signoff, physical effects (CTS, SI, IR drop). |
| 73 | + |
| 74 | +STA Essentials |
| 75 | +~~~~~~~~~~~~~~ |
| 76 | +- **Setup/Hold:** definitions, slack interpretation, where to fix (logic depth vs. routing vs. constraints). |
| 77 | +- **Clocking:** generated clocks, uncertainty, skew, and derates. |
| 78 | +- **Exceptions:** false paths and multi-cycle paths used judiciously; document intent and verify with lint/formal. |
| 79 | + |
| 80 | +DFT & Memory Repair |
| 81 | +~~~~~~~~~~~~~~~~~~~ |
| 82 | +- **Scan Chains:** controllability/observability, stuck-at and transition fault coverage. |
| 83 | +- **MBIST/BISR:** test controllers, redundancy allocation, fuse programming flow, yield impact. |
| 84 | + |
| 85 | +AXI-Stream + FPU Challenge |
| 86 | +~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 87 | +- **Goal:** architect a streaming datapath with AXI-Stream handshakes that feeds a pipelined FPU while maintaining throughput under backpressure. |
| 88 | +- **Key considerations:** |
| 89 | + - Backpressure propagation (`tready`/`tvalid`), bubble-free pipelines, decoupling FIFOs at boundaries. |
| 90 | + - Latency tracking for result alignment, optional skid buffers, and throughput modeling. |
| 91 | + - Testbench: randomized ready-valid, scoreboard for FP correctness, latency histograms. |
| 92 | + |
| 93 | +How to Use the Repos in the Workshop |
| 94 | +------------------------------------ |
| 95 | +Clone and explore: |
| 96 | +.. code-block:: bash |
| 97 | +
|
| 98 | + git clone https://github.com/verilog-meetup/basics-graphics-music |
| 99 | + git clone https://github.com/verilog-meetup/systemverilog-homework |
| 100 | +
|
| 101 | +Recommended flow: |
| 102 | +- Start with **basics-graphics-music** for quick visual feedback on RTL edits (graphics/music paths). |
| 103 | +- Move into **systemverilog-homework** for structured exercises, assertions, and testbench patterns. |
| 104 | +- Try the **AXI-Stream + FPU** challenge: draft interfaces, insert FIFOs, simulate randomized backpressure, verify throughput. |
| 105 | + |
| 106 | +Student & Guest Contributions |
| 107 | +----------------------------- |
| 108 | +- **Alex Wong:** FIFO deep dive – CDC safety, gray coding, and verification tips. |
| 109 | +- **Francisco Wilken & Henry Evans:** lightning talks and STA/theory-to-practice bridges. |
| 110 | +- **Cisco Engineers:** ASIC flow and memory repair scanning – aligning school projects to industry signoff. |
| 111 | + |
| 112 | +Takeaways |
| 113 | +--------- |
| 114 | +- Correct FIFO architecture and CDC hygiene are foundational to reliable designs. |
| 115 | +- Timing closure is a **design activity**, not just a tool step—write good constraints and design for timing. |
| 116 | +- Streaming interfaces require careful latency/throughput planning; AXI-Stream is simple but unforgiving under backpressure. |
| 117 | +- ASIC realities (DFT, STA, PPA) shape micro-architecture choices early; plan for them from the start. |
| 118 | + |
| 119 | +Next Steps |
| 120 | +---------- |
| 121 | +- Work through **systemverilog-homework** in order; add assertions and coverage. |
| 122 | +- Attempt the **AXI-Stream + FPU** challenge and document your architecture, latency math, and scoreboard. |
| 123 | +- Bring results to the next CARP meeting for code review and timing discussions. |
| 124 | + |
| 125 | +Credits |
| 126 | +------- |
| 127 | +- **Presenter:** Yuri Panchul (Samsung) |
| 128 | +- **Sessions:** Cisco engineers; Henry Evans |
| 129 | +- **Guests:** Alex Wong; student presenters Francisco Wilken and Henry Evans |
| 130 | +- **Hosts:** CARP and CPES |
0 commit comments