<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Yao Zheng@UHM</title><link>https://gustybear.github.io/</link><atom:link href="https://gustybear.github.io/index.xml" rel="self" type="application/rss+xml"/><description>Yao Zheng@UHM</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 24 Oct 2022 00:00:00 +0000</lastBuildDate><image><url>https://gustybear.github.io/media/logo_hu_d0a0b1783c391ac0.png</url><title>Yao Zheng@UHM</title><link>https://gustybear.github.io/</link></image><item><title>Take-Home Midterm Exam: Combinational Logic and Advanced Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/miterm_01_game/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/miterm_01_game/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Number systems, Boolean algebra, multi-level optimization, hazards, arithmetic circuits, encoder/decoder/PLA/ROM, scalable MUX structures, parameterized Verilog&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;/p>
&lt;p>&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show complete derivations and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self-checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include timing and area reasoning (gate depth, gate count, or asymptotic arguments).&lt;/li>
&lt;li>No collaboration. Cite any references consulted.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3--30-pts">Part A — Multiple Choice (10 × 3 = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> Which transformation always preserves functional equivalence but may reduce logic depth?&lt;br>
a) Converting SOP to canonical SOP&lt;br>
b) Algebraic factoring&lt;br>
c) Expanding minterms&lt;br>
d) Adding consensus terms&lt;/p>
&lt;p>&lt;strong>Q2.&lt;/strong> A static-1 hazard occurs when:&lt;br>
a) Output should remain 1 but temporarily glitches to 0&lt;br>
b) Output should remain 0 but glitches to 1&lt;br>
c) Clock frequency is too high&lt;br>
d) Fan-out exceeds limit&lt;/p>
&lt;p>&lt;strong>Q3.&lt;/strong> For an N-bit ripple carry adder, worst-case delay is proportional to:&lt;br>
a) log₂N&lt;br>
b) N&lt;br>
c) √N&lt;br>
d) constant&lt;/p>
&lt;p>&lt;strong>Q4.&lt;/strong> Which gate set is functionally complete?&lt;br>
a) {XOR}&lt;br>
b) {AND, OR}&lt;br>
c) {NAND}&lt;br>
d) {XNOR}&lt;/p>
&lt;p>&lt;strong>Q5.&lt;/strong> In synthesizable combinational Verilog, the safest template is:&lt;br>
a) &lt;code>always @(posedge clk)&lt;/code>&lt;br>
b) &lt;code>always @(*)&lt;/code>&lt;br>
c) &lt;code>initial begin&lt;/code>&lt;br>
d) &lt;code>#5 y = a &amp;amp; b;&lt;/code>&lt;/p>
&lt;p>&lt;strong>Q6.&lt;/strong> A 16→1 multiplexer implemented as a balanced tree of 2→1 MUXes has depth:&lt;br>
a) 4&lt;br>
b) 8&lt;br>
c) 15&lt;br>
d) 16&lt;/p>
&lt;p>&lt;strong>Q7.&lt;/strong> ROM implementation size grows:&lt;br>
a) Linearly with inputs&lt;br>
b) Quadratically with inputs&lt;br>
c) Exponentially with inputs&lt;br>
d) Logarithmically with inputs&lt;/p>
&lt;p>&lt;strong>Q8.&lt;/strong> The consensus term of \(A'B + AC\) is:&lt;br>
a) BC&lt;br>
b) B&amp;rsquo;C&lt;br>
c) AB&lt;br>
d) A&amp;rsquo;C&lt;/p>
&lt;p>&lt;strong>Q9.&lt;/strong> Which operator performs bitwise XNOR in Verilog?&lt;br>
a) &lt;code>~^&lt;/code>&lt;br>
b) &lt;code>^~&lt;/code>&lt;br>
c) Both&lt;br>
d) None&lt;/p>
&lt;p>&lt;strong>Q10.&lt;/strong> A balanced adder tree reduces delay complexity from O(N) to:&lt;br>
a) O(1)&lt;br>
b) O(log N)&lt;br>
c) O(N²)&lt;br>
d) O(N log N)&lt;/p>
&lt;hr>
&lt;h2 id="part-b--design--analysis-10--7--70-pts">Part B — Design &amp;amp; Analysis (10 × 7 = 70 pts)&lt;/h2>
&lt;p>&lt;strong>Problem 1 — Multi-Level Optimization and Cost Analysis&lt;/strong>&lt;br>
Given&lt;br>
\(F(A,B,C,D,E)=\Sigma(1,3,4,7,11,15,16,18,19,23,27,31)\)&lt;/p>
&lt;p>a) Write canonical SOP and POS.&lt;br>
b) Minimize using K-map.&lt;br>
c) Factor to reduce depth.&lt;br>
d) Compare literal count and logic depth between two-level and factored implementations.&lt;/p>
&lt;p>&lt;strong>Problem 2 — Hazard Analysis&lt;/strong>&lt;br>
Given&lt;br>
\(F(A,B,C)=A'B+AC\)&lt;/p>
&lt;p>a) Identify static hazards and show transition causing glitch.&lt;br>
b) Add minimal consensus terms to eliminate hazard.&lt;br>
c) Estimate glitch width assuming uniform 1 ns gate delay.&lt;/p>
&lt;p>&lt;strong>Problem 3 — NAND-Only Realization&lt;/strong>&lt;br>
a) Prove NAND is functionally complete.&lt;br>
b) Implement \(F(A,B,C)=AB+A'C\) using only 2-input NAND gates.&lt;br>
c) Count gates and compute logic depth.&lt;/p>
&lt;p>&lt;strong>Problem 4 — 32→5 Priority Encoder&lt;/strong>&lt;br>
a) Define truth table with D31 highest priority and &lt;code>valid&lt;/code>.&lt;br>
b) Build hierarchically from 4→2 encoders.&lt;br>
c) Structural Verilog implementation.&lt;br>
d) Estimate worst-case delay if each 4→2 block delay = 2 ns.&lt;/p>
&lt;p>&lt;strong>Problem 5 — Shared PLA vs ROM Implementation&lt;/strong>&lt;br>
Given&lt;br>
\(F_1=\Sigma(0,2,5,8,10,13)\)&lt;br>
\(F_2=\Sigma(1,3,6,9,14,15)\)&lt;/p>
&lt;p>a) Minimize jointly and identify shared product terms.&lt;br>
b) Draw PLA matrix (AND plane and OR plane).&lt;br>
c) Determine memory size for equivalent 16×2 ROM.&lt;br>
d) Compare area tradeoffs.&lt;/p>
&lt;p>&lt;strong>Problem 6 — Balanced Adder Tree&lt;/strong>&lt;br>
Sum eight 12-bit numbers.&lt;/p>
&lt;p>a) Serial ripple accumulation: compute depth.&lt;br>
b) Balanced tree: draw structure and compute depth.&lt;br>
c) Determine required output width.&lt;/p>
&lt;p>&lt;strong>Problem 7 — Parameterized ALU&lt;/strong>&lt;/p>
&lt;p>Operations: ADD, SUB, AND, OR, XOR, CMP(==,&amp;gt;,&amp;lt;). Width parameter &lt;code>N&lt;/code>.&lt;/p>
&lt;p>a) Write synthesizable Verilog using &lt;code>unique case&lt;/code>.&lt;br>
b) Implement comparison efficiently (no redundant subtraction).&lt;br>
c) Provide self-checking randomized testbench.&lt;br>
d) Compare resource growth for N=8 and N=32.&lt;/p>
&lt;p>&lt;strong>Problem 8 — Recursive MUX Tree&lt;/strong>&lt;/p>
&lt;p>a) Implement a parameterized &lt;code>mux_tree #(N=16,W=8)&lt;/code> using &lt;code>generate&lt;/code>.&lt;br>
b) Ensure balanced structure.&lt;br>
c) Derive logic depth as function of N.&lt;br>
d) Provide synthesizable code.&lt;/p>
&lt;p>&lt;strong>Problem 9 — Gray/Binary Converters&lt;/strong>&lt;/p>
&lt;p>a) Derive 4-bit Gray→Binary and Binary→Gray equations.&lt;br>
b) Prove composition correctness.&lt;br>
c) Provide parameterized Verilog and exhaustive testbench.&lt;/p>
&lt;p>&lt;strong>Problem 10 — Power-of-Two Detector&lt;/strong>&lt;/p>
&lt;p>Design combinational circuit to detect if a 16-bit input is a power of two.&lt;/p>
&lt;p>a) Derive minimal Boolean condition.&lt;br>
b) Implement structural and behavioral Verilog versions.&lt;br>
c) Compare gate complexity.&lt;/p></description></item><item><title>Online Verilog Simulation Guide</title><link>https://gustybear.github.io/docs/tutorials/verilog_sim_online/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/tutorials/verilog_sim_online/</guid><description>&lt;p>If you don’t have a local Verilog simulator (e.g., Icarus Verilog or Vivado XSim) installed, you can run this lab directly &lt;strong>in your web browser&lt;/strong> using free online tools such as &lt;strong>EDA Playground&lt;/strong> or &lt;strong>Makerchip&lt;/strong>. These platforms allow you to paste your Verilog source and testbench, simulate, and view console outputs or waveforms.&lt;/p>
&lt;h2 id="-option-1--using-eda-playground-recommended">🧩 Option 1 — Using EDA Playground (Recommended)&lt;/h2>
&lt;p>&lt;strong>Website:&lt;/strong>
&lt;/p>
&lt;h3 id="steps">Steps&lt;/h3>
&lt;ol>
&lt;li>Open the website and click &lt;strong>“Create New Playground”&lt;/strong>.&lt;/li>
&lt;li>In the &lt;strong>left code pane&lt;/strong>, paste your &lt;strong>design source&lt;/strong> file:
&lt;ul>
&lt;li>e.g., &lt;code>src/reg_multifunc.v&lt;/code> or &lt;code>src/regfile_2r1w.v&lt;/code>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>In the &lt;strong>right code pane&lt;/strong>, paste the corresponding &lt;strong>testbench&lt;/strong>:
&lt;ul>
&lt;li>e.g., &lt;code>tb/tb_reg_multifunc.v&lt;/code> or &lt;code>tb/tb_regfile_2r1w.v&lt;/code>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>In the &lt;strong>Tools &amp;amp; Simulators&lt;/strong> panel:
&lt;ul>
&lt;li>Set &lt;strong>Language&lt;/strong> to &lt;code>Verilog 2001&lt;/code> or &lt;code>SystemVerilog 2012&lt;/code>&lt;/li>
&lt;li>Choose &lt;strong>Simulator&lt;/strong>: &lt;code>Icarus Verilog (vvp)&lt;/code>&lt;/li>
&lt;li>Uncheck “Enable Design for UVM” if it appears&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Click &lt;strong>Run ▶️&lt;/strong> at the top.&lt;/li>
&lt;li>Watch the console output:
&lt;ul>
&lt;li>You should see &lt;code>[PASS]&lt;/code> and &lt;code>[FAIL]&lt;/code> messages from the testbench.&lt;/li>
&lt;li>All “PASS” messages indicate correct behavior.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h3 id="saving--sharing">Saving &amp;amp; Sharing&lt;/h3>
&lt;ul>
&lt;li>Click &lt;strong>Share → Save &amp;amp; Share Link&lt;/strong>.&lt;/li>
&lt;li>Include the generated link in your lab report or submission.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-option-2--using-makerchip-advanced-visualizer">⚙️ Option 2 — Using Makerchip (Advanced Visualizer)&lt;/h2>
&lt;p>&lt;strong>Website:&lt;/strong>
&lt;/p>
&lt;h3 id="steps-1">Steps&lt;/h3>
&lt;ol>
&lt;li>Go to the Makerchip homepage → click &lt;strong>“Start Designing”&lt;/strong>.&lt;/li>
&lt;li>Paste both your &lt;strong>design&lt;/strong> and &lt;strong>testbench&lt;/strong> codes into the editor.&lt;/li>
&lt;li>Click &lt;strong>Build &amp;amp; Run&lt;/strong>.&lt;/li>
&lt;li>View the &lt;strong>console log&lt;/strong> for pass/fail messages and use the &lt;strong>waveform viewer&lt;/strong> for debugging.&lt;/li>
&lt;li>Makerchip automatically recognizes any module ending with &lt;code>_tb&lt;/code> as the top-level testbench.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-expected-output">✅ Expected Output&lt;/h2>
&lt;p>A successful run will produce console logs like:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">PASS&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">LOAD&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">q&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">A5&lt;/span> &lt;span class="err">@&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">PASS&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">SHL&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">q&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="n">A&lt;/span> &lt;span class="err">@&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">20&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">PASS&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">SHR&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">q&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">25&lt;/span> &lt;span class="err">@&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">30&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">tb_reg_multifunc&lt;/span> &lt;span class="n">completed&lt;/span> &lt;span class="n">OK&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If something fails, you’ll see:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[FAIL] SAR from 0x80: got 40 expected C0 @ t=70
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Fix your RTL code and re-run the simulation.&lt;/p>
&lt;hr>
&lt;h2 id="-tips">💡 Tips&lt;/h2>
&lt;ul>
&lt;li>Use &lt;strong>Ctrl + Enter&lt;/strong> (EDA Playground) or &lt;strong>Ctrl + R&lt;/strong> (Makerchip) to rerun quickly.&lt;/li>
&lt;li>To view waveforms in EDA Playground:
&lt;ul>
&lt;li>Check “Enable VCD dump” under &lt;em>Run Options&lt;/em>, then open the waveform viewer.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Always verify reset behavior and edge timing (posedge clock updates).&lt;/li>
&lt;li>Record your &lt;strong>simulation logs&lt;/strong> and include screenshots in your report.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>End of Online Simulation Guide&lt;/strong>&lt;/p></description></item><item><title>Take-Home Midterm Exam: Combinational Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_01_game/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_01_game/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Number systems, Boolean algebra, combinational design, optimization, hazards, MUX/decoder/PLA, Verilog HDL&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3--30-pts">Part A — Multiple Choice (10 × 3 = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> Which of the following is &lt;em>not&lt;/em> a characteristic of combinational logic?&lt;br>
a) Output depends only on present inputs&lt;br>
b) No feedback paths&lt;br>
c) May exhibit propagation delay&lt;br>
d) Requires clock edge to update&lt;/p>
&lt;p>&lt;strong>Q2.&lt;/strong> Which Verilog statement is &lt;em>not&lt;/em> synthesizable in general FPGA/ASIC tools?&lt;br>
a) &lt;code>assign y = a &amp;amp; b;&lt;/code>&lt;br>
b) &lt;code>always @(*) y = a | b;&lt;/code>&lt;br>
c) &lt;code>initial y = 0;&lt;/code>&lt;br>
d) &lt;code>case(sel) y = d0; endcase&lt;/code>&lt;/p>
&lt;p>&lt;strong>Q3.&lt;/strong> The &lt;strong>critical path delay&lt;/strong> in a ripple‑carry adder grows:&lt;br>
a) Linearly with bit‑width&lt;br>
b) Logarithmically with bit‑width&lt;br>
c) Constant with bit‑width&lt;br>
d) Randomly with input values&lt;/p>
&lt;p>&lt;strong>Q4.&lt;/strong> Which gate set is &lt;strong>not&lt;/strong> functionally complete?&lt;br>
a) {NAND}&lt;br>
b) {NOR}&lt;br>
c) {AND, OR}&lt;br>
d) {XOR, AND}&lt;/p>
&lt;p>&lt;strong>Q5.&lt;/strong> In Verilog, &lt;code>reg&lt;/code> and &lt;code>wire&lt;/code> differ because:&lt;br>
a) &lt;code>reg&lt;/code> can only be used in sequential circuits&lt;br>
b) &lt;code>wire&lt;/code> holds values without drivers&lt;br>
c) &lt;code>reg&lt;/code> stores a value until reassigned; &lt;code>wire&lt;/code> reflects drivers continuously&lt;br>
d) &lt;code>wire&lt;/code> is faster than &lt;code>reg&lt;/code>&lt;/p>
&lt;p>&lt;strong>Q6.&lt;/strong> A 32‑to‑1 multiplexer can be implemented most efficiently using:&lt;br>
a) One 32‑input gate&lt;br>
b) A tree of 2‑to‑1 multiplexers&lt;br>
c) A PLA&lt;br>
d) Multiple XOR gates&lt;/p>
&lt;p>&lt;strong>Q7.&lt;/strong> Which optimization reduces &lt;strong>logic depth&lt;/strong> the most?&lt;br>
a) Gate duplication&lt;br>
b) Pipelining&lt;br>
c) Karnaugh map simplification&lt;br>
d) Multi‑level factoring&lt;/p>
&lt;p>&lt;strong>Q8.&lt;/strong> Which Verilog operator performs &lt;strong>bitwise XNOR&lt;/strong>?&lt;br>
a) &lt;code>~^&lt;/code>&lt;br>
b) &lt;code>^~&lt;/code>&lt;br>
c) Both a and b&lt;br>
d) None&lt;/p>
&lt;p>&lt;strong>Q9.&lt;/strong> Main limitation of ROM implementation for logic functions is:&lt;br>
a) Too slow for combinational circuits&lt;br>
b) Size grows exponentially with #inputs&lt;br>
c) Can only implement sequential logic&lt;br>
d) Does not support initialization&lt;/p>
&lt;p>&lt;strong>Q10.&lt;/strong> If two drivers assign conflicting values to a Verilog &lt;code>wire&lt;/code>:&lt;br>
a) Last assignment wins&lt;br>
b) Wire holds 0&lt;br>
c) Wire holds 1&lt;br>
d) Wire becomes unknown (&lt;code>x&lt;/code>)&lt;/p>
&lt;hr>
&lt;h2 id="part-b--design--analysis-10--7--70-pts">Part B — Design &amp;amp; Analysis (10 × 7 = 70 pts)&lt;/h2>
&lt;p>&lt;strong>Problem 1 — Functional Completeness (NAND‑Only)&lt;/strong>&lt;br>
a) Prove {NAND} is functionally complete (construct NOT, AND, OR).&lt;br>
b) Implement \(F(A,B,C)=\Sigma(0,2,5,7)\) using &lt;strong>NAND‑only&lt;/strong>. Show product terms and sharing.&lt;br>
c) Provide synthesizable Verilog for the NAND‑only implementation and compare gate count v.s. SOP using AND/OR/NOT.&lt;/p>
&lt;p>&lt;strong>Problem 2 — Arithmetic: Carry‑Save Adder (CSA)&lt;/strong>&lt;br>
a) Derive a 3‑operand (A,B,C) 4‑bit CSA producing (Sum, Carry).&lt;br>
b) Compare worst‑case delay against 2‑operand ripple add repeated twice.&lt;br>
c) Provide synthesizable Verilog for a parameterized CSA.&lt;/p>
&lt;p>&lt;strong>Problem 3 — 16→4 Priority Encoder&lt;/strong>&lt;br>
a) Specify truth table/priority convention (D\(15\) highest). Include &lt;code>valid&lt;/code>.&lt;br>
b) Build hierarchically from 4×(4→2) encoders + 4→2 encoder.&lt;br>
c) Structural Verilog with module instances.&lt;/p>
&lt;p>&lt;strong>Problem 4 — PLA and ROM Implementations&lt;/strong>&lt;br>
Given:&lt;br>
\(F_1(A,B,C,D)=\Sigma(0,2,5,8,12),\quad F_2(A,B,C,D)=\Sigma(1,3,4,9,15)\)&lt;br>
a) Derive minimized SOPs with shared product terms for a PLA.&lt;br>
b) Sketch a PLA with labeled shared products.&lt;br>
c) Show 16×2 ROM mapping (address=A B C D).&lt;br>
d) Provide generic Verilog: (i) PLA using &lt;code>and&lt;/code> of literals + &lt;code>or&lt;/code> planes; (ii) ROM using &lt;code>case&lt;/code> or packed &lt;code>localparam&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 5 — Scalable MUX&lt;/strong>&lt;br>
a) Build a &lt;strong>16→1&lt;/strong> MUX using only 2→1 MUXes (balanced tree).&lt;br>
b) Count 2→1 cells and tree depth.&lt;br>
c) Write a parameterized &lt;strong>recursive&lt;/strong> Verilog module &lt;code>mux_tree #(N=16,W=1)&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 6 — Comparator (4‑bit)&lt;/strong>&lt;br>
a) Derive equations for &lt;code>GT, EQ, LT&lt;/code>.&lt;br>
b) Show hierarchical design from chained 1‑bit comparators.&lt;br>
c) Provide synthesizable Verilog and a constrained‑random testbench.&lt;/p>
&lt;p>&lt;strong>Problem 7 — Gray/Binary Converters (4‑bit)&lt;/strong>&lt;br>
a) Derive equations: Gray→Bin and Bin→Gray.&lt;br>
b) Compose them in loopback to prove &lt;code>Bin == g2b(b2g(Bin))&lt;/code>.&lt;br>
c) Parameterized Verilog + exhaustive testbench.&lt;/p>
&lt;p>&lt;strong>Problem 8 — Digital Lock&lt;/strong>&lt;br>
Opens for inputs &lt;strong>110101&lt;/strong> or &lt;strong>011110&lt;/strong>.&lt;br>
a) Minimize SOP.&lt;br>
b) Implement via decoder + OR.&lt;br>
c) Verilog (behavioral and structural).&lt;br>
d) Short note: why loose “don’t care” policies are risky for security.&lt;/p>
&lt;p>&lt;strong>Problem 9 — Parameterized ALU&lt;/strong>&lt;br>
Ops: ADD, SUB, AND, OR, XOR, CMP(==,&amp;gt;,&amp;lt;). Width parameter &lt;code>N&lt;/code>.&lt;br>
a) Synthesizable Verilog with &lt;code>unique case&lt;/code>.&lt;br>
b) Self‑checking randomized testbench (seeded).&lt;br>
c) Brief resource discussion for N=8 vs N=32 (qualitative + simple count).&lt;/p>
&lt;p>&lt;strong>Problem 10 — Adder Tree&lt;/strong>&lt;br>
Sum eight 16‑bit numbers with minimal depth.&lt;br>
a) Draw balanced adder tree and give depth.&lt;br>
b) Compare with serial accumulation.&lt;br>
c) Parameterized Verilog using &lt;code>generate&lt;/code> and a reduction tree.&lt;/p></description></item><item><title>Take-Home Midterm Exam Solution: Combinational Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_01_solutions/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_01_solutions/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Number systems, Boolean algebra, combinational design, optimization, hazards, MUX/decoder/PLA, Verilog HDL&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-keys">Part A — Multiple Choice (Keys)&lt;/h2>
&lt;ol>
&lt;li>d&lt;/li>
&lt;li>c&lt;/li>
&lt;li>a&lt;/li>
&lt;li>c&lt;/li>
&lt;li>c&lt;/li>
&lt;li>b&lt;/li>
&lt;li>d&lt;/li>
&lt;li>c&lt;/li>
&lt;li>b&lt;/li>
&lt;li>d&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="part-b--design--analysis">Part B — Design &amp;amp; Analysis&lt;/h2>
&lt;h3 id="problem-1--functional-completeness-nandonly">Problem 1 — Functional Completeness (NAND‑Only)&lt;/h3>
&lt;p>&lt;strong>a) Constructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>NOT: \( \neg A = A\,\text{NAND}\,A \)&lt;/li>
&lt;li>AND: \( A\land B = (A\,\text{NAND}\,B)\,\text{NAND}\,(A\,\text{NAND}\,B) \)&lt;/li>
&lt;li>OR (by De Morgan): \( A\lor B = (\neg A)\,\text{NAND}\,(\neg B) = (A\,\text{NAND}\,A)\,\text{NAND}\,(B\,\text{NAND}\,B) \)&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>b) Minimal SOP for&lt;/strong> \(F=\Sigma(0,2,5,7)\) &lt;strong>→&lt;/strong> \(F = A' C' + A C\). (Covers 0,2 and 5,7.)&lt;/p>
&lt;p>&lt;strong>c) NAND‑only Verilog&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">module&lt;/span> &lt;span class="n">F_nand_only&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">input&lt;/span> &lt;span class="n">A&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">B&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">C&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="n">F&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="n">nA&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">t1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">t2&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// B not used after minimization
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nA&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">A&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">A&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="n">nA_and_nC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AbarCbar&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nA_and_nC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nA&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nC&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">AbarCbar&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nA_and_nC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nA_and_nC&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="n">AandC_n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AandC&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">AandC_n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">A&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">AandC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AandC_n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AandC_n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="n">nAbarCbar&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nAandC&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nAbarCbar&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AbarCbar&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AbarCbar&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nAandC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AandC&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">AandC&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">nand&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">F&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nAbarCbar&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nAandC&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">endmodule&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Gate count ~7 NANDs.&lt;/p>
&lt;hr>
&lt;h3 id="problem-2--csa">Problem 2 — CSA&lt;/h3>
&lt;p>Sum bits: \(s_i = a_i \oplus b_i \oplus c_i\), carry bits: \(k_i=(a_ib_i)+(b_ic_i)+(a_ic_i)\). Final result = &lt;code>s + (k&amp;lt;&amp;lt;1)&lt;/code> via one CPA. Delay better than two ripples.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">module&lt;/span> &lt;span class="n">csa3&lt;/span> &lt;span class="p">#(&lt;/span>&lt;span class="k">parameter&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mh">4&lt;/span>&lt;span class="p">)(&lt;/span>&lt;span class="k">input&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">c&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">output&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">s&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">k&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">genvar&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">generate&lt;/span> &lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">begin&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="n">g&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">s&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">^&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">^&lt;/span>&lt;span class="n">c&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">k&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">c&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">c&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">end&lt;/span> &lt;span class="k">endgenerate&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">endmodule&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="problem-3--164-priority-encoder">Problem 3 — 16→4 Priority Encoder&lt;/h3>
&lt;p>See hierarchical structural solution:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">module&lt;/span> &lt;span class="n">pe4&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">input&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="n">valid&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">valid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">|&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">!&lt;/span>&lt;span class="n">valid&lt;/span> &lt;span class="o">?&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mb">&amp;#39;b00&lt;/span> &lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">?&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mb">&amp;#39;b11&lt;/span> &lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">2&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">?&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mb">&amp;#39;b10&lt;/span> &lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">?&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mb">&amp;#39;b01&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mb">&amp;#39;b00&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">endmodule&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">module&lt;/span> &lt;span class="n">pe16&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">input&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">15&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="n">valid&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">output&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">v&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="kt">wire&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">y0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">y1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">y2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">y3&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pe4&lt;/span> &lt;span class="n">u0&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">v&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">y0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pe4&lt;/span> &lt;span class="n">u1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">7&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">4&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">v&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pe4&lt;/span> &lt;span class="n">u2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">11&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">8&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">v&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">2&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">y2&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pe4&lt;/span> &lt;span class="n">u3&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">15&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">12&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">v&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">y3&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pe4&lt;/span> &lt;span class="n">uT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">v&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">valid&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">2&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">reg&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">case&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">y&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">2&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mh">2&lt;/span>&lt;span class="mi">&amp;#39;d0&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">y0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mi">&amp;#39;d1&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">y1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mh">2&lt;/span>&lt;span class="mi">&amp;#39;d2&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">y2&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="k">default&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">y3&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">endcase&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">low&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">endmodule&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="problem-4--pla--rom">Problem 4 — PLA &amp;amp; ROM&lt;/h3>
&lt;p>One valid sharing (not unique):&lt;/p>
&lt;ul>
&lt;li>\(F_1 = A'B' + C'D' + AD'\)&lt;/li>
&lt;li>\(F_2 = A'CD + AB' + B'D\)&lt;/li>
&lt;/ul>
&lt;p>PLA code shown (shared terms). ROM mapping by full truth table is acceptable (example mapping provided in handout).&lt;/p>
&lt;hr>
&lt;h3 id="problem-5--scalable-mux">Problem 5 — Scalable MUX&lt;/h3>
&lt;p>Uses \(N-1\) 2→1 cells; for 16→1, 15 cells, depth 4. Recursive &lt;code>mux_tree&lt;/code> given in handout; students verify widths and &lt;code>$clog2&lt;/code> correctness with synthesis/sim.&lt;/p>
&lt;hr>
&lt;h3 id="problem-6--comparator">Problem 6 — Comparator&lt;/h3>
&lt;p>Equations:&lt;br>
&lt;code>EQ = Π_i ~(Ai ^ Bi)&lt;/code>&lt;br>
&lt;code>GT = g3 | (eq3&amp;amp;g2) | (eq3&amp;amp;eq2&amp;amp;g1) | (eq3&amp;amp;eq2&amp;amp;eq1&amp;amp;g0)&lt;/code>&lt;br>
&lt;code>LT&lt;/code> mirror. Verilog in handout accepted.&lt;/p>
&lt;hr>
&lt;h3 id="problem-7--graybinary">Problem 7 — Gray/Binary&lt;/h3>
&lt;p>Gray→Bin prefix XOR; Bin→Gray adjacent XOR. Parameterized modules and exhaustive TB as shown.&lt;/p>
&lt;hr>
&lt;h3 id="problem-8--lock">Problem 8 — Lock&lt;/h3>
&lt;p>&lt;code>assign open = (in==6'b110101) || (in==6'b011110);&lt;/code>&lt;br>
Security note: define all unspecified inputs as closed (0); avoid ‘x’ in synthesizable paths.&lt;/p>
&lt;hr>
&lt;h3 id="problem-9--alu">Problem 9 — ALU&lt;/h3>
&lt;p>Reference ALU with &lt;code>unique case&lt;/code>. TB randomizes A,B and compares against high‑level model. Resource: adder dominates; scaling roughly linear with N for ripple implementations.&lt;/p>
&lt;hr>
&lt;h3 id="problem-10--adder-tree">Problem 10 — Adder Tree&lt;/h3>
&lt;p>Balanced tree depth 3 for 8 inputs; serial is 7. Example parameterized module provided; students may generalize to 2^k inputs or pad to nearest power of two.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">module&lt;/span> &lt;span class="n">sum8&lt;/span> &lt;span class="p">#(&lt;/span>&lt;span class="k">parameter&lt;/span> &lt;span class="n">W&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mh">16&lt;/span>&lt;span class="p">)(&lt;/span>&lt;span class="k">input&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">W&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">a0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a3&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a4&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a5&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a6&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a7&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">output&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">W&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mh">3&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">sum&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="nl">W:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">s0&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">a0&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">a1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">s1&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">a2&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">a3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">s2&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">a4&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">a5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">s3&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">a6&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">a7&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wire&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">W&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mh">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="mh">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">t0&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">s0&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">s1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">t1&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">s2&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">s3&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">assign&lt;/span> &lt;span class="n">sum&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">t0&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">t1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">endmodule&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr></description></item><item><title>Take-Home Midterm Exam: Sequential Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_game/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_game/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Sequential logic, finite state machines, registers, counters, with Verilog modeling&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;li>Tutorial of Online tools for Verilog simulation can be found
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3-pts--30-pts">Part A — Multiple Choice (10 × 3 pts = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> A positive-level D latch is best described as:&lt;/p>
&lt;ul>
&lt;li>A. Sampling on rising edges only&lt;/li>
&lt;li>B. Transparent when clock=1 and opaque when clock=0&lt;/li>
&lt;li>C. Triggered on both edges&lt;/li>
&lt;li>D. Metastability-free by design&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q2.&lt;/strong> The parameter that primarily limits f_max is:&lt;/p>
&lt;ul>
&lt;li>A. Hold time&lt;/li>
&lt;li>B. Recovery time&lt;/li>
&lt;li>C. t_clk-q + t_comb + t_setup&lt;/li>
&lt;li>D. Clock duty cycle&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q3.&lt;/strong> A T flip-flop divides the clock by two because it:&lt;/p>
&lt;ul>
&lt;li>A. Filters every other edge by delay&lt;/li>
&lt;li>B. Toggles its output at each active edge&lt;/li>
&lt;li>C. Samples input twice per cycle&lt;/li>
&lt;li>D. Has J=0, K=1&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q4.&lt;/strong> A ripple counter differs from a synchronous counter because:&lt;/p>
&lt;ul>
&lt;li>A. It uses fewer flip-flops&lt;/li>
&lt;li>B. Its stages are clocked by preceding stage outputs&lt;/li>
&lt;li>C. It is immune to propagation delay&lt;/li>
&lt;li>D. It is always faster&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q5.&lt;/strong> In a Moore machine, outputs depend on:&lt;/p>
&lt;ul>
&lt;li>A. Current input only&lt;/li>
&lt;li>B. Current state only&lt;/li>
&lt;li>C. Next state only&lt;/li>
&lt;li>D. Current and previous inputs&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q6.&lt;/strong> In a Mealy machine:&lt;/p>
&lt;ul>
&lt;li>A. Outputs change only at clock edges&lt;/li>
&lt;li>B. Outputs depend on state and inputs&lt;/li>
&lt;li>C. It needs more states than Moore always&lt;/li>
&lt;li>D. It cannot be coded in Verilog&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q7.&lt;/strong> A 4-bit shift register with serial input 1101 after four clocks contains (MSB..LSB):&lt;/p>
&lt;ul>
&lt;li>A. 1011&lt;/li>
&lt;li>B. 1101&lt;/li>
&lt;li>C. 0110&lt;/li>
&lt;li>D. 1110&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q8.&lt;/strong> A hold-time violation can be mitigated by:&lt;/p>
&lt;ul>
&lt;li>A. Adding delay to data path&lt;/li>
&lt;li>B. Increasing clock frequency&lt;/li>
&lt;li>C. Reducing setup time&lt;/li>
&lt;li>D. Removing all registers&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q9.&lt;/strong> One-hot encoding of an N-state FSM uses:&lt;/p>
&lt;ul>
&lt;li>A. log2(N) flip-flops&lt;/li>
&lt;li>B. N flip-flops&lt;/li>
&lt;li>C. N-1 flip-flops&lt;/li>
&lt;li>D. 2N flip-flops&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q10.&lt;/strong> Pipeline registers primarily:&lt;/p>
&lt;ul>
&lt;li>A. Reduce combinational delay per stage&lt;/li>
&lt;li>B. Store only final outputs&lt;/li>
&lt;li>C. Remove all hazards&lt;/li>
&lt;li>D. Reduce setup time of FFs&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-b--design--analysis-10--7--70-pts">Part B — Design &amp;amp; Analysis (10 × 7 = 70 pts)&lt;/h2>
&lt;p>For each problem, complete the Verilog template in the
and verify using the provided self‑checking testbench.
Name your top‑level modules exactly as specified.&lt;/p>
&lt;p>&lt;strong>Files provided (in the questions zip):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Templates: &lt;code>*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Testbenches: &lt;code>tb_*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Timescale: &lt;code>1ns/1ps&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problems:&lt;/strong>&lt;/p>
&lt;p>&lt;strong>Problem 1 — Synchronizer + Edge Detect (&lt;code>sync_edge&lt;/code>)&lt;/strong>&lt;br>
Synchronize asynchronous &lt;code>btn_async&lt;/code> into &lt;code>clk&lt;/code> with a two‑FF synchronizer; output &lt;code>btn_sync&lt;/code> level and one‑cycle &lt;code>btn_pulse&lt;/code> on rising edges. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 2 — Dual‑Edge Capture (&lt;code>ddr_reg&lt;/code>)&lt;/strong>&lt;br>
Capture &lt;code>D&lt;/code> on posedge into &lt;code>Q_pos&lt;/code> and on negedge into &lt;code>Q_neg&lt;/code>. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 3 — Mealy Sequence Detector “11010” (&lt;code>seq_11010_mealy&lt;/code>)&lt;/strong>&lt;br>
Detect the overlapping pattern and assert &lt;code>Z&lt;/code> on the final bit. Use a minimal FSM.&lt;/p>
&lt;p>&lt;strong>Problem 4 — Mod‑6 Up/Down Counter with Enable (&lt;code>mod6_counter&lt;/code>)&lt;/strong>&lt;br>
3‑bit counter over 0..5. &lt;code>En&lt;/code> gates counting; &lt;code>Dir=1&lt;/code> up, &lt;code>0&lt;/code> down. Synchronous reset to 0.&lt;/p>
&lt;p>&lt;strong>Problem 5 — 4×4 Serial Multiplier Controller (&lt;code>mul4_ctrl&lt;/code>)&lt;/strong>&lt;br>
Shift‑add controller with signals &lt;code>LdA,LdB,ClrP,Add,Shift,Done&lt;/code>. Start with &lt;code>start=1&lt;/code>. Iterate 4 times.&lt;/p>
&lt;p>&lt;strong>Problem 6 — 2‑Stage Pipeline &lt;code>(A+B)*C&lt;/code> with Valid/Ready (&lt;code>pipe_add_mul&lt;/code>)&lt;/strong>&lt;br>
Implement a two‑stage pipeline (add then multiply) with back‑pressure (&lt;code>in_valid/in_ready&lt;/code>, &lt;code>out_valid/out_ready&lt;/code>).&lt;/p>
&lt;p>&lt;strong>Problem 7 — CDC Bridge 1 MHz → 100 MHz (&lt;code>cdc_bridge&lt;/code>)&lt;/strong>&lt;br>
Use a &lt;code>req/ack&lt;/code> handshake and 2FF synchronizers both directions to transfer an 8‑bit word reliably.&lt;/p>
&lt;p>&lt;strong>Problem 8 — Moore FSM with Registered Output (&lt;code>moore_safe&lt;/code>)&lt;/strong>&lt;br>
Provide both combinational output &lt;code>Zc&lt;/code> and registered &lt;code>Zr&lt;/code> (hazard‑free).&lt;/p>
&lt;p>&lt;strong>Problem 9 — Sequential 4‑bit ALU (&lt;code>seq_alu4&lt;/code>)&lt;/strong>&lt;br>
Opcode: 00=ADD, 01=AND, 10=XOR, 11=SHL. Registered outputs &lt;code>Y&lt;/code> and &lt;code>Cout&lt;/code> with synchronous reset.&lt;/p>
&lt;p>&lt;strong>Problem 10 — Traffic Lights with Pedestrian Preempt (&lt;code>traffic_ped&lt;/code>)&lt;/strong>&lt;br>
Main: G×3, Y×1; Side: G×2, Y×1. Insert &lt;code>WALK&lt;/code>×4 at a safe point when &lt;code>ped_req=1&lt;/code>; resume correctly.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Deliverables:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>PDF with answers to Section A and brief design notes for Section B.&lt;/li>
&lt;li>Verilog sources for all 10 designs.&lt;/li>
&lt;li>Simulation logs/screenshots demonstrating passing testbenches.&lt;/li>
&lt;/ul></description></item><item><title>Take-Home Midterm Exam: Sequential Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_solutions/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_solutions/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Sequential logic, finite state machines, registers, counters, with Verilog modeling&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;li>Tutorial of Online tools for Verilog simulation can be found
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3-pts--30-pts">Part A — Multiple Choice (10 × 3 pts = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;h2 id="part-a--multiple-choice-keys">Part A — Multiple Choice (Keys)&lt;/h2>
&lt;ol>
&lt;li>b&lt;/li>
&lt;li>c&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>a&lt;/li>
&lt;li>b&lt;/li>
&lt;li>a&lt;/li>
&lt;/ol>
&lt;h2 id="part-a-mp--multiple-choice-keys">Part A (MP) — Multiple Choice (Keys)&lt;/h2>
&lt;ol>
&lt;li>b&lt;/li>
&lt;li>c&lt;/li>
&lt;li>b&lt;/li>
&lt;li>c&lt;/li>
&lt;li>c&lt;/li>
&lt;li>c&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>b&lt;/li>
&lt;li>d&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="part-b--design--analysis-10--7--70-pts">Part B — Design &amp;amp; Analysis (10 × 7 = 70 pts)&lt;/h2>
&lt;p>Download solutions
.&lt;/p>
&lt;p>&lt;strong>Files provided (in the questions zip):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Templates: &lt;code>*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Testbenches: &lt;code>tb_*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Timescale: &lt;code>1ns/1ps&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problems:&lt;/strong>&lt;/p>
&lt;p>&lt;strong>Problem 1 — Synchronizer + Edge Detect (&lt;code>sync_edge&lt;/code>)&lt;/strong>&lt;br>
Synchronize asynchronous &lt;code>btn_async&lt;/code> into &lt;code>clk&lt;/code> with a two‑FF synchronizer; output &lt;code>btn_sync&lt;/code> level and one‑cycle &lt;code>btn_pulse&lt;/code> on rising edges. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 2 — Dual‑Edge Capture (&lt;code>ddr_reg&lt;/code>)&lt;/strong>&lt;br>
Capture &lt;code>D&lt;/code> on posedge into &lt;code>Q_pos&lt;/code> and on negedge into &lt;code>Q_neg&lt;/code>. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 3 — Mealy Sequence Detector “11010” (&lt;code>seq_11010_mealy&lt;/code>)&lt;/strong>&lt;br>
Detect the overlapping pattern and assert &lt;code>Z&lt;/code> on the final bit. Use a minimal FSM.&lt;/p>
&lt;p>&lt;strong>Problem 4 — Mod‑6 Up/Down Counter with Enable (&lt;code>mod6_counter&lt;/code>)&lt;/strong>&lt;br>
3‑bit counter over 0..5. &lt;code>En&lt;/code> gates counting; &lt;code>Dir=1&lt;/code> up, &lt;code>0&lt;/code> down. Synchronous reset to 0.&lt;/p>
&lt;p>&lt;strong>Problem 5 — 4×4 Serial Multiplier Controller (&lt;code>mul4_ctrl&lt;/code>)&lt;/strong>&lt;br>
Shift‑add controller with signals &lt;code>LdA,LdB,ClrP,Add,Shift,Done&lt;/code>. Start with &lt;code>start=1&lt;/code>. Iterate 4 times.&lt;/p>
&lt;p>&lt;strong>Problem 6 — 2‑Stage Pipeline &lt;code>(A+B)*C&lt;/code> with Valid/Ready (&lt;code>pipe_add_mul&lt;/code>)&lt;/strong>&lt;br>
Implement a two‑stage pipeline (add then multiply) with back‑pressure (&lt;code>in_valid/in_ready&lt;/code>, &lt;code>out_valid/out_ready&lt;/code>).&lt;/p>
&lt;p>&lt;strong>Problem 7 — CDC Bridge 1 MHz → 100 MHz (&lt;code>cdc_bridge&lt;/code>)&lt;/strong>&lt;br>
Use a &lt;code>req/ack&lt;/code> handshake and 2FF synchronizers both directions to transfer an 8‑bit word reliably.&lt;/p>
&lt;p>&lt;strong>Problem 8 — Moore FSM with Registered Output (&lt;code>moore_safe&lt;/code>)&lt;/strong>&lt;br>
Provide both combinational output &lt;code>Zc&lt;/code> and registered &lt;code>Zr&lt;/code> (hazard‑free).&lt;/p>
&lt;p>&lt;strong>Problem 9 — Sequential 4‑bit ALU (&lt;code>seq_alu4&lt;/code>)&lt;/strong>&lt;br>
Opcode: 00=ADD, 01=AND, 10=XOR, 11=SHL. Registered outputs &lt;code>Y&lt;/code> and &lt;code>Cout&lt;/code> with synchronous reset.&lt;/p>
&lt;p>&lt;strong>Problem 10 — Traffic Lights with Pedestrian Preempt (&lt;code>traffic_ped&lt;/code>)&lt;/strong>&lt;br>
Main: G×3, Y×1; Side: G×2, Y×1. Insert &lt;code>WALK&lt;/code>×4 at a safe point when &lt;code>ped_req=1&lt;/code>; resume correctly.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Deliverables:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>PDF with answers to Section A and brief design notes for Section B.&lt;/li>
&lt;li>Verilog sources for all 10 designs.&lt;/li>
&lt;li>Simulation logs/screenshots demonstrating passing testbenches.&lt;/li>
&lt;/ul></description></item><item><title>Take-Home Midterm Exam: Sequential Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/miterm_02_game/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/miterm_02_game/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Sequential logic, finite state machines, registers, counters, with Verilog modeling&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;li>Tutorial of Online tools for Verilog simulation can be found
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3-pts--30-pts">Part A — Multiple Choice (10 × 3 pts = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> Why are &lt;strong>edge-triggered flip-flops&lt;/strong> preferred over level-sensitive latches in synchronous systems?&lt;br>
A. They reduce power consumption&lt;br>
B. They eliminate race-through conditions&lt;br>
C. They operate at higher frequency inherently&lt;br>
D. They require fewer transistors&lt;/p>
&lt;p>&lt;strong>Q2.&lt;/strong> A setup time violation occurs when:&lt;br>
A. Data arrives too early before the clock edge&lt;br>
B. Data arrives too late before the clock edge&lt;br>
C. Data changes too slowly&lt;br>
D. Clock period is too long&lt;/p>
&lt;p>&lt;strong>Q3.&lt;/strong> Which of the following circuits is most prone to &lt;strong>metastability&lt;/strong>?&lt;br>
A. Combinational logic&lt;br>
B. Single flip-flop sampling asynchronous input&lt;br>
C. Synchronous counter&lt;br>
D. Registered pipeline&lt;/p>
&lt;p>&lt;strong>Q4.&lt;/strong> In a synchronous design, increasing combinational delay between registers will:&lt;br>
A. Increase hold margin&lt;br>
B. Reduce maximum clock frequency&lt;br>
C. Improve timing robustness&lt;br>
D. Eliminate hazards&lt;/p>
&lt;p>&lt;strong>Q5.&lt;/strong> A Moore FSM is generally more stable than a Mealy FSM because:&lt;br>
A. It uses fewer states&lt;br>
B. Outputs depend only on registered state&lt;br>
C. It requires no combinational logic&lt;br>
D. It runs at lower frequency&lt;/p>
&lt;p>&lt;strong>Q6.&lt;/strong> Which condition most directly causes a &lt;strong>hold time violation&lt;/strong>?&lt;br>
A. Data path too slow&lt;br>
B. Data path too fast&lt;br>
C. Clock period too long&lt;br>
D. Setup time too large&lt;/p>
&lt;p>&lt;strong>Q7.&lt;/strong> Consider the Verilog snippet:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="k">posedge&lt;/span> &lt;span class="n">clk&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">begin&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">q&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">end&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>What is the main issue?&lt;br>
A. Non-synthesizable&lt;br>
B. Blocking assignment may cause incorrect sequential behavior&lt;br>
C. Missing sensitivity list&lt;br>
D. No issue&lt;/p>
&lt;p>&lt;strong>Q8.&lt;/strong> Consider:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="k">posedge&lt;/span> &lt;span class="n">clk&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">begin&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">en&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">q&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">end&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If en = 0, what happens to q?&lt;br>
A. Becomes 0&lt;br>
B. Becomes unknown&lt;br>
C. Holds previous value&lt;br>
D. Toggles&lt;/p>
&lt;p>&lt;strong>Q9.&lt;/strong> Which Verilog construct correctly models a synchronous reset flip-flop?&lt;br>
A.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="k">posedge&lt;/span> &lt;span class="n">clk&lt;/span> &lt;span class="k">or&lt;/span> &lt;span class="k">posedge&lt;/span> &lt;span class="n">rst&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>B.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="k">posedge&lt;/span> &lt;span class="n">clk&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>C.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-verilog" data-lang="verilog">&lt;span class="line">&lt;span class="cl">&lt;span class="k">always&lt;/span> &lt;span class="p">@(&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>D. Both A and B&lt;/p>
&lt;p>&lt;strong>Q10.&lt;/strong> In FSM coding, separating state register and next-state logic helps:&lt;br>
A. Reduce power only&lt;br>
B. Improve readability and avoid unintended latches&lt;br>
C. Increase clock frequency directly&lt;br>
D. Eliminate combinational logic&lt;/p>
&lt;hr>
&lt;h2 id="part-b--sequential-design-analysis-and-schematic-10--7--70-pts">Part B — Sequential Design, Analysis, and Schematic (10 × 7 = 70 pts)&lt;/h2>
&lt;p>&lt;strong>Problem 1 — Hazard Propagation into Sequential Logic&lt;/strong>&lt;/p>
&lt;p>Given combinational logic feeding a flip-flop:&lt;/p>
&lt;p>\(F = A'B + AB'\)&lt;/p>
&lt;p>a) Determine whether a &lt;strong>static-1 hazard&lt;/strong> exists. Justify using Boolean reasoning&lt;br>
b) Draw a timing diagram where input transitions cause a glitch&lt;br>
c) Explain how this glitch can be &lt;strong>captured by a flip-flop&lt;/strong>&lt;br>
d) Modify the logic to eliminate the hazard and draw the corrected schematic&lt;br>
e) Explain why hazard removal is critical in synchronous pipelines&lt;/p>
&lt;p>&lt;strong>Problem 2 — Multi-Cycle Pulse Generator&lt;/strong>&lt;/p>
&lt;p>Design a synchronous circuit that generates an output pulse of &lt;strong>exactly 4 clock cycles&lt;/strong> upon detecting a rising edge on input &lt;code>x&lt;/code>.&lt;/p>
&lt;p>a) Define the required states and draw the FSM diagram&lt;br>
b) Provide a complete state transition table&lt;br>
c) Derive next-state equations&lt;br>
d) Draw the full schematic (flip-flops + combinational logic)&lt;br>
e) Describe behavior if &lt;code>x&lt;/code> is asserted again during the active pulse&lt;/p>
&lt;p>&lt;strong>Problem 3 — Self-Correcting Mod-6 Counter&lt;/strong>&lt;/p>
&lt;p>Design a synchronous &lt;strong>mod-6 counter (0–5)&lt;/strong> that &lt;strong>recovers automatically from invalid states&lt;/strong>.&lt;/p>
&lt;p>a) Draw the state transition diagram including invalid states&lt;br>
b) Specify recovery transitions&lt;br>
c) Choose a state encoding and justify&lt;br>
d) Derive next-state logic equations&lt;br>
e) Draw the complete schematic&lt;br>
f) Explain why self-correction is important in real hardware&lt;/p>
&lt;p>&lt;strong>Problem 4 — Sequence Detector with Overlap and Reset&lt;/strong>&lt;/p>
&lt;p>Design an FSM that detects the sequence &lt;code>1101&lt;/code> with overlap allowed.&lt;/p>
&lt;p>a) Draw the state diagram (minimal states)&lt;br>
b) Provide the state transition table&lt;br>
c) Derive output logic for a Mealy implementation&lt;br>
d) Convert to a Moore implementation&lt;br>
e) Compare:&lt;/p>
&lt;ul>
&lt;li>output timing&lt;/li>
&lt;li>number of states&lt;br>
f) Add a synchronous reset and explain its effect&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problem 5 — Timing Closure and Pipeline Insertion&lt;/strong>&lt;/p>
&lt;p>A sequential circuit has:&lt;/p>
&lt;ul>
&lt;li>t_clk-q = 1 ns&lt;/li>
&lt;li>t_comb = 10 ns&lt;/li>
&lt;li>t_setup = 2 ns&lt;/li>
&lt;/ul>
&lt;p>a) Compute the minimum clock period and maximum frequency&lt;br>
b) Determine if the design meets a 100 MHz requirement&lt;br>
c) Insert one pipeline stage and redraw the system&lt;br>
d) Recompute timing after pipelining&lt;br>
e) Discuss:&lt;/p>
&lt;ul>
&lt;li>latency increase&lt;/li>
&lt;li>throughput improvement&lt;/li>
&lt;li>design tradeoffs&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problem 6 — Serial Pattern Detection: Architecture Comparison&lt;/strong>&lt;/p>
&lt;p>Design a system to detect &lt;strong>five consecutive 1s&lt;/strong> in a serial bitstream.&lt;/p>
&lt;p>a) Implement using a &lt;strong>shift register approach&lt;/strong> (block diagram)&lt;br>
b) Implement using an &lt;strong>FSM approach&lt;/strong> (state diagram)&lt;br>
c) Compare:&lt;/p>
&lt;ul>
&lt;li>hardware cost&lt;/li>
&lt;li>detection latency&lt;/li>
&lt;li>scalability for longer patterns&lt;br>
d) Explain which design is preferred in ASIC vs FPGA contexts&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problem 7 — Reliable Clock Domain Crossing (CDC)&lt;/strong>&lt;/p>
&lt;p>Design a system to safely transfer an &lt;strong>8-bit data word&lt;/strong> between two clock domains.&lt;/p>
&lt;p>a) Explain why a simple 2-FF synchronizer is insufficient&lt;br>
b) Draw a &lt;strong>handshake-based CDC architecture&lt;/strong>&lt;br>
c) Provide a timing diagram showing req/ack interaction&lt;br>
d) Explain how data integrity and ordering are preserved&lt;br>
e) Discuss limitations of this approach&lt;/p>
&lt;p>&lt;strong>Problem 8 — Glitch-Free Output Design&lt;/strong>&lt;/p>
&lt;p>An FSM controls a critical signal that must &lt;strong>never glitch&lt;/strong>.&lt;/p>
&lt;p>a) Explain why Mealy outputs may produce glitches&lt;br>
b) Convert a Mealy FSM into a glitch-free Moore FSM&lt;br>
c) Draw schematic with registered outputs&lt;br>
d) Analyze timing impact (one-cycle delay, stability)&lt;br>
e) Discuss when Mealy design is still preferred&lt;/p>
&lt;p>&lt;strong>Problem 9 — Sequential Resource Sharing&lt;/strong>&lt;/p>
&lt;p>Design a system to compute:&lt;/p>
&lt;p>\(Y = A + B + C + D\)&lt;/p>
&lt;p>using a &lt;strong>single adder reused over multiple cycles&lt;/strong>.&lt;/p>
&lt;p>a) Draw the datapath (registers, muxes, adder)&lt;br>
b) Design the control FSM (states and transitions)&lt;br>
c) Provide a cycle-by-cycle execution table&lt;br>
d) Compare with parallel implementation:&lt;/p>
&lt;ul>
&lt;li>area&lt;/li>
&lt;li>latency&lt;/li>
&lt;li>throughput&lt;br>
e) Explain when sequential reuse is advantageous&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problem 10 — Fair Traffic Controller with Priority and Starvation Avoidance&lt;/strong>&lt;/p>
&lt;p>Design a traffic controller with:&lt;/p>
&lt;ul>
&lt;li>Main road (high priority)&lt;/li>
&lt;li>Side road (low priority)&lt;/li>
&lt;li>Pedestrian request input&lt;/li>
&lt;/ul>
&lt;p>a) Define system states and timing requirements&lt;br>
b) Draw FSM diagram&lt;br>
c) Explain how priority is enforced for main road&lt;br>
d) Design a mechanism to prevent starvation of side road and pedestrians&lt;br>
e) Ensure all transitions are safe (no conflicting greens)&lt;br>
f) Discuss how the design can scale to more lanes or intersections&lt;/p>
&lt;hr></description></item><item><title>Take-Home Midterm Exam (Makeup): Sequential Circuits and Verilog</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_game_mp/</link><pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/miterm_02_game_mp/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Sequential logic, finite state machines, registers, counters, with Verilog modeling&lt;br>
&lt;strong>Duration:&lt;/strong> 48 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;li>Provide &lt;strong>commented, synthesizable Verilog&lt;/strong> and a &lt;strong>self‑checking testbench&lt;/strong> where requested.&lt;/li>
&lt;li>Include brief timing/area reasoning (big‑O style or gate/count estimates).&lt;/li>
&lt;li>No collaboration. Cite any external references you consulted.&lt;/li>
&lt;li>Tutorial of Online tools for Verilog simulation can be found
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-10--3-pts--30-pts">Part A — Multiple Choice (10 × 3 pts = 30 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> The primary reason metastability cannot be completely eliminated in synchronous systems is:&lt;/p>
&lt;ul>
&lt;li>A. Setup and hold times are always zero in practice&lt;/li>
&lt;li>B. Flip-flops rely on analog behavior near threshold regions&lt;/li>
&lt;li>C. Clocks in synchronous systems naturally drift&lt;/li>
&lt;li>D. Combinational gates inherently produce glitches&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q2.&lt;/strong> A level-sensitive latch used inside a two-phase latch pipeline must satisfy which condition to avoid races?&lt;/p>
&lt;ul>
&lt;li>A. Both latches must be transparent at the same time&lt;/li>
&lt;li>B. The two clocks must overlap for reliable data transfer&lt;/li>
&lt;li>C. The two clocks must be non-overlapping&lt;/li>
&lt;li>D. Both latches must be opaque for half the cycle&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q3.&lt;/strong> A master–slave flip-flop is functionally equivalent to:&lt;/p>
&lt;ul>
&lt;li>A. Two positive-edge-triggered flip-flops in series&lt;/li>
&lt;li>B. A positive-level latch feeding a negative-level latch&lt;/li>
&lt;li>C. A single negative-level latch&lt;/li>
&lt;li>D. A pair of asynchronous SR latches&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q4.&lt;/strong> The &lt;em>maximum&lt;/em> safe operating frequency of a synchronous sequential circuit is limited by:&lt;/p>
&lt;ul>
&lt;li>A. Clock skew plus the hold time requirement&lt;/li>
&lt;li>B. The minimum propagation delay of the flip-flop&lt;/li>
&lt;li>C. The longest register-to-register combinational path plus setup time&lt;/li>
&lt;li>D. The number of flip-flops in the design&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q5.&lt;/strong> A state machine experiences a transient illegal state during power-up but self-recovers within two cycles. This is most likely due to:&lt;/p>
&lt;ul>
&lt;li>A. Bad next-state logic&lt;/li>
&lt;li>B. Incomplete state encoding causing metastability&lt;/li>
&lt;li>C. Lack of synchronous reset initialization&lt;/li>
&lt;li>D. Excessive gate fan-out in the critical path&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q6.&lt;/strong> A Mealy FSM can produce output glitches primarily because:&lt;/p>
&lt;ul>
&lt;li>A. Its outputs change only on clock edges&lt;/li>
&lt;li>B. It depends directly on asynchronous inputs&lt;/li>
&lt;li>C. Its outputs are combinational functions of both state and inputs&lt;/li>
&lt;li>D. It always requires one extra pipeline stage&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q7.&lt;/strong> Gray-coded counters are often used in multi-clock systems because:&lt;/p>
&lt;ul>
&lt;li>A. They require fewer flip-flops than binary counters&lt;/li>
&lt;li>B. Only one bit changes per transition, minimizing sampling hazards&lt;/li>
&lt;li>C. They operate at higher maximum clock frequencies&lt;/li>
&lt;li>D. They automatically synchronize across domains&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q8.&lt;/strong> In a synchronizer chain for CDC (clock-domain crossing), increasing the number of flip-flops:&lt;/p>
&lt;ul>
&lt;li>A. Eliminates metastability completely&lt;/li>
&lt;li>B. Reduces metastability probability exponentially&lt;/li>
&lt;li>C. Increases metastability probability linearly&lt;/li>
&lt;li>D. Has no effect on metastability at all&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q9.&lt;/strong> Which Verilog description is most likely to unintentionally infer a latch?&lt;/p>
&lt;ul>
&lt;li>A. &lt;code>always @(posedge clk)&lt;/code> with full assignment&lt;/li>
&lt;li>B. &lt;code>always @(*)&lt;/code> missing an &lt;code>else&lt;/code> assignment&lt;/li>
&lt;li>C. A continuous assignment with XOR logic&lt;/li>
&lt;li>D. A blocking assignment inside a clocked block&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q10.&lt;/strong> A multi-port register file supporting simultaneous read and write must ensure:&lt;/p>
&lt;ul>
&lt;li>A. Writes occur asynchronously to avoid data hazards&lt;/li>
&lt;li>B. Read ports are implemented with edge-triggered flip-flops&lt;/li>
&lt;li>C. Write operations are synchronized and typically prioritized over reads&lt;/li>
&lt;li>D. Read-after-write data hazards are resolved with bypass logic or forwarding&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-b--design--analysis-10--7--70-pts">Part B — Design &amp;amp; Analysis (10 × 7 = 70 pts)&lt;/h2>
&lt;p>For each problem, complete the Verilog template in the
and verify using the provided self‑checking testbench.
Name your top‑level modules exactly as specified.&lt;/p>
&lt;p>&lt;strong>Files provided (in the questions zip):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Templates: &lt;code>*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Testbenches: &lt;code>tb_*.v&lt;/code> (one per problem)&lt;/li>
&lt;li>Timescale: &lt;code>1ns/1ps&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Problems:&lt;/strong>&lt;/p>
&lt;p>&lt;strong>Problem 1 — Synchronizer + Edge Detect (&lt;code>sync_edge&lt;/code>)&lt;/strong>&lt;br>
Synchronize asynchronous &lt;code>btn_async&lt;/code> into &lt;code>clk&lt;/code> with a two‑FF synchronizer; output &lt;code>btn_sync&lt;/code> level and one‑cycle &lt;code>btn_pulse&lt;/code> on rising edges. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 2 — Dual‑Edge Capture (&lt;code>ddr_reg&lt;/code>)&lt;/strong>&lt;br>
Capture &lt;code>D&lt;/code> on posedge into &lt;code>Q_pos&lt;/code> and on negedge into &lt;code>Q_neg&lt;/code>. Active‑low &lt;code>rst_n&lt;/code>.&lt;/p>
&lt;p>&lt;strong>Problem 3 — Mealy Sequence Detector “11010” (&lt;code>seq_11010_mealy&lt;/code>)&lt;/strong>&lt;br>
Detect the overlapping pattern and assert &lt;code>Z&lt;/code> on the final bit. Use a minimal FSM.&lt;/p>
&lt;p>&lt;strong>Problem 4 — Mod‑6 Up/Down Counter with Enable (&lt;code>mod6_counter&lt;/code>)&lt;/strong>&lt;br>
3‑bit counter over 0..5. &lt;code>En&lt;/code> gates counting; &lt;code>Dir=1&lt;/code> up, &lt;code>0&lt;/code> down. Synchronous reset to 0.&lt;/p>
&lt;p>&lt;strong>Problem 5 — 4×4 Serial Multiplier Controller (&lt;code>mul4_ctrl&lt;/code>)&lt;/strong>&lt;br>
Shift‑add controller with signals &lt;code>LdA,LdB,ClrP,Add,Shift,Done&lt;/code>. Start with &lt;code>start=1&lt;/code>. Iterate 4 times.&lt;/p>
&lt;p>&lt;strong>Problem 6 — 2‑Stage Pipeline &lt;code>(A+B)*C&lt;/code> with Valid/Ready (&lt;code>pipe_add_mul&lt;/code>)&lt;/strong>&lt;br>
Implement a two‑stage pipeline (add then multiply) with back‑pressure (&lt;code>in_valid/in_ready&lt;/code>, &lt;code>out_valid/out_ready&lt;/code>).&lt;/p>
&lt;p>&lt;strong>Problem 7 — CDC Bridge 1 MHz → 100 MHz (&lt;code>cdc_bridge&lt;/code>)&lt;/strong>&lt;br>
Use a &lt;code>req/ack&lt;/code> handshake and 2FF synchronizers both directions to transfer an 8‑bit word reliably.&lt;/p>
&lt;p>&lt;strong>Problem 8 — Moore FSM with Registered Output (&lt;code>moore_safe&lt;/code>)&lt;/strong>&lt;br>
Provide both combinational output &lt;code>Zc&lt;/code> and registered &lt;code>Zr&lt;/code> (hazard‑free).&lt;/p>
&lt;p>&lt;strong>Problem 9 — Sequential 4‑bit ALU (&lt;code>seq_alu4&lt;/code>)&lt;/strong>&lt;br>
Opcode: 00=ADD, 01=AND, 10=XOR, 11=SHL. Registered outputs &lt;code>Y&lt;/code> and &lt;code>Cout&lt;/code> with synchronous reset.&lt;/p>
&lt;p>&lt;strong>Problem 10 — Traffic Lights with Pedestrian Preempt (&lt;code>traffic_ped&lt;/code>)&lt;/strong>&lt;br>
Main: G×3, Y×1; Side: G×2, Y×1. Insert &lt;code>WALK&lt;/code>×4 at a safe point when &lt;code>ped_req=1&lt;/code>; resume correctly.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Deliverables:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>PDF with answers to Section A and brief design notes for Section B.&lt;/li>
&lt;li>Verilog sources for all 10 designs.&lt;/li>
&lt;li>Simulation logs/screenshots demonstrating passing testbenches.&lt;/li>
&lt;/ul></description></item><item><title>Practice Final Exam</title><link>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/final_practice/</link><pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2025_fall/final_practice/</guid><description>&lt;p>&lt;strong>Scope:&lt;/strong> Combinational Logic, Sequential logic, RTL Design&lt;br>
&lt;strong>Duration:&lt;/strong> 2 hours&lt;br>
&lt;strong>Instructions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Attempt &lt;strong>all&lt;/strong> questions. Show reasoning, derivations, and clearly state assumptions.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-a--multiple-choice-5--4-pts--20-pts">Part A — Multiple Choice (5 × 4 pts = 20 pts)&lt;/h2>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;p>&lt;strong>Q1.&lt;/strong> In a pipelined RTL datapath, a structural hazard occurs when:&lt;/p>
&lt;ul>
&lt;li>A. Multiple pipeline stages need the same hardware resource&lt;/li>
&lt;li>B. Instructions depend on the results of prior instructions&lt;/li>
&lt;li>C. The clock frequency is too low&lt;/li>
&lt;li>D. Control signals are not registered&lt;br>
&lt;strong>Answer:&lt;/strong> A&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q2.&lt;/strong> In a synchronous design, increasing the number of pipeline registers generally:&lt;/p>
&lt;ul>
&lt;li>A. Increases the critical-path delay&lt;/li>
&lt;li>B. Decreases the maximum clock frequency&lt;/li>
&lt;li>C. Reduces combinational delay per stage&lt;/li>
&lt;li>D. Eliminates data hazards entirely&lt;br>
&lt;strong>Answer:&lt;/strong> C&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q3.&lt;/strong> A register file with two read ports and one write port requires:&lt;/p>
&lt;ul>
&lt;li>A. Two physical register copies&lt;/li>
&lt;li>B. One array with dual-read-access mechanisms&lt;/li>
&lt;li>C. Flip-flops instead of memory cells&lt;/li>
&lt;li>D. A clock enable on its read ports&lt;br>
&lt;strong>Answer:&lt;/strong> B&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q4.&lt;/strong> In RTL modeling, the primary purpose of the register-transfer level is to:&lt;/p>
&lt;ul>
&lt;li>A. Automatically generate physical layout&lt;/li>
&lt;li>B. Describe asynchronous data transfers&lt;/li>
&lt;li>C. Capture clocked state transitions and datapath flow&lt;/li>
&lt;li>D. Specify combinational logic through truth tables&lt;br>
&lt;strong>Answer:&lt;/strong> C&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Q5.&lt;/strong> A Mealy-type controller is preferred over a Moore-type controller when:&lt;/p>
&lt;ul>
&lt;li>A. Output latency must be minimized&lt;/li>
&lt;li>B. Excessive noise immunity is required&lt;/li>
&lt;li>C. Outputs must be stable throughout the clock cycle&lt;/li>
&lt;li>D. A synchronous datapath is not available&lt;br>
&lt;strong>Answer:&lt;/strong> A&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-b--design--analysis-8--10-pts--80-pts">Part B — Design &amp;amp; Analysis (8 × 10 pts = 80 pts)&lt;/h2>
&lt;h3 id="problem-1--4-cycle-micro-operation-sequencing">&lt;strong>Problem 1&lt;/strong> — 4-Cycle Micro-operation Sequencing&lt;/h3>
&lt;p>Design a 4-cycle Moore FSM and datapath for:&lt;/p>
&lt;ol>
&lt;li>&lt;code>R1 ← R0 + R2&lt;/code>&lt;/li>
&lt;li>&lt;code>R3 ← R1&lt;/code>&lt;/li>
&lt;li>&lt;code>R4 ← R3 - 1&lt;/code>&lt;/li>
&lt;li>&lt;code>R5 ← R4&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>Show datapath (ALU, MUXes, reg enables) and FSM transitions.&lt;/p>
&lt;h3 id="problem-2--3-input-conditional-datapath">&lt;strong>Problem 2&lt;/strong> — 3-Input Conditional Datapath&lt;/h3>
&lt;p>Implement:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">if (A &amp;gt; B)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> X ← A - C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">else
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> X ← B + C
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Draw datapath (CMP, ALU, MUX) and two-cycle control sequence.&lt;/p>
&lt;h3 id="problem-3--4-bit-barrel-shifter">&lt;strong>Problem 3&lt;/strong> — 4-bit Barrel Shifter&lt;/h3>
&lt;p>Draw a 4-bit rotate-left barrel shifter (k ∈ {0,1,2,3}) with MUX stages.&lt;/p>
&lt;h3 id="problem-4--5-state-memory-controller">&lt;strong>Problem 4&lt;/strong> — 5-State Memory Controller&lt;/h3>
&lt;p>States: &lt;code>IDLE → REQ → WAIT → LATCH → DONE&lt;/code>&lt;br>
WAIT repeats until &lt;code>mem_ready=1&lt;/code>.&lt;br>
Draw state diagram + control signals.&lt;/p>
&lt;h3 id="problem-5--16-bit-accumulator">&lt;strong>Problem 5&lt;/strong> — 16-bit Accumulator&lt;/h3>
&lt;p>Accumulator operations:&lt;/p>
&lt;ul>
&lt;li>&lt;code>ACC ← ACC + IN&lt;/code>&lt;/li>
&lt;li>&lt;code>ACC ← IN&lt;/code>&lt;/li>
&lt;li>&lt;code>ACC ← 0&lt;/code>&lt;br>
Show ALU, zero-path, MUXing, ACC register control.&lt;/li>
&lt;/ul>
&lt;h3 id="problem-6--pipeline-raw-hazard-detection">&lt;strong>Problem 6&lt;/strong> — Pipeline RAW Hazard Detection&lt;/h3>
&lt;p>For a 2-stage pipeline (F → X), draw RAW hazard detection hardware and stall logic.&lt;/p>
&lt;h3 id="problem-7--signedunsigned-compare-block">&lt;strong>Problem 7&lt;/strong> — Signed/Unsigned Compare Block&lt;/h3>
&lt;p>Mode bit: &lt;code>0 = signed&lt;/code>, &lt;code>1 = unsigned&lt;/code>.&lt;br>
Draw comparator datapath + control.&lt;/p>
&lt;h3 id="problem-8--iterative-multiply-datapath">&lt;strong>Problem 8&lt;/strong> — Iterative Multiply Datapath&lt;/h3>
&lt;p>Given:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">P ← P + A (if B[0]=1)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A ← A &amp;lt;&amp;lt; 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">B ← B &amp;gt;&amp;gt; 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Draw shift registers, adder, and control FSM.&lt;br>
Show cycle-by-cycle micro-ops.&lt;/p></description></item><item><title>DOE Genesis Mission: STRATOS: Security and Trust Runtime Architecture for Time-critical Operational Science</title><link>https://gustybear.github.io/grant/2026_doe_ascr_stratos/</link><pubDate>Mon, 17 Aug 2026 10:10:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2026_doe_ascr_stratos/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>STRATOS develops a cloud-native, model-agnostic security middleware for protecting AI models used in time-critical scientific and energy-system operations. AI is increasingly embedded in workflows such as grid forecasting, contingency analysis, and operational decision making, creating new risks from adversarial perturbations, inference-time evasion, and backdoor attacks that may remain physically plausible while corrupting model outputs. STRATOS addresses this problem through a physics-grounded DevSecOps architecture that continuously evaluates inference streams, computes certified trust scores, and distinguishes malicious manipulation from legitimate operational variability without requiring modification of the protected model.&lt;/p>
&lt;p>The project combines physics-constrained adversarial emulation, imbalance-resilient certified detection, and a multi-tier runtime mitigation pipeline that includes targeted input purification, Control Barrier Function-based graceful degradation, and quarantine or rollback of compromised data and models. The Phase I system will be evaluated across the University of Hawaiʻi at Mānoa campus microgrid and Argonne National Laboratory&amp;rsquo;s Controller-Hardware-in-the-Loop platform, targeting at least 90% certified detection, no more than 5% false positives, at least 95% interception of synthesized adversarial payloads, and end-to-end latency of 20 ms or less. The longer-term goal is to transition STRATOS toward a federated security architecture for trustworthy AI across DOE scientific computing and critical-infrastructure environments.&lt;/p></description></item><item><title>CyberAI Innovation: Securing Artificial Intelligence Agents: A Scenario-Based Educational Platform for Future Cybersecurity Professionals</title><link>https://gustybear.github.io/grant/2026_nsf_ge_cyberai/</link><pubDate>Sat, 15 Aug 2026 15:29:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2026_nsf_ge_cyberai/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>AI agents that autonomously browse the web, manage email, execute code, and query databases are being deployed across federal agencies at accelerating pace. These agents create a qualitatively new attack surface: a poisoned email can cause an agent to exfiltrate files; a malicious code comment can redirect an execution pipeline; a hidden webpage instruction can hijack a browsing session. Yet cybersecurity education has not kept pace. Existing AI security tools (Lakera Gandalf, OWASP LLM labs, CTF competitions) teach only chatbot-level prompt injection, a single-turn, text-only model that does not prepare students for agent-mediated threats involving tool access, autonomous action, and multi-step reasoning chains.&lt;/p>
&lt;p>This project develops &lt;em>AgentSec&lt;/em>, a scenario-based educational platform that teaches undergraduate cybersecurity students to identify, exploit, and defend against threats unique to autonomous AI agents, organized into three thrusts. Thrust 1 creates the educational framework, where a trust boundary taxonomy organizes agent vulnerabilities into three progressive categories, i.e., data ingestion, tool-action, and reasoning chain boundaries. This gives students a transferable mental model. Based on the taxonomy, we design a three-module curriculum with six organization-contextualized scenarios, red-team/blue-team experiential learning cycles, and a configurable difficulty framework. Thrust 2 builds the educational technology, where we develop sandboxed environments to enable students&amp;rsquo; interaction with real LLM-powered agents with controlled tool access, a layered assessment system with an AI tutoring agent, an instructor analytics dashboard, and a scenario authoring toolkit for community-contributed content. Thrust 3 evaluates impact through a quasi-experimental study, assessing platform quality, student learning, and workforce placement into government and industry CyberAI roles. All code will be open-source, self-hostable via Docker Compose with open-weight models, and released through CLARK for nationwide adoption.&lt;/p></description></item><item><title>NVIDIA Academic Grant Program: OmniPort: Real-Time Semantic Digital Twins via ISAC and AI-RAN for Smart Ports</title><link>https://gustybear.github.io/grant/2026_nvidia_omniport/</link><pubDate>Sat, 15 Aug 2026 15:29:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2026_nvidia_omniport/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>OmniPort develops a real-time intelligent wireless and digital-twin platform for safer and more efficient autonomous operations in container ports. Ports are particularly challenging environments for robots because stacked metal containers obstruct GPS and line-of-sight sensors while producing strong wireless multipath. Instead of treating these reflections solely as interference, OmniPort uses integrated sensing and communication (ISAC) to extract information from routine robot uplink signals, enabling around-corner hazard detection and GPS-free robot localization. An AI-RAN then combines these sensing results with robot mobility and network telemetry to predict wireless conditions, dynamically allocate network resources, and maintain low-latency communication for safety-critical operations.&lt;/p>
&lt;p>The project integrates these capabilities into an uncertainty-aware semantic digital twin that represents container geometry, robot movement, hazards, and wireless connectivity in real time. Rather than continuously transmitting camera video, operators can supervise robot fleets through a privacy-preserving VR environment generated from this semantic information, with warnings for collision risks, connectivity degradation, and emerging hazards. The platform uses four on-premises NVIDIA RTX PRO 6000 GPUs to support concurrent ISAC processing, AI-RAN control, NVIDIA Isaac Sim/Cosmos-based digital-twin reasoning, and Omniverse VR visualization, targeting an end-to-end control latency below 50 ms. The resulting technologies, software, and datasets are intended to provide a foundation for intelligent robotic operations in Hawaiʻi’s ports and other complex industrial environments.&lt;/p></description></item><item><title>ECE260: Introduction to Digital Design</title><link>https://gustybear.github.io/teaching/course_ece260_2026_fall/</link><pubDate>Mon, 10 Aug 2026 02:58:53 +0000</pubDate><guid>https://gustybear.github.io/teaching/course_ece260_2026_fall/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This course explores the foundation of digital circuit design, starting from Boolean algebra, through combinational and sequential logic, to finite state machines and basic central processing units (CPUs) under von Neumann architecture. The associated laboratory segment introduces modern digital design techniques, e.g., Verilog hardware description language (HDL) and field-programmable gate array (FPGA), to model, implement, and test the aforementioned digital circuits. Pre: 160 or 110 or ICS 111 or consent.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ECE260 001&lt;/th>
&lt;th>ECE260 002&lt;/th>
&lt;th>ECE260 003&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>78638&lt;/td>
&lt;td>78639&lt;/td>
&lt;td>78640&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Role / Personnel&lt;/th>
&lt;th>Assigned Session&lt;/th>
&lt;th>Office Hours / Notes&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Lecturer:
&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>see
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TA:
&lt;/td>
&lt;td>Session 1 (R 09:00am - 11:45am)&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TA:
&lt;/td>
&lt;td>Session 2 (R 13:30pm - 16:15pm)&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TA:
&lt;/td>
&lt;td>Session 3 (R 16:30pm - 19:15pm)&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Classroom&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;th>Textbook/HW&lt;/th>
&lt;th>HW/Exam Effort&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>MWF 11:30 am-12:20pm&lt;/td>
&lt;td>Kuykendall Hall 101&lt;/td>
&lt;td>
&lt;/td>
&lt;td>Individual&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Laboratory&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;th>Report Effort&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>01&lt;/td>
&lt;td>R 09:00am - 11:45am&lt;/td>
&lt;td>Holmes Hall 451&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>02&lt;/td>
&lt;td>R 13:30pm - 16:15pm&lt;/td>
&lt;td>Holmes Hall 451&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>03&lt;/td>
&lt;td>R 16:30pm - 19:15pm&lt;/td>
&lt;td>Holmes Hall 451&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="grading">Grading&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Breakdown&lt;/strong>&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Participation&lt;/th>
&lt;th>Challenge&lt;/th>
&lt;th>Labs&lt;/th>
&lt;th>Midterms (2)&lt;/th>
&lt;th>Final&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>5%&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>30%&lt;/td>
&lt;td>25%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>85%&lt;/td>
&lt;td>75%&lt;/td>
&lt;td>60%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Proscribed Conduct&lt;/strong>: Copying or otherwise cheating on homework, lab reports, or exam will result in a failing grade for the course. More details can be found at student conduct code policies,
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="schedule">Schedule&lt;/h1>
&lt;h2 id="lecture">Lecture&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>TOPICS&lt;/th>
&lt;th>READING/HW/EXAM&lt;/th>
&lt;th>DEADLINE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 1 (8/24, 8/26, 8/28)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>8/30, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 (8/31, 9/2, 9/4)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/6, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 (9/7)&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Labor Day&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 (9/9, 9/11)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/13, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 (9/14, 9/16, 9/18)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/20, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 (9/21, 9/23, 9/25)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/27, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 (9/28)&lt;/td>
&lt;td>Combinational Logic: Design Process&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 (9/30)&lt;/td>
&lt;td>&lt;strong>Midterm I Review&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 (10/2)&lt;/td>
&lt;td>&lt;strong>Midterm I — In Person&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 (10/5, 10/7, 10/9)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/11, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 (10/12, 10/14, 10/16)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/18, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 (10/19, 10/21, 10/23)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/25, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (10/26)&lt;/td>
&lt;td>Sequential Logic: Arithmetic Logic Unit&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (10/28)&lt;/td>
&lt;td>&lt;strong>Midterm II Review&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (10/30)&lt;/td>
&lt;td>&lt;strong>Midterm II — In Person&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (11/2, 11/4, 11/6)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/8, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (11/9)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/15, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (11/11)&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Veterans Day&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (11/13)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (11/16, 11/18, 11/20)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/22, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (11/23, 11/25)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/29, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (11/27)&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Thanksgiving Period&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (11/30, 12/2, 12/4)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>12/6, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (12/7, 12/9)&lt;/td>
&lt;td>Review, Practice Final&lt;/td>
&lt;td>Practice Final&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Study Period (12/11–12/12)&lt;/td>
&lt;td>&lt;strong>Study Period&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Finals (12/18)&lt;/td>
&lt;td>&lt;strong>Friday 12:00 – 2:00 pm&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>12/18, 2:00PM&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="laboratory">Laboratory&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>Materials&lt;/th>
&lt;th>Virtual&lt;/th>
&lt;th>DEADLINE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 1 (8/27)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>8/30, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 (9/3)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/6, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 (9/10)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 (9/17)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>9/20, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 (9/24)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 (10/1)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/4, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 (10/8)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/11, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 (10/15)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>10/18, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 (10/22)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (10/29)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/1, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (11/5)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/8, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (11/12)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11/15, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (11/19)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (11/26)&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Thanksgiving&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (12/3)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>12/6, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (12/10)&lt;/td>
&lt;td>Lab Completion&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>12/10, 11:59PM&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>The grading breakdown is subject to change at the discretion of the instructor and in accordance with the University grading system and policies.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>ECE361: Digital Systems and Computer Design</title><link>https://gustybear.github.io/teaching/course_ece361_2026_fall/</link><pubDate>Mon, 10 Aug 2026 02:58:53 +0000</pubDate><guid>https://gustybear.github.io/teaching/course_ece361_2026_fall/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>ECE 361 is an undergraduate-level course on computer organization and processor design. This course explores the fundamental organization and design of computer systems, starting from computer architecture and instruction set architecture (ISA), through processor datapath and control design, to arithmetic logic units (ALUs), memory organization, and input/output (I/O) systems. The course also introduces SystemVerilog for modeling, implementing, and testing processor components and computer systems, providing students with hands-on experience in hardware-oriented system design. Pre: 205 and 260, or consent.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ECE361 001&lt;/th>
&lt;th>ECE361L 001&lt;/th>
&lt;th>ECE361L 002&lt;/th>
&lt;th>ECE361L 003&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>77422&lt;/td>
&lt;td>77643&lt;/td>
&lt;td>77644&lt;/td>
&lt;td>77645&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Role / Personnel&lt;/th>
&lt;th>Assigned Session&lt;/th>
&lt;th>Office Hours / Notes&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Lecturer:
&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>see
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TA:
&lt;/td>
&lt;td>Session 1 (T 09:00am - 11:45am)&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TA:
&lt;/td>
&lt;td>Session 2 (T 13:30pm - 16:15pm)&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Classroom&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;th>Textbook/HW&lt;/th>
&lt;th>HW/Exam Effort&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>MWF 09:30am-10:20am&lt;/td>
&lt;td>Holmes Hall 242&lt;/td>
&lt;td>&lt;em>Logic Design and Verification Using SystemVerilog (Revised)&lt;/em> by Donald Thomas&lt;/td>
&lt;td>Individual&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;em>Computer Organization and Design: The Hardware/Software Interface — MIPS Edition&lt;/em> by Patterson and Hennessy&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Laboratory&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;th>Report Effort&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>01&lt;/td>
&lt;td>T 09:00am - 11:45am&lt;/td>
&lt;td>Holmes Hall 451&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>02&lt;/td>
&lt;td>T 13:30pm - 16:15pm&lt;/td>
&lt;td>Holmes Hall 451&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="grading">Grading&lt;/h1>
&lt;ul>
&lt;li>&lt;strong>Breakdown&lt;/strong>&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/li>
&lt;/ul>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Midterm Exam 1&lt;/th>
&lt;th>Midterm Exam 2&lt;/th>
&lt;th>Final Exam&lt;/th>
&lt;th>Homeworks / Take-Home Quizzes&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>25%&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>25%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;strong>Cutoffs&lt;/strong>&lt;/li>
&lt;/ul>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A&lt;/th>
&lt;th>A-&lt;/th>
&lt;th>B+&lt;/th>
&lt;th>B&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C+&lt;/th>
&lt;th>C&lt;/th>
&lt;th>C-&lt;/th>
&lt;th>D+&lt;/th>
&lt;th>D&lt;/th>
&lt;th>D-&lt;/th>
&lt;th>F&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>90%&lt;/td>
&lt;td>87%&lt;/td>
&lt;td>83%&lt;/td>
&lt;td>80%&lt;/td>
&lt;td>77%&lt;/td>
&lt;td>73%&lt;/td>
&lt;td>70%&lt;/td>
&lt;td>67%&lt;/td>
&lt;td>63%&lt;/td>
&lt;td>60%&lt;/td>
&lt;td>57%&lt;/td>
&lt;td>&amp;lt;57%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;strong>Proscribed Conduct&lt;/strong>: Copying or otherwise cheating on homework, lab reports, or exam will result in a failing grade for the course. More details can be found at student conduct code policies,
&lt;/li>
&lt;/ul>
&lt;h1 id="schedule">Schedule&lt;/h1>
&lt;h2 id="lecture">Lecture&lt;/h2>
&lt;h2 id="lecture-1">Lecture&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>TOPICS&lt;/th>
&lt;th>READING / HW / EXAM&lt;/th>
&lt;th>DEADLINE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 1 — Mon. 8/24/2026&lt;/td>
&lt;td>Introduction / Review Part 1: Data&lt;/td>
&lt;td>Data representation, conversions, signed integers, arithmetic&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 1 — Wed. 8/26/2026&lt;/td>
&lt;td>Review Part 2: Logic Operations&lt;/td>
&lt;td>Logic operations and Boolean concepts&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 1 — Fri. 8/28/2026&lt;/td>
&lt;td>Review Part 3: Combinational Circuits&lt;/td>
&lt;td>Combinational logic and circuit design&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 — Mon. 8/31/2026&lt;/td>
&lt;td>Review Part 4: Sequential Circuits&lt;/td>
&lt;td>Sequential logic and state&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 — Wed. 9/2/2026&lt;/td>
&lt;td>SystemVerilog I: Combinational Circuits&lt;/td>
&lt;td>SystemVerilog modeling of combinational circuits&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 — Fri. 9/4/2026&lt;/td>
&lt;td>SystemVerilog I: Simulation&lt;/td>
&lt;td>Simulation and verification basics&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 — Mon. 9/7/2026&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Labor Day&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 — Wed. 9/9/2026&lt;/td>
&lt;td>SystemVerilog I: Sequential Circuits&lt;/td>
&lt;td>Sequential circuit modeling&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 — Fri. 9/11/2026&lt;/td>
&lt;td>SystemVerilog I: Additional Constructs&lt;/td>
&lt;td>Additional SystemVerilog concepts&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 — Mon. 9/14/2026&lt;/td>
&lt;td>Computer Architecture Overview I: Introduction and Performance&lt;/td>
&lt;td>Patterson &amp;amp; Hennessy, Sec. 1.1–1.6&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 — Wed. 9/16/2026&lt;/td>
&lt;td>Computer Architecture Overview II: Design&lt;/td>
&lt;td>Patterson &amp;amp; Hennessy, Sec. 1.7–1.11&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 — Fri. 9/18/2026&lt;/td>
&lt;td>ISA I: Barely C&lt;/td>
&lt;td>Programming model and preparation for MIPS ISA&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 — Mon. 9/21/2026&lt;/td>
&lt;td>ISA II: CPU and Instruction Execution&lt;/td>
&lt;td>MIPS ISA&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 — Wed. 9/23/2026&lt;/td>
&lt;td>ISA III&lt;/td>
&lt;td>MIPS instructions and data operations&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 — Fri. 9/25/2026&lt;/td>
&lt;td>ISA IV: Instruction Formats&lt;/td>
&lt;td>MIPS instruction encoding and formats&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 — Mon. 9/28/2026&lt;/td>
&lt;td>ISA V: Stack&lt;/td>
&lt;td>Stack organization and usage&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 — Wed. 9/30/2026&lt;/td>
&lt;td>ISA Practice / Quiz / Problem Solving&lt;/td>
&lt;td>Review and practice&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 — Fri. 10/2/2026&lt;/td>
&lt;td>ISA VI: Subroutines&lt;/td>
&lt;td>Procedure calls and subroutines&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 — Mon. 10/5/2026&lt;/td>
&lt;td>ISA VII: System-Level Concepts&lt;/td>
&lt;td>System-level ISA concepts&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 — Wed. 10/7/2026&lt;/td>
&lt;td>ISA Review / Problem Solving&lt;/td>
&lt;td>Review and practice&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 — Fri. 10/9/2026&lt;/td>
&lt;td>Processor I: Single-Cycle Processor&lt;/td>
&lt;td>Single-cycle datapath and control&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 — Mon. 10/12/2026&lt;/td>
&lt;td>Processor II: Pipeline&lt;/td>
&lt;td>Pipelining fundamentals&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 — Wed. 10/14/2026&lt;/td>
&lt;td>Processor II: Pipeline, continued&lt;/td>
&lt;td>Pipeline stages and timing&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 — Fri. 10/16/2026&lt;/td>
&lt;td>Processor III: Pipeline Implementation&lt;/td>
&lt;td>Pipelined datapath implementation&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 — Mon. 10/19/2026&lt;/td>
&lt;td>Processor IV: Hazards&lt;/td>
&lt;td>Pipeline hazards&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 — Wed. 10/21/2026&lt;/td>
&lt;td>Processor V: Data Hazards&lt;/td>
&lt;td>&lt;strong>Midterm Exam 1 — Take Home opens&lt;/strong>&lt;/td>
&lt;td>12:01 AM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 — Fri. 10/23/2026&lt;/td>
&lt;td>Processor VI: Control Hazards&lt;/td>
&lt;td>Branches and control hazards&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 — Mon. 10/26/2026&lt;/td>
&lt;td>Processor VII: Dynamic Prediction&lt;/td>
&lt;td>&lt;strong>Midterm Exam 1 — Take Home due&lt;/strong>&lt;/td>
&lt;td>11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 — Wed. 10/28/2026&lt;/td>
&lt;td>Memory I: Basics&lt;/td>
&lt;td>Memory hierarchy fundamentals&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 — Fri. 10/30/2026&lt;/td>
&lt;td>Memory II: Blocks and Caches&lt;/td>
&lt;td>Cache blocks and mapping&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 — Mon. 11/2/2026&lt;/td>
&lt;td>Cache and Memory Review&lt;/td>
&lt;td>Memory hierarchy review and practice&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 — Wed. 11/4/2026&lt;/td>
&lt;td>Memory III: Technologies&lt;/td>
&lt;td>Memory technologies&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 — Fri. 11/6/2026&lt;/td>
&lt;td>ALU I: Integer Arithmetic&lt;/td>
&lt;td>Integer arithmetic&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 — Mon. 11/9/2026&lt;/td>
&lt;td>ALU II: Integer Multiplication&lt;/td>
&lt;td>Multiplication hardware and algorithms&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 — Wed. 11/11/2026&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Veterans Day&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 — Fri. 11/13/2026&lt;/td>
&lt;td>ALU III: Floating Point&lt;/td>
&lt;td>Floating-point representation and arithmetic&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 — Mon. 11/16/2026&lt;/td>
&lt;td>ALU Review&lt;/td>
&lt;td>ALU review and practice&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 — Wed. 11/18/2026&lt;/td>
&lt;td>Processor Review&lt;/td>
&lt;td>Processor, pipeline, memory, and ALU review&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 — Fri. 11/20/2026&lt;/td>
&lt;td>Processor / Memory Review&lt;/td>
&lt;td>Review and problem solving&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 — Mon. 11/23/2026&lt;/td>
&lt;td>SystemVerilog II: Hardware Threads and Clock Domains&lt;/td>
&lt;td>&lt;strong>Midterm Exam 2 — Take Home opens&lt;/strong>&lt;/td>
&lt;td>12:01 AM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 — Wed. 11/25/2026&lt;/td>
&lt;td>SystemVerilog II: Hardware Thread Interaction and Interfaces&lt;/td>
&lt;td>Thread interaction and interfaces&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 — Fri. 11/27/2026&lt;/td>
&lt;td>&lt;strong>NO INSTRUCTION — Thanksgiving Period&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 — Sun. 11/29/2026&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;strong>Midterm Exam 2 — Take Home due&lt;/strong>&lt;/td>
&lt;td>11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 — Mon. 11/30/2026&lt;/td>
&lt;td>SystemVerilog III: Testbenches and Randomization&lt;/td>
&lt;td>Verification testbenches and constrained randomization&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 — Wed. 12/2/2026&lt;/td>
&lt;td>SystemVerilog III: Assertions and Sequences&lt;/td>
&lt;td>Assertions, properties, and sequences&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 — Fri. 12/4/2026&lt;/td>
&lt;td>I/O: Introduction&lt;/td>
&lt;td>I/O fundamentals and system integration&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 — Mon. 12/7/2026&lt;/td>
&lt;td>I/O: Applications and Examples&lt;/td>
&lt;td>I/O applications and design examples&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 — Wed. 12/9/2026&lt;/td>
&lt;td>Final Review&lt;/td>
&lt;td>Comprehensive final review&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Study Period — 12/11/2026–12/12/2026&lt;/td>
&lt;td>&lt;strong>Study Period&lt;/strong>&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Finals — Mon. 12/14/2026&lt;/td>
&lt;td>&lt;strong>Final Exam — In Person&lt;/strong>&lt;/td>
&lt;td>Comprehensive Final Exam&lt;/td>
&lt;td>9:45–11:45 AM&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6">
&lt;p>&lt;strong>Note:&lt;/strong> Lecture topics are organized from the provided ECE361 slide set. Midterm placement follows the natural gaps and review material in that sequence; adjust the two midterm dates if the official Fall 2026 exam plan differs.&lt;/p>
&lt;/blockquote>
&lt;h2 id="laboratory">Laboratory&lt;/h2>
&lt;h1 id="lab-schedule">Lab Schedule&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>LAB&lt;/th>
&lt;th>TOPIC&lt;/th>
&lt;th>DEADLINE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 1–2 — 8/25–9/8/2026&lt;/td>
&lt;td>1&lt;/td>
&lt;td>Unix/Linux&lt;/td>
&lt;td>9/8, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3–4 — 9/8–9/22/2026&lt;/td>
&lt;td>2&lt;/td>
&lt;td>C Language&lt;/td>
&lt;td>9/22, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5–6 — 9/22–10/6/2026&lt;/td>
&lt;td>3&lt;/td>
&lt;td>SystemVerilog I&lt;/td>
&lt;td>10/6, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7–8 — 10/6–10/20/2026&lt;/td>
&lt;td>4&lt;/td>
&lt;td>QtSPIM and MIPS&lt;/td>
&lt;td>10/20, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9–10 — 10/20–11/3/2026&lt;/td>
&lt;td>5&lt;/td>
&lt;td>FPGA&lt;/td>
&lt;td>11/3, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11–12 — 11/3–11/17/2026&lt;/td>
&lt;td>6&lt;/td>
&lt;td>CPU Research&lt;/td>
&lt;td>11/17, 11:59 PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13–15 — 11/17–12/8/2026&lt;/td>
&lt;td>7&lt;/td>
&lt;td>Pipeline Processor&lt;/td>
&lt;td>12/8, 11:59 PM&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>The grading breakdown is subject to change at the discretion of the instructor and in accordance with the University grading system and policies.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Practice Final Exam</title><link>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/final_practice/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/docs/exams/course_ece260_2026_spring/final_practice/</guid><description>&lt;p>weight: 5&lt;/p>
&lt;h1 id="ece-260--practice-final-exam-2-hours">ECE 260 — Practice Final Exam (2 Hours)&lt;/h1>
&lt;p>&lt;strong>Course:&lt;/strong> ECE 260 Introduction to Digital Design&lt;br>
&lt;strong>Duration:&lt;/strong> 2 Hours&lt;br>
&lt;strong>Coverage:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Combinational Logic&lt;/li>
&lt;li>Sequential Logic&lt;/li>
&lt;li>FSM Design&lt;/li>
&lt;li>RTL Design&lt;/li>
&lt;li>Pipelines and Hazards&lt;/li>
&lt;li>Cache and Memory Hierarchy&lt;/li>
&lt;li>RISC Pipelines&lt;/li>
&lt;li>Out-of-Order Processors&lt;/li>
&lt;/ul>
&lt;h1 id="part-a--multiple-choice-15--2-pts--30-pts">Part A — Multiple Choice (15 × 2 pts = 30 pts)&lt;/h1>
&lt;p>Select the &lt;strong>best&lt;/strong> answer.&lt;/p>
&lt;h3 id="q1">Q1.&lt;/h3>
&lt;p>A structural hazard occurs when:&lt;/p>
&lt;ul>
&lt;li>A. Two pipeline stages require the same hardware resource&lt;/li>
&lt;li>B. A branch instruction changes PC&lt;/li>
&lt;li>C. The clock frequency is too high&lt;/li>
&lt;li>D. A cache miss occurs&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> A&lt;br>
Structural hazards occur due to hardware resource conflicts.&lt;/p>
&lt;h3 id="q2">Q2.&lt;/h3>
&lt;p>Which memory technology is typically used for CPU cache?&lt;/p>
&lt;ul>
&lt;li>A. DRAM&lt;/li>
&lt;li>B. SRAM&lt;/li>
&lt;li>C. Flash&lt;/li>
&lt;li>D. EEPROM&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;br>
SRAM is faster and used for cache.&lt;/p>
&lt;h3 id="q3">Q3.&lt;/h3>
&lt;p>A Moore FSM output depends on:&lt;/p>
&lt;ul>
&lt;li>A. Inputs only&lt;/li>
&lt;li>B. Current state only&lt;/li>
&lt;li>C. Inputs and outputs&lt;/li>
&lt;li>D. Clock frequency&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q4">Q4.&lt;/h3>
&lt;p>Forwarding in a pipeline mainly reduces:&lt;/p>
&lt;ul>
&lt;li>A. Structural hazards&lt;/li>
&lt;li>B. RAW hazards&lt;/li>
&lt;li>C. WAR hazards&lt;/li>
&lt;li>D. WAW hazards&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q5">Q5.&lt;/h3>
&lt;p>Which cache organization generally has the fewest conflict misses?&lt;/p>
&lt;ul>
&lt;li>A. Direct mapped&lt;/li>
&lt;li>B. 2-way set associative&lt;/li>
&lt;li>C. Fully associative&lt;/li>
&lt;li>D. Write-through&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> C&lt;/p>
&lt;h3 id="q6">Q6.&lt;/h3>
&lt;p>A barrel shifter is primarily built from:&lt;/p>
&lt;ul>
&lt;li>A. Adders&lt;/li>
&lt;li>B. Flip-flops&lt;/li>
&lt;li>C. Multiplexers&lt;/li>
&lt;li>D. Decoders&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> C&lt;/p>
&lt;h3 id="q7">Q7.&lt;/h3>
&lt;p>In Verilog, nonblocking assignment uses:&lt;/p>
&lt;ul>
&lt;li>A. =&lt;/li>
&lt;li>B. &amp;lt;=&lt;/li>
&lt;li>C. ==&lt;/li>
&lt;li>D. :=&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q8">Q8.&lt;/h3>
&lt;p>The maximum clock frequency of a processor is determined by:&lt;/p>
&lt;ul>
&lt;li>A. Shortest path delay&lt;/li>
&lt;li>B. Critical path delay&lt;/li>
&lt;li>C. Number of registers&lt;/li>
&lt;li>D. Cache size&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q9">Q9.&lt;/h3>
&lt;p>Register renaming primarily removes:&lt;/p>
&lt;ul>
&lt;li>A. RAW hazards&lt;/li>
&lt;li>B. WAR and WAW hazards&lt;/li>
&lt;li>C. Cache hazards&lt;/li>
&lt;li>D. Structural hazards&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q10">Q10.&lt;/h3>
&lt;p>Which pipeline hazard is caused by branch instructions?&lt;/p>
&lt;ul>
&lt;li>A. RAW&lt;/li>
&lt;li>B. Structural&lt;/li>
&lt;li>C. Control&lt;/li>
&lt;li>D. WAW&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> C&lt;/p>
&lt;h3 id="q11">Q11.&lt;/h3>
&lt;p>A flip-flop updates state on:&lt;/p>
&lt;ul>
&lt;li>A. Logic transitions only&lt;/li>
&lt;li>B. Clock edge&lt;/li>
&lt;li>C. Input enable&lt;/li>
&lt;li>D. Reset signal only&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q12">Q12.&lt;/h3>
&lt;p>The reorder buffer (ROB) is mainly used in:&lt;/p>
&lt;ul>
&lt;li>A. FSM controllers&lt;/li>
&lt;li>B. Sequential datapaths&lt;/li>
&lt;li>C. Out-of-order processors&lt;/li>
&lt;li>D. SRAM arrays&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> C&lt;/p>
&lt;h3 id="q13">Q13.&lt;/h3>
&lt;p>Spatial locality means:&lt;/p>
&lt;ul>
&lt;li>A. Recently used data reused soon&lt;/li>
&lt;li>B. Nearby memory locations likely accessed&lt;/li>
&lt;li>C. Instructions always sequential&lt;/li>
&lt;li>D. Data stored in cache forever&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> B&lt;/p>
&lt;h3 id="q14">Q14.&lt;/h3>
&lt;p>Which stage performs arithmetic operations in a classic RISC pipeline?&lt;/p>
&lt;ul>
&lt;li>A. IF&lt;/li>
&lt;li>B. ID&lt;/li>
&lt;li>C. EX&lt;/li>
&lt;li>D. WB&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> C&lt;/p>
&lt;h3 id="q15">Q15.&lt;/h3>
&lt;p>Pipeline throughput improves because:&lt;/p>
&lt;ul>
&lt;li>A. Instructions execute simultaneously&lt;/li>
&lt;li>B. Clock frequency becomes zero&lt;/li>
&lt;li>C. Pipeline removes all hazards&lt;/li>
&lt;li>D. Cache misses disappear&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Solution:&lt;/strong> A&lt;/p>
&lt;h1 id="part-b--design-and-analysis-10--7-pts--70-pts">Part B — Design and Analysis (10 × 7 pts = 70 pts)&lt;/h1>
&lt;h1 id="problem-1--sequence-detector-fsm">Problem 1 — Sequence Detector FSM&lt;/h1>
&lt;p>Design a Moore FSM that detects the sequence:&lt;/p>
&lt;p>1011&lt;/p>
&lt;p>Overlapping sequences should be detected.&lt;/p>
&lt;h3 id="a">(a)&lt;/h3>
&lt;p>Draw the state diagram.&lt;/p>
&lt;h3 id="b">(b)&lt;/h3>
&lt;p>Define the state transition table.&lt;/p>
&lt;h3 id="c">(c)&lt;/h3>
&lt;p>Indicate which state produces output = 1.&lt;/p>
&lt;h3 id="d">(d)&lt;/h3>
&lt;p>Explain why a Moore FSM output changes more predictably than a Mealy FSM.&lt;/p>
&lt;h2 id="solution">Solution&lt;/h2>
&lt;h3 id="a-states">(a) States&lt;/h3>
&lt;ul>
&lt;li>S0 = initial&lt;/li>
&lt;li>S1 = detected &lt;code>1&lt;/code>&lt;/li>
&lt;li>S2 = detected &lt;code>10&lt;/code>&lt;/li>
&lt;li>S3 = detected &lt;code>101&lt;/code>&lt;/li>
&lt;li>S4 = detected &lt;code>1011&lt;/code>&lt;/li>
&lt;/ul>
&lt;h3 id="b-example-transitions">(b) Example transitions&lt;/h3>
&lt;ul>
&lt;li>S0 &amp;ndash;1→ S1&lt;/li>
&lt;li>S1 &amp;ndash;0→ S2&lt;/li>
&lt;li>S2 &amp;ndash;1→ S3&lt;/li>
&lt;li>S3 &amp;ndash;1→ S4&lt;/li>
&lt;/ul>
&lt;p>Overlapping:&lt;/p>
&lt;ul>
&lt;li>S4 &amp;ndash;0→ S2&lt;/li>
&lt;li>S4 &amp;ndash;1→ S1&lt;/li>
&lt;/ul>
&lt;h3 id="c-1">(c)&lt;/h3>
&lt;p>Output = 1 only in S4.&lt;/p>
&lt;h3 id="d-1">(d)&lt;/h3>
&lt;p>Moore outputs depend only on registered state, so outputs change only on clock edges.&lt;/p>
&lt;h1 id="problem-2--rtl-datapath-design">Problem 2 — RTL Datapath Design&lt;/h1>
&lt;p>Implement:&lt;/p>
&lt;p>if (SEL == 0)
X ← A + B
else
X ← A − B&lt;/p>
&lt;h3 id="a-1">(a)&lt;/h3>
&lt;p>Draw the datapath.&lt;/p>
&lt;h3 id="b-1">(b)&lt;/h3>
&lt;p>Identify required components.&lt;/p>
&lt;h3 id="c-2">(c)&lt;/h3>
&lt;p>Show control signals.&lt;/p>
&lt;h3 id="d-2">(d)&lt;/h3>
&lt;p>Explain how subtraction can be implemented using an adder.&lt;/p>
&lt;h2 id="solution-1">Solution&lt;/h2>
&lt;h3 id="a-datapath">(a) Datapath&lt;/h3>
&lt;p>Components:&lt;/p>
&lt;ul>
&lt;li>Register A&lt;/li>
&lt;li>Register B&lt;/li>
&lt;li>ALU&lt;/li>
&lt;li>X register&lt;/li>
&lt;li>Control line SEL&lt;/li>
&lt;/ul>
&lt;h3 id="b-2">(b)&lt;/h3>
&lt;p>Required hardware:&lt;/p>
&lt;ul>
&lt;li>Adder/Subtractor&lt;/li>
&lt;li>XOR bank for B inversion&lt;/li>
&lt;li>Carry-in control&lt;/li>
&lt;/ul>
&lt;h3 id="c-3">(c)&lt;/h3>
&lt;ul>
&lt;li>SEL=0 → addition&lt;/li>
&lt;li>SEL=1 → subtraction&lt;/li>
&lt;/ul>
&lt;h3 id="d-3">(d)&lt;/h3>
&lt;p>A - B = A + (~B) + 1&lt;/p>
&lt;p>Uses two’s complement arithmetic.&lt;/p>
&lt;h1 id="problem-3--pipeline-hazard-analysis">Problem 3 — Pipeline Hazard Analysis&lt;/h1>
&lt;p>Given:&lt;/p>
&lt;p>ADD R1,R2,R3
SUB R4,R1,R5
AND R6,R4,R7&lt;/p>
&lt;h3 id="a-2">(a)&lt;/h3>
&lt;p>Identify all RAW hazards.&lt;/p>
&lt;h3 id="b-3">(b)&lt;/h3>
&lt;p>Show where forwarding occurs.&lt;/p>
&lt;h3 id="c-4">(c)&lt;/h3>
&lt;p>Determine if stalls are required.&lt;/p>
&lt;h3 id="d-4">(d)&lt;/h3>
&lt;p>Explain how forwarding improves performance.&lt;/p>
&lt;h2 id="solution-2">Solution&lt;/h2>
&lt;h3 id="a-3">(a)&lt;/h3>
&lt;p>Hazards:&lt;/p>
&lt;ul>
&lt;li>SUB depends on ADD&lt;/li>
&lt;li>AND depends on SUB&lt;/li>
&lt;/ul>
&lt;h3 id="b-4">(b)&lt;/h3>
&lt;p>Forward:&lt;/p>
&lt;ul>
&lt;li>ADD EX/MEM → SUB EX&lt;/li>
&lt;li>SUB EX/MEM → AND EX&lt;/li>
&lt;/ul>
&lt;h3 id="c-5">(c)&lt;/h3>
&lt;p>No stalls if forwarding hardware exists.&lt;/p>
&lt;h3 id="d-5">(d)&lt;/h3>
&lt;p>Forwarding bypasses waiting for WB stage.&lt;/p>
&lt;h1 id="problem-4--cache-design">Problem 4 — Cache Design&lt;/h1>
&lt;p>Compare:&lt;/p>
&lt;ul>
&lt;li>Direct mapped&lt;/li>
&lt;li>2-way set associative&lt;/li>
&lt;li>Fully associative&lt;/li>
&lt;/ul>
&lt;h3 id="a-4">(a)&lt;/h3>
&lt;p>Draw organization of each.&lt;/p>
&lt;h3 id="b-5">(b)&lt;/h3>
&lt;p>Compare hardware complexity.&lt;/p>
&lt;h3 id="c-6">(c)&lt;/h3>
&lt;p>Compare conflict misses.&lt;/p>
&lt;h3 id="d-6">(d)&lt;/h3>
&lt;p>Which provides best performance and why?&lt;/p>
&lt;h2 id="solution-3">Solution&lt;/h2>
&lt;h3 id="direct-mapped">Direct mapped&lt;/h3>
&lt;ul>
&lt;li>Simplest&lt;/li>
&lt;li>Fastest indexing&lt;/li>
&lt;li>Highest conflict misses&lt;/li>
&lt;/ul>
&lt;h3 id="2-way-set-associative">2-way set associative&lt;/h3>
&lt;ul>
&lt;li>Better balance&lt;/li>
&lt;li>Moderate complexity&lt;/li>
&lt;/ul>
&lt;h3 id="fully-associative">Fully associative&lt;/h3>
&lt;ul>
&lt;li>Lowest conflict misses&lt;/li>
&lt;li>Requires many comparators&lt;/li>
&lt;/ul>
&lt;p>Best overall practical choice:
2-way or 4-way associative.&lt;/p>
&lt;h1 id="problem-5--register-file">Problem 5 — Register File&lt;/h1>
&lt;p>Design a register file with:&lt;/p>
&lt;ul>
&lt;li>8 registers&lt;/li>
&lt;li>2 read ports&lt;/li>
&lt;li>1 write port&lt;/li>
&lt;/ul>
&lt;h3 id="a-5">(a)&lt;/h3>
&lt;p>Draw block diagram.&lt;/p>
&lt;h3 id="b-6">(b)&lt;/h3>
&lt;p>Explain read operation.&lt;/p>
&lt;h3 id="c-7">(c)&lt;/h3>
&lt;p>Explain write operation.&lt;/p>
&lt;h3 id="d-7">(d)&lt;/h3>
&lt;p>Describe required decoders and multiplexers.&lt;/p>
&lt;h2 id="solution-4">Solution&lt;/h2>
&lt;h3 id="a-6">(a)&lt;/h3>
&lt;p>Components:&lt;/p>
&lt;ul>
&lt;li>8 registers&lt;/li>
&lt;li>Write decoder&lt;/li>
&lt;li>Two read MUXes&lt;/li>
&lt;/ul>
&lt;h3 id="b-7">(b)&lt;/h3>
&lt;p>Read ports select registers simultaneously.&lt;/p>
&lt;h3 id="c-8">(c)&lt;/h3>
&lt;p>Write decoder activates one register enable.&lt;/p>
&lt;h3 id="d-8">(d)&lt;/h3>
&lt;ul>
&lt;li>3-to-8 decoder&lt;/li>
&lt;li>Two 8-to-1 MUXes&lt;/li>
&lt;/ul>
&lt;h1 id="problem-6--barrel-shifter">Problem 6 — Barrel Shifter&lt;/h1>
&lt;p>Design a 4-bit rotate-left barrel shifter.&lt;/p>
&lt;h3 id="a-7">(a)&lt;/h3>
&lt;p>Show all possible rotations.&lt;/p>
&lt;h3 id="b-8">(b)&lt;/h3>
&lt;p>Draw multiplexer stages.&lt;/p>
&lt;h3 id="c-9">(c)&lt;/h3>
&lt;p>Determine number of multiplexers required.&lt;/p>
&lt;h3 id="d-9">(d)&lt;/h3>
&lt;p>Explain why barrel shifters are faster than iterative shifters.&lt;/p>
&lt;h2 id="solution-5">Solution&lt;/h2>
&lt;h3 id="a-8">(a)&lt;/h3>
&lt;p>Possible rotations:&lt;/p>
&lt;ul>
&lt;li>0&lt;/li>
&lt;li>1&lt;/li>
&lt;li>2&lt;/li>
&lt;li>3&lt;/li>
&lt;/ul>
&lt;h3 id="b-9">(b)&lt;/h3>
&lt;p>Two-stage MUX network:&lt;/p>
&lt;ul>
&lt;li>Shift by 1&lt;/li>
&lt;li>Shift by 2&lt;/li>
&lt;/ul>
&lt;h3 id="c-10">(c)&lt;/h3>
&lt;p>Requires:&lt;/p>
&lt;ul>
&lt;li>8 multiplexers total&lt;/li>
&lt;/ul>
&lt;h3 id="d-10">(d)&lt;/h3>
&lt;p>All shifts occur in parallel combinational hardware.&lt;/p>
&lt;h1 id="problem-7--five-stage-risc-pipeline">Problem 7 — Five-Stage RISC Pipeline&lt;/h1>
&lt;h3 id="a-9">(a)&lt;/h3>
&lt;p>Draw the 5 stages.&lt;/p>
&lt;h3 id="b-10">(b)&lt;/h3>
&lt;p>Describe purpose of each stage.&lt;/p>
&lt;h3 id="c-11">(c)&lt;/h3>
&lt;p>Indicate where hazards occur.&lt;/p>
&lt;h3 id="d-11">(d)&lt;/h3>
&lt;p>Explain why pipelining improves throughput.&lt;/p>
&lt;h2 id="solution-6">Solution&lt;/h2>
&lt;p>Pipeline:&lt;/p>
&lt;p>IF → ID → EX → MEM → WB&lt;/p>
&lt;h3 id="if">IF&lt;/h3>
&lt;p>Fetch instruction.&lt;/p>
&lt;h3 id="id">ID&lt;/h3>
&lt;p>Decode + register read.&lt;/p>
&lt;h3 id="ex">EX&lt;/h3>
&lt;p>ALU operation.&lt;/p>
&lt;h3 id="mem">MEM&lt;/h3>
&lt;p>Memory access.&lt;/p>
&lt;h3 id="wb">WB&lt;/h3>
&lt;p>Write register.&lt;/p>
&lt;p>Hazards:&lt;/p>
&lt;ul>
&lt;li>RAW in EX&lt;/li>
&lt;li>Control hazards after branch&lt;/li>
&lt;/ul>
&lt;p>Throughput improves by overlapping execution.&lt;/p>
&lt;h1 id="problem-8--branch-prediction">Problem 8 — Branch Prediction&lt;/h1>
&lt;h3 id="a-10">(a)&lt;/h3>
&lt;p>Explain static branch prediction.&lt;/p>
&lt;h3 id="b-11">(b)&lt;/h3>
&lt;p>Explain dynamic branch prediction.&lt;/p>
&lt;h3 id="c-12">(c)&lt;/h3>
&lt;p>Why do mispredictions hurt performance?&lt;/p>
&lt;h3 id="d-12">(d)&lt;/h3>
&lt;p>What hardware is commonly used in dynamic prediction?&lt;/p>
&lt;h2 id="solution-7">Solution&lt;/h2>
&lt;h3 id="static">Static&lt;/h3>
&lt;p>Fixed guess.&lt;/p>
&lt;h3 id="dynamic">Dynamic&lt;/h3>
&lt;p>Uses runtime history.&lt;/p>
&lt;h3 id="misprediction-penalty">Misprediction penalty&lt;/h3>
&lt;p>Pipeline flush required.&lt;/p>
&lt;h3 id="hardware">Hardware&lt;/h3>
&lt;ul>
&lt;li>Branch history table&lt;/li>
&lt;li>Saturating counters&lt;/li>
&lt;/ul>
&lt;h1 id="problem-9--out-of-order-processor">Problem 9 — Out-of-Order Processor&lt;/h1>
&lt;p>Explain:&lt;/p>
&lt;h3 id="a-11">(a)&lt;/h3>
&lt;p>Issue Queue&lt;/p>
&lt;h3 id="b-12">(b)&lt;/h3>
&lt;p>Reorder Buffer&lt;/p>
&lt;h3 id="c-13">(c)&lt;/h3>
&lt;p>Register Renaming&lt;/p>
&lt;h3 id="d-13">(d)&lt;/h3>
&lt;p>Why OoO processors achieve higher performance.&lt;/p>
&lt;h2 id="solution-8">Solution&lt;/h2>
&lt;h3 id="issue-queue">Issue Queue&lt;/h3>
&lt;p>Stores ready instructions.&lt;/p>
&lt;h3 id="rob">ROB&lt;/h3>
&lt;p>Commits instructions in-order.&lt;/p>
&lt;h3 id="register-renaming">Register Renaming&lt;/h3>
&lt;p>Removes false dependencies.&lt;/p>
&lt;h3 id="higher-performance">Higher performance&lt;/h3>
&lt;p>Allows independent instructions to execute earlier.&lt;/p>
&lt;h1 id="problem-10--iterative-multiplier">Problem 10 — Iterative Multiplier&lt;/h1>
&lt;p>Given:&lt;/p>
&lt;p>if (B[0] == 1)
P ← P + A&lt;/p>
&lt;p>A ← A &amp;laquo; 1
B ← B &amp;raquo; 1&lt;/p>
&lt;h3 id="a-12">(a)&lt;/h3>
&lt;p>Draw datapath.&lt;/p>
&lt;h3 id="b-13">(b)&lt;/h3>
&lt;p>Identify registers.&lt;/p>
&lt;h3 id="c-14">(c)&lt;/h3>
&lt;p>Draw FSM states.&lt;/p>
&lt;h3 id="d-14">(d)&lt;/h3>
&lt;p>Explain why multiplication requires multiple cycles.&lt;/p>
&lt;h2 id="solution-9">Solution&lt;/h2>
&lt;h3 id="a-13">(a)&lt;/h3>
&lt;p>Datapath:&lt;/p>
&lt;ul>
&lt;li>Adder&lt;/li>
&lt;li>Shift register A&lt;/li>
&lt;li>Shift register B&lt;/li>
&lt;li>Product register P&lt;/li>
&lt;/ul>
&lt;h3 id="b-14">(b)&lt;/h3>
&lt;p>Registers:&lt;/p>
&lt;ul>
&lt;li>A&lt;/li>
&lt;li>B&lt;/li>
&lt;li>P&lt;/li>
&lt;li>Counter&lt;/li>
&lt;/ul>
&lt;h3 id="c-15">(c)&lt;/h3>
&lt;p>FSM:&lt;/p>
&lt;ul>
&lt;li>IDLE&lt;/li>
&lt;li>CHECK&lt;/li>
&lt;li>ADD&lt;/li>
&lt;li>SHIFT&lt;/li>
&lt;li>DONE&lt;/li>
&lt;/ul>
&lt;h3 id="d-15">(d)&lt;/h3>
&lt;p>Each bit of multiplier processed sequentially.&lt;/p>
&lt;p>Complexity:&lt;/p>
&lt;ul>
&lt;li>N-bit multiplication requires N cycles.&lt;/li>
&lt;/ul></description></item><item><title>2025 IEEE Annual Congress on Artificial Intelligence of Things (IEEE AIoT)</title><link>https://gustybear.github.io/event/2025_12_03_aiot/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/event/2025_12_03_aiot/</guid><description>&lt;h2 id="executive-summary">Executive Summary&lt;/h2>
&lt;p>At &lt;strong>IEEE AIoT&lt;/strong>, we presented two works advancing &lt;strong>AI-native Integrated Sensing and Communication (ISAC)&lt;/strong> across aerial and human-centric sensing. The first introduces &lt;strong>ROISD&lt;/strong>, which combines &lt;strong>RIS-assisted sensing&lt;/strong> with &lt;strong>O-RAN–enabled intelligence&lt;/strong> to enhance &lt;strong>UAV detection&lt;/strong> through network-native control and scalable deployment. The second demonstrates an &lt;strong>AI-assisted composite ISAC waveform&lt;/strong> for accurate &lt;strong>mmWave respiration pattern recognition&lt;/strong> while preserving communication performance. Together, these presentations showcase a unified ISAC vision leveraging mmWave, RIS, and O-RAN for next-generation intelligent IoT systems.&lt;/p>
&lt;p>📅 &lt;strong>Date:&lt;/strong> Dec 03, 2025&lt;br>
📍 &lt;strong>Location:&lt;/strong> Osaka, Japan (In-Person)&lt;br>
🌐 &lt;strong>Website:&lt;/strong>
&lt;/p>
&lt;h2 id="roisd-ris-and-o-ran-assisted-intelligent-sensing-for-uav-detection">ROISD: RIS and O-RAN Assisted Intelligent Sensing for UAV Detection&lt;/h2>
&lt;p>&lt;strong>Authors:&lt;/strong> Xiaochan Xue, Shucheng Yu, Saurabh Parkar, and Yao Zheng&lt;/p>
&lt;h3 id="key-points">Key Points&lt;/h3>
&lt;ul>
&lt;li>RIS-assisted sensing to enhance reflections/coverage for UAV detection&lt;/li>
&lt;li>O-RAN architecture integration for intelligent sensing workflows&lt;/li>
&lt;li>Detection pipeline considerations: sensing, fusion, and control/optimization&lt;/li>
&lt;/ul>
&lt;h2 id="ai-assisted-composite-isac-for-mmwave-respiration-pattern-recognition">AI-Assisted Composite ISAC for mmWave Respiration Pattern Recognition&lt;/h2>
&lt;p>&lt;strong>Authors:&lt;/strong> Xiaochan Xue, Saurabh Parkar, Shucheng Yu, and Yao Zheng&lt;/p>
&lt;h3 id="key-points-1">Key Points&lt;/h3>
&lt;ul>
&lt;li>Composite ISAC waveform design for simultaneous sensing + communication&lt;/li>
&lt;li>mmWave respiration signal extraction and feature representation&lt;/li>
&lt;li>AI/ML pipeline for respiration pattern classification and robustness&lt;/li>
&lt;/ul>
&lt;hr></description></item><item><title>Demo: Disrupting In-Car mmWave Sensing Through IRS Manipulation</title><link>https://gustybear.github.io/publication/guo-demo-disrupting-in-car-mmwave-sensing-2025/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/guo-demo-disrupting-in-car-mmwave-sensing-2025/</guid><description/></item><item><title>Heart Rate Variability Sensing Using Channel State Information of Millimeter-Wave OFDM Communication Signals</title><link>https://gustybear.github.io/publication/sameera-heart-rate-variability-sensing-2025/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/sameera-heart-rate-variability-sensing-2025/</guid><description/></item><item><title>Optimized IRS Positioning for Phase-Tuned Wireless Physiological Motion Detection</title><link>https://gustybear.github.io/publication/landika-optimized-irs-positioning-for-phase-tuned-2025/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/landika-optimized-irs-positioning-for-phase-tuned-2025/</guid><description/></item><item><title>Secure-IRS: Defending Against Adversarial Physical-Layer Sensing in ISAC System</title><link>https://gustybear.github.io/publication/chen-secure-irs-defending-against-adversarial-2025/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/chen-secure-irs-defending-against-adversarial-2025/</guid><description/></item><item><title>SideSense: Robust Physiological Motion Detection via mmWave Joint Communication and Sensing Systems With Multiple Beams</title><link>https://gustybear.github.io/publication/ishrak-sidesense-robust-physiological-motion-2025/</link><pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/ishrak-sidesense-robust-physiological-motion-2025/</guid><description/></item><item><title>IEEE INFOCOM 2026 Workshop on Integrated Sensing and Communication (ISAC)</title><link>https://gustybear.github.io/event/2026_05_18_infocom_wksp/</link><pubDate>Sun, 09 Nov 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/event/2026_05_18_infocom_wksp/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>The &lt;strong>Workshop on Integrated Sensing and Communication (ISAC)&lt;/strong> at &lt;strong>IEEE INFOCOM 2026&lt;/strong> will serve as a premier forum to explore emerging research frontiers at the intersection of wireless communication, radar sensing, and networked intelligence.&lt;br>
This workshop aims to bring together leading researchers from academia, industry, and government to discuss &lt;strong>joint waveform design&lt;/strong>, &lt;strong>AI-driven sensing&lt;/strong>, &lt;strong>monostatic and multistatic radar systems&lt;/strong>, &lt;strong>beamforming&lt;/strong>, and &lt;strong>hardware-software co-design&lt;/strong> for integrated wireless systems.&lt;/p>
&lt;p>📅 &lt;strong>Date:&lt;/strong> May 18, 2026&lt;br>
📍 &lt;strong>Location:&lt;/strong> Tokyo, Japan (In-Person)&lt;br>
🌐 &lt;strong>Workshop Website:&lt;/strong>
&lt;/p>
&lt;h1 id="topics-of-interest">Topics of Interest&lt;/h1>
&lt;ul>
&lt;li>Joint communication and sensing waveform design&lt;/li>
&lt;li>Beamforming and MIMO signal processing for ISAC&lt;/li>
&lt;li>Machine learning and AI-assisted sensing&lt;/li>
&lt;li>Monostatic, bistatic, and multistatic sensing systems&lt;/li>
&lt;li>Physical-layer security and privacy in ISAC&lt;/li>
&lt;li>Spectrum sharing and resource allocation&lt;/li>
&lt;li>RIS-assisted and holographic ISAC architectures&lt;/li>
&lt;li>Hardware design and testbed experimentation&lt;/li>
&lt;li>ISAC standardization and practical implementations&lt;/li>
&lt;/ul>
&lt;h1 id="organizing-committee">Organizing Committee&lt;/h1>
&lt;p>&lt;strong>General Co-Chairs&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Yao Zheng, University of Hawaiʻi at Mānoa, USA&lt;/li>
&lt;li>Kai Zeng, George Mason University, USA&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>TPC Co-Chairs&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Shucheng Yu, University of Houston, USA&lt;/li>
&lt;li>Huacheng Zeng, Michigan State University, USA&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Steering Committee&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Husheng Li, Purdue University, USA&lt;/li>
&lt;li>Loukas Lazos, University of Arizona, USA&lt;/li>
&lt;li>Ming Li, University of Arizona, USA&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="important-dates">Important Dates&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Event&lt;/th>
&lt;th style="text-align: left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Paper submission deadline&lt;/td>
&lt;td style="text-align: left">&lt;strong>December 29, 2025&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Notification of acceptance&lt;/td>
&lt;td style="text-align: left">&lt;strong>February 2, 2026&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Camera-ready deadline&lt;/td>
&lt;td style="text-align: left">&lt;strong>February 16, 2026&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Workshop date&lt;/td>
&lt;td style="text-align: left">&lt;strong>May 18, 2026&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>All accepted papers will be &lt;strong>included in IEEE Xplore&lt;/strong> and indexed in major databases.&lt;/p>
&lt;h1 id="contact">Contact&lt;/h1>
&lt;p>For questions, please contact the organizers at:&lt;br>
📧
&lt;/p>
&lt;p>&lt;strong>Call for Papers:&lt;/strong>
&lt;/p>
&lt;hr>
&lt;p>&lt;em>Hosted in conjunction with
, Tokyo, Japan.&lt;/em>&lt;/p></description></item><item><title>Drone-Mounted mmWave Harmonic Radar for Invasive Insect Monitoring</title><link>https://gustybear.github.io/grant/2026_hisc_harmonic_radar/</link><pubDate>Fri, 07 Nov 2025 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2026_hisc_harmonic_radar/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This project develops an innovative &lt;strong>drone-mounted millimeter-wave (mmWave) harmonic radar system&lt;/strong> for &lt;strong>tracking invasive pest insects&lt;/strong> in Hawai‘i. The technology targets destructive species such as the &lt;strong>coconut rhinoceros beetle&lt;/strong> and &lt;strong>melon fly&lt;/strong>, aiming to improve early detection, optimize control strategies, and protect the islands’ ecosystems and agriculture.&lt;/p>
&lt;p>Traditional harmonic radar systems are limited to short ranges and heavy transponders. Our approach integrates &lt;strong>12 GHz/24 GHz phased-array beamforming&lt;/strong>, &lt;strong>miniaturized Nitinol-based transponders&lt;/strong>, and &lt;strong>multi-drone coordination&lt;/strong> for long-range, real-time tracking of small, fast-moving insects—achieving high precision with minimal behavioral impact.&lt;/p>
&lt;h1 id="research-objectives">Research Objectives&lt;/h1>
&lt;p>&lt;strong>Goal:&lt;/strong> Build and validate a UAV-mounted harmonic radar network for aerial tracking of invasive insects across complex Hawaiian landscapes.&lt;/p>
&lt;h2 id="task-1--mmwave-beamsteering-harmonic-transceiver">Task 1 – mmWave Beamsteering Harmonic Transceiver&lt;/h2>
&lt;p>Design a &lt;strong>compact 12 GHz phased-array transmitter&lt;/strong> using COTS modules and a heterodyne architecture for coherent beamforming.&lt;/p>
&lt;ul>
&lt;li>Operates at &lt;strong>12/24 GHz ISM bands&lt;/strong>&lt;/li>
&lt;li>Achieves &amp;gt;10 m range with lightweight, steerable arrays&lt;/li>
&lt;li>Enables UAV integration for agile tracking&lt;/li>
&lt;/ul>
&lt;h2 id="task-2--ultralight-harmonic-tag">Task 2 – Ultralight Harmonic Tag&lt;/h2>
&lt;p>Develop a &lt;strong>miniaturized 24 GHz transponder&lt;/strong> using a &lt;strong>hollow bowtie antenna&lt;/strong> made of &lt;strong>shape-memory alloy (Nitinol)&lt;/strong> and a &lt;strong>Schottky diode&lt;/strong> for harmonic generation.&lt;/p>
&lt;ul>
&lt;li>Tag weight &amp;lt; 1 mg for compatibility with small insects&lt;/li>
&lt;li>Structural resilience through Nitinol’s superelasticity&lt;/li>
&lt;li>Broadband harmonic reflection optimized for 12→24 GHz doubling&lt;/li>
&lt;/ul>
&lt;h2 id="task-3--multi-drone-localization-network">Task 3 – Multi-Drone Localization Network&lt;/h2>
&lt;p>Implement a &lt;strong>distributed multistatic radar system&lt;/strong> using one TX and multiple RX drones for real-time localization.&lt;/p>
&lt;ul>
&lt;li>Uses synchronized bistatic ranging and multilateration&lt;/li>
&lt;li>Integrates GPS time sync and low-latency communications&lt;/li>
&lt;li>Coordinates drone formations for continuous insect tracking&lt;/li>
&lt;/ul>
&lt;h1 id="broader-impacts">Broader Impacts&lt;/h1>
&lt;p>This system aligns with &lt;strong>HISC priorities&lt;/strong> for early detection and rapid response (Priority 1) and technological innovation for pest management (Priority 2). It promotes cross-disciplinary collaboration among engineers, biologists, and agricultural scientists to create deployable surveillance tools for invasive species control.&lt;br>
Potential benefits include:&lt;/p>
&lt;ul>
&lt;li>Reduced pesticide dependence through precise targeting&lt;/li>
&lt;li>Enhanced monitoring of remote or forested regions&lt;/li>
&lt;li>Scalable open-source framework for ecological sensing&lt;/li>
&lt;/ul>
&lt;h1 id="team">Team&lt;/h1>
&lt;ul>
&lt;li>&lt;strong>PI:&lt;/strong> Dr. Yao Zheng – mmWave radar, phased array, RF sensing&lt;/li>
&lt;li>&lt;strong>Co-PI:&lt;/strong> Dr. Haofan Cai – RFID and low-power tag design&lt;/li>
&lt;li>&lt;strong>Co-PI:&lt;/strong> Dr. Daniel Jenkins – UAV systems, autonomous sensing, precision agriculture&lt;/li>
&lt;/ul>
&lt;p>Collaborators include &lt;strong>USDA-PBARC&lt;/strong> and &lt;strong>NIWC Pacific&lt;/strong> for field validation and data integration.&lt;/p>
&lt;h1 id="timeline-dec-2025--nov-2026">Timeline (Dec 2025 – Nov 2026)&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;strong>Phase&lt;/strong>&lt;/th>
&lt;th style="text-align: left">&lt;strong>Period&lt;/strong>&lt;/th>
&lt;th style="text-align: left">&lt;strong>Milestone&lt;/strong>&lt;/th>
&lt;th style="text-align: left">&lt;strong>Lead&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Phase I&lt;/td>
&lt;td style="text-align: left">Months 1–3&lt;/td>
&lt;td style="text-align: left">Frequency translator upgrade and system specification&lt;/td>
&lt;td style="text-align: left">UHM ECE&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Phase II&lt;/td>
&lt;td style="text-align: left">Months 4–6&lt;/td>
&lt;td style="text-align: left">Phased-array prototype and beamforming validation&lt;/td>
&lt;td style="text-align: left">UHM ECE&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Phase III&lt;/td>
&lt;td style="text-align: left">Months 7–9&lt;/td>
&lt;td style="text-align: left">Harmonic tag fabrication and field characterization&lt;/td>
&lt;td style="text-align: left">UHM ECE&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Phase IV&lt;/td>
&lt;td style="text-align: left">Months 10–12&lt;/td>
&lt;td style="text-align: left">Multi-drone localization demo and final reporting&lt;/td>
&lt;td style="text-align: left">UHM ECE&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="expected-deliverables">Expected Deliverables&lt;/h1>
&lt;ul>
&lt;li>Functional &lt;strong>12/24 GHz drone-mounted harmonic radar prototype&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Miniaturized Nitinol-based insect tags&lt;/strong> (&amp;lt; 1 mg)&lt;/li>
&lt;li>&lt;strong>Validated multi-drone localization system&lt;/strong> (&amp;gt; 100 m effective range)&lt;/li>
&lt;li>Technical documentation and open-source dataset for future HISC programs&lt;/li>
&lt;/ul>
&lt;p>📡 &lt;strong>Project Lead:&lt;/strong>
&lt;br>
🏛️ &lt;strong>Institution:&lt;/strong> University of Hawai‘i at Mānoa – College of Engineering&lt;br>
🌺 &lt;strong>Supported by:&lt;/strong> Hawai‘i Invasive Species Council (HISC) 2026–2027&lt;/p></description></item><item><title>Wearable Sweat Sensors for Cattle Heat Resistance and Metabolomics</title><link>https://gustybear.github.io/grant/2025_ctahr_cares_wearable/</link><pubDate>Fri, 07 Nov 2025 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2025_ctahr_cares_wearable/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This CTAHR CARES pilot project develops &lt;strong>non-invasive wearable sweat sensors&lt;/strong> to
monitor &lt;strong>heat stress in beef cattle&lt;/strong> at the molecular level. By coupling
commercial sweat and internal temperature sensors with &lt;strong>sweat metabolomics&lt;/strong> and
&lt;strong>gut microbiome profiling&lt;/strong>, the team aims to uncover biomarkers that distinguish
&lt;strong>heat-stressed&lt;/strong> from &lt;strong>heat-resistant&lt;/strong> animals.&lt;/p>
&lt;p>Heat stress in cattle is typically assessed using a combination of &lt;strong>visual
observation&lt;/strong>, &lt;strong>physiological measurements&lt;/strong>, and &lt;strong>environmental indices&lt;/strong> such
as the Temperature–Humidity Index (THI). These methods are indirect, labor
intensive, and often fail to capture &lt;strong>individual animal differences&lt;/strong> in
tolerance. This project will generate &lt;strong>continuous, individual-level data&lt;/strong> on
sweating, body temperature, movement, and molecular signatures to enable
climate-resilient herd management and breeding strategies in Hawaiʻi and beyond.&lt;/p>
&lt;h1 id="problem-statement">Problem Statement&lt;/h1>
&lt;p>Beef cattle in tropical and subtropical environments face increasingly frequent
&lt;strong>heat-stress events&lt;/strong> driven by climate change. Current evaluation methods:&lt;/p>
&lt;ul>
&lt;li>Rely on &lt;strong>THI&lt;/strong> and farm-level weather data&lt;/li>
&lt;li>Use &lt;strong>intermittent measurements&lt;/strong> of body temperature and respiration&lt;/li>
&lt;li>Depend on &lt;strong>subjective observation&lt;/strong> of panting, drooling, and behavior&lt;/li>
&lt;/ul>
&lt;p>However:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Individual and breed variation&lt;/strong> in heat tolerance is large&lt;/li>
&lt;li>Early, sub-clinical heat stress is often &lt;strong>missed&lt;/strong>&lt;/li>
&lt;li>Invasive or sporadic measurements are &lt;strong>not scalable&lt;/strong> for large herds&lt;/li>
&lt;/ul>
&lt;p>There is a critical need for &lt;strong>fast, accurate, and non-invasive tools&lt;/strong> to
determine when a specific cow is experiencing heat stress, and to identify
animals that remain resilient under extreme conditions.&lt;/p>
&lt;h1 id="research-objectives">Research Objectives&lt;/h1>
&lt;p>&lt;strong>Overall Goal:&lt;/strong> Develop an integrated framework that links &lt;strong>wearable sweat and
temperature sensing&lt;/strong> with &lt;strong>metabolomics&lt;/strong> and &lt;strong>microbiome&lt;/strong> data to quantify
heat stress and heat resistance in cattle.&lt;/p>
&lt;h1 id="objective-1--characterize-heat-stress-physiology">Objective 1 – Characterize Heat Stress Physiology&lt;/h1>
&lt;ul>
&lt;li>Relate &lt;strong>sweating rate&lt;/strong>, internal body temperature, and movement patterns to
&lt;strong>environmental conditions&lt;/strong> (THI, day/night cycles, seasonal variation)&lt;/li>
&lt;li>Capture how &lt;strong>apocrine sweat glands&lt;/strong> in cattle respond under different levels
of heat load&lt;/li>
&lt;/ul>
&lt;h1 id="objective-2--identify-molecular-biomarkers">Objective 2 – Identify Molecular Biomarkers&lt;/h1>
&lt;ul>
&lt;li>Perform &lt;strong>sweat metabolomics&lt;/strong> to identify compounds associated with heat
stress vs. heat resistance&lt;/li>
&lt;li>Analyze &lt;strong>gut microbiota&lt;/strong> (from fecal samples) and &lt;strong>blood-based markers&lt;/strong>&lt;/li>
&lt;li>Measure &lt;strong>thyroid hormone&lt;/strong> levels, &lt;strong>heat shock proteins (HSPs)&lt;/strong>, and
&lt;strong>mitochondrial ATP-related gene expression&lt;/strong> as potential indicators of
chronic heat load&lt;/li>
&lt;/ul>
&lt;h1 id="objective-3--enable-climate-resilient-cattle-selection">Objective 3 – Enable Climate-Resilient Cattle Selection&lt;/h1>
&lt;ul>
&lt;li>Integrate physiological and molecular data to identify &lt;strong>candidate biomarkers
and genetic markers&lt;/strong> of heat stress and heat resistance&lt;/li>
&lt;li>Provide a foundation for &lt;strong>future selection and breeding programs&lt;/strong> targeting
climate-resilient cattle in Hawaiʻi’s diverse environments&lt;/li>
&lt;/ul></description></item><item><title>Introduction to Computer Engineering with R-Pi Pico W</title><link>https://gustybear.github.io/projects/x96_intro_ceng_pico/</link><pubDate>Wed, 29 Oct 2025 04:14:54 -0800</pubDate><guid>https://gustybear.github.io/projects/x96_intro_ceng_pico/</guid><description>&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-full" >&lt;img src="./images/raspi-pico.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This project course introduces students to hands-on Computer Engineering (CENG) projects through the Pico platform. Students learn fundamentals of embedded systems, sensors, and wireless communication while designing small-scale prototypes that integrate hardware and software. The course emphasizes practical experimentation, teamwork, and iterative design—preparing students for advanced VIP and capstone projects in automation, robotics, and intelligent sensing systems.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Semester&lt;/th>
&lt;th>ECE 196&lt;/th>
&lt;th>ECE 296&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Spring 2026&lt;/td>
&lt;td>86916&lt;/td>
&lt;td>86945&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Advisor&lt;/th>
&lt;th>Office Hours&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-0">
&lt;summary class="cursor-pointer">Yao Zheng&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Email
with &amp;lsquo;&amp;rsquo;[x96 R-Pi Pico W]&amp;rsquo;&amp;rsquo; in the subject line.
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Galen Sasaki&lt;/td>
&lt;td>N/A&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Meeting&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>R 12:00pm - 13:00pm&lt;/td>
&lt;td>HH389&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="learning-objectives">Learning Objectives&lt;/h1>
&lt;ul>
&lt;li>Enhance their Python programming skills through practical applications.&lt;/li>
&lt;li>Explore computer hardware concepts, including microcontrollers, with a focus on the Raspberry
Pi Pico (RP2040).&lt;/li>
&lt;li>Understand the interaction between hardware and software.&lt;/li>
&lt;li>Design and implement engaging and practical engineering projects.&lt;/li>
&lt;li>Build technical expertise and confidence to:
&lt;ul>
&lt;li>Learn new skills and technologies independently.&lt;/li>
&lt;li>Develop personal projects.&lt;/li>
&lt;li>Seek internships, on-campus jobs, and professional opportunities.&lt;/li>
&lt;li>Participate in hackathons and engineering competitions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Cultivate creativity and innovation in engineering design.&lt;/li>
&lt;/ul>
&lt;h1 id="course-structure">Course Structure&lt;/h1>
&lt;ul>
&lt;li>Labs: Nine hands-on laboratories.&lt;/li>
&lt;li>Homework: Assignments for the labs.&lt;/li>
&lt;li>Final Project: Students will design, develop, and demonstrate a personal project applying the
concepts learned throughout the course.&lt;/li>
&lt;/ul>
&lt;h1 id="lab-schedule">Lab Schedule&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;strong>Lab&lt;/strong>&lt;/th>
&lt;th>&lt;strong>Time Range&lt;/strong>&lt;/th>
&lt;th>&lt;strong>Focus and Core Tasks&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Lab 1: Embedded Computing Foundations&lt;/strong>&lt;/td>
&lt;td>Week 1&lt;/td>
&lt;td>Raspberry Pi Pico W architecture and I/O&lt;br>Toolchain setup and debugging&lt;br>First embedded program&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 2: Circuits and Prototyping Basics&lt;/strong>&lt;/td>
&lt;td>Week 2&lt;/td>
&lt;td>Breadboard prototyping&lt;br>Passive components (resistors, LEDs)&lt;br>Power and grounding basics&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 3: Digital I/O and Sensor Interfaces&lt;/strong>&lt;/td>
&lt;td>Week 3&lt;/td>
&lt;td>Digital inputs and outputs&lt;br>Button debouncing and state machines&lt;br>Temperature sensor interfacing&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 4: Human–Device Interfaces&lt;/strong>&lt;/td>
&lt;td>Week 4 → Week 5 (first half)&lt;/td>
&lt;td>I²C/SPI communication&lt;br>OLED display pipelines&lt;br>Joystick input and interactive application&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 5: Networked Embedded Systems&lt;/strong>&lt;/td>
&lt;td>Week 5 (second half) → Week 6&lt;/td>
&lt;td>Embedded web servers&lt;br>Socket-based client–server communication&lt;br>Remote control of LEDs and displays&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 6: Internet Services and Performance&lt;/strong>&lt;/td>
&lt;td>Week 7 → Week 8 (first half)&lt;/td>
&lt;td>REST APIs and cloud data ingestion&lt;br>Latency and throughput considerations&lt;br>Sensorless “weather station”&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 7: Concurrent and Multicore Systems&lt;/strong>&lt;/td>
&lt;td>Week 8 (second half) → Week 9&lt;/td>
&lt;td>Multicore programming on Pico W&lt;br>Concurrent sensing and display tasks&lt;br>Synchronization primitives&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 8: Collaborative Software Development&lt;/strong>&lt;/td>
&lt;td>Week 10&lt;/td>
&lt;td>Git and GitHub workflows&lt;br>Branching, pull requests, and code review&lt;br>Team-based development&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Lab 9: AI-Assisted Development&lt;/strong>&lt;/td>
&lt;td>Week 11&lt;/td>
&lt;td>AI-assisted coding and refactoring&lt;br>Debugging with AI tools&lt;br>Validation and responsible use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Final Project: Integrated IoT System&lt;/strong>&lt;/td>
&lt;td>Weeks 12–15&lt;/td>
&lt;td>End-to-end embedded and networked system&lt;br>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="required-lab-components">Required Lab Components&lt;/h1>
&lt;p>Components will be provided.&lt;/p>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;p>Time Commitment: Average of 5-6 hours per week.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-full" >&lt;img src="./images/oled-pika-cat.png" alt="Picture of two OLED screens, one of a surprised pikachu, another of a cat." loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Microelectronic Design, Emulation, Fabrication &amp; Validation</title><link>https://gustybear.github.io/facility/micro_design/</link><pubDate>Tue, 28 Oct 2025 04:14:54 -0800</pubDate><guid>https://gustybear.github.io/facility/micro_design/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This facility supports an &lt;strong>end-to-end microelectronic workflow&lt;/strong>—from &lt;strong>IC/RF front-end design&lt;/strong> and &lt;strong>pre-silicon emulation&lt;/strong>, through &lt;strong>fabrication handoff&lt;/strong>, to &lt;strong>post-silicon validation and correlation&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>Tool pillars&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>EM &amp;amp; high-frequency verification:&lt;/strong> ANSYS Electronics Desktop / &lt;strong>HFSS&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Custom IC schematic-to-layout:&lt;/strong> &lt;strong>Cadence Virtuoso&lt;/strong> (PDK-based)&lt;/li>
&lt;li>&lt;strong>System/channel realism for wireless experiments:&lt;/strong> &lt;strong>Remcom Wireless InSite&lt;/strong>&lt;/li>
&lt;/ul>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6">
&lt;p>New project? Start with &lt;strong>
&lt;/strong>, then follow the &lt;strong>
&lt;/strong>.&lt;/p>
&lt;/blockquote>
&lt;h1 id="navigation">Navigation&lt;/h1>
&lt;ul>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;strong>
&lt;/strong>&lt;/li>
&lt;/ul>
&lt;h1 id="capabilities">Capabilities&lt;/h1>
&lt;h2 id="design">Design&lt;/h2>
&lt;ul>
&lt;li>Analog / mixed-signal / RF IC schematic design and simulation&lt;/li>
&lt;li>RF/microwave modeling (antennas, passives, packages, interconnects)&lt;/li>
&lt;li>Co-design of &lt;strong>circuits + EM structures + system constraints&lt;/strong>&lt;/li>
&lt;/ul>
&lt;h2 id="emulation">Emulation&lt;/h2>
&lt;ul>
&lt;li>Pre-silicon exploration using behavioral/compact models&lt;/li>
&lt;li>Parameter sweeps and sensitivity studies to de-risk tapeout&lt;/li>
&lt;li>“What-if” studies on corners, parasitics, and layout-dependent effects&lt;/li>
&lt;/ul>
&lt;h2 id="fabrication-handoff">Fabrication handoff&lt;/h2>
&lt;ul>
&lt;li>Layout readiness checks (DRC/LVS/PEX workflows via PDK)&lt;/li>
&lt;li>Tapeout package preparation (GDS + documentation)&lt;/li>
&lt;li>Coordination for MPW/shuttle or foundry pathways &lt;em>(availability depends on project and partner access)&lt;/em>&lt;/li>
&lt;/ul>
&lt;h2 id="validation">Validation&lt;/h2>
&lt;ul>
&lt;li>Post-silicon comparison: &lt;strong>measured vs simulated&lt;/strong>&lt;/li>
&lt;li>S-parameter correlation, de-embedding planning, and model updates&lt;/li>
&lt;li>Reproducible reporting for publications and future tapeouts&lt;/li>
&lt;/ul>
&lt;h1 id="quick-start">Quick Start&lt;/h1>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Pick your entry point&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;em>EM/RF components &amp;amp; antennas&lt;/em> → &lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;em>IC schematic-to-layout&lt;/em> → &lt;strong>
&lt;/strong>&lt;/li>
&lt;li>&lt;em>Propagation / RIS / channel realism&lt;/em> → &lt;strong>
&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Build a minimal, reviewable baseline (aim for 1–2 days)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>One schematic or EM model that reproduces a known reference&lt;/li>
&lt;li>One plot that becomes your &lt;strong>golden regression&lt;/strong> (S-parameters, gain, NF, phase noise, etc.)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Decide your validation target early&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>What will be measured? what fixtures? what calibration/de-embedding approach?&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h1 id="tool-map">Tool map&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tool&lt;/th>
&lt;th>Best for&lt;/th>
&lt;th>Typical outputs&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>ANSYS AEDT / HFSS&lt;/strong>&lt;/td>
&lt;td>3D EM simulation of antennas, passives, packages, interconnects&lt;/td>
&lt;td>S-parameters, radiation patterns, fields, loss/Q, EM co-sim models&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Cadence Virtuoso&lt;/strong>&lt;/td>
&lt;td>IC design from schematic → layout → verification → sign-off&lt;/td>
&lt;td>Schematics, simulations, layout, DRC/LVS/PEX reports, GDS&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Remcom Wireless InSite&lt;/strong>&lt;/td>
&lt;td>Site-specific channel realism via ray-tracing / empirical models&lt;/td>
&lt;td>Coverage maps, channel impulse response, path loss, multipath statistics&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="ansys-electronics-desktop--hfss">ANSYS Electronics Desktop &amp;amp; HFSS&lt;/h1>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-full" >
&lt;img alt=""
srcset="https://gustybear.github.io/facility/micro_design/ansys-featured-top_hu_fb838530389b2e70.webp 320w, https://gustybear.github.io/facility/micro_design/ansys-featured-top_hu_e77f86edc70c623a.webp 480w, https://gustybear.github.io/facility/micro_design/ansys-featured-top_hu_38d0f92fbd7ccac3.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://gustybear.github.io/facility/micro_design/ansys-featured-top_hu_fb838530389b2e70.webp"
width="760"
height="482"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>Best for:&lt;/strong> EM simulation and validation of RF/microwave components, antennas, and high-frequency structures using 3D FEM workflows.&lt;/p>
&lt;h2 id="self-paced-resources">Self-paced resources&lt;/h2>
&lt;ul>
&lt;li>ANSYS Academic Learning Resources:
&lt;/li>
&lt;li>Intro course (HFSS workflows &amp;amp; fundamentals):
&lt;/li>
&lt;li>Antenna learning track:
&lt;/li>
&lt;li>Student Version (non-commercial):
&lt;/li>
&lt;li>Learning Library &amp;amp; Forum:
&lt;/li>
&lt;/ul>
&lt;h2 id="structured--premium-resources">Structured / premium resources&lt;/h2>
&lt;ul>
&lt;li>ANSYS Learning Hub:
&lt;/li>
&lt;li>SimuTech EMAG102 (3D EM design):
&lt;/li>
&lt;li>Rescale batch/HPC tutorial:
&lt;/li>
&lt;/ul>
&lt;h2 id="research-oriented-learning-path">Research-oriented learning path&lt;/h2>
&lt;ol>
&lt;li>Install AEDT (student version where appropriate).&lt;/li>
&lt;li>Complete the Intro HFSS course.&lt;/li>
&lt;li>Reproduce at least one reference antenna/passive example.&lt;/li>
&lt;li>Modify: substrate, port type, mesh/convergence settings.&lt;/li>
&lt;li>Capture convergence evidence and solver settings.&lt;/li>
&lt;li>Add parametric sweeps and HPC workflows as needed.&lt;/li>
&lt;/ol>
&lt;h2 id="practical-tips">Practical tips&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Ports/boundaries + mesh/convergence&lt;/strong> dominate result quality—treat them as first-class design artifacts.&lt;/li>
&lt;li>Save convergence plots and solver settings for paper-quality reproducibility.&lt;/li>
&lt;li>Consider related AEDT tools (Q3D, SIwave, Icepak) when SI/PI/thermal coupling matters.&lt;/li>
&lt;/ul>
&lt;h1 id="cadence-virtuoso">Cadence Virtuoso&lt;/h1>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-full" >&lt;img src="./cadence-featured-top.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>Best for:&lt;/strong> custom IC design (analog, mixed-signal, RF) from schematic capture to layout, verification, and simulation.&lt;/p>
&lt;h2 id="official-training">Official training&lt;/h2>
&lt;ul>
&lt;li>Virtuoso Schematic Editor S1 (schematics):
&lt;/li>
&lt;li>Virtuoso Layout Design Basics:
&lt;/li>
&lt;li>Online Training Library:
&lt;/li>
&lt;li>SKILL programming:
&lt;/li>
&lt;/ul>
&lt;h2 id="university-and-open-tutorials">University and open tutorials&lt;/h2>
&lt;ul>
&lt;li>University at Buffalo tutorial:
&lt;/li>
&lt;li>Virginia Tech tutorial:
&lt;/li>
&lt;li>UBC inverter design (45 nm):
&lt;/li>
&lt;li>Community playlist (YouTube):
&lt;/li>
&lt;/ul>
&lt;h2 id="academiccommunity-access">Academic/community access&lt;/h2>
&lt;ul>
&lt;li>CMC Microsystems (academic suite access):
&lt;/li>
&lt;/ul>
&lt;h2 id="from-zero-to-tapeout-ready">From zero to tapeout-ready&lt;/h2>
&lt;ol>
&lt;li>Reproduce a “hello world” design (e.g., inverter/op-amp) in a standard PDK.&lt;/li>
&lt;li>Learn simulation flows: DC/AC/transient, &lt;strong>corners&lt;/strong>, and basic Monte Carlo.&lt;/li>
&lt;li>Transition to layout and run &lt;strong>DRC/LVS&lt;/strong>.&lt;/li>
&lt;li>Add &lt;strong>PEX&lt;/strong>, then compare pre/post-layout results.&lt;/li>
&lt;li>Automate repetitive tasks with SKILL only after the manual flow is stable.&lt;/li>
&lt;/ol>
&lt;h2 id="practical-tips-1">Practical tips&lt;/h2>
&lt;ul>
&lt;li>Define sign-off checks early (DRC/LVS/PEX/corners/Monte Carlo) and keep them consistent.&lt;/li>
&lt;li>Maintain a versioned tapeout checklist (schematic, layout, verification reports, notes).&lt;/li>
&lt;/ul>
&lt;h1 id="remcom-wireless-insite">Remcom Wireless InSite&lt;/h1>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-full" >&lt;img src="./remcom-featured-top.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>Best for:&lt;/strong> RF propagation modeling via 3D ray-tracing and empirical models to predict coverage, channel characteristics, and system performance in realistic environments. We often use it for &lt;strong>testbed planning&lt;/strong> and &lt;strong>RIS-assisted communications&lt;/strong> studies.&lt;/p>
&lt;h2 id="official-tutorials-and-videos">Official tutorials and videos&lt;/h2>
&lt;ul>
&lt;li>Indoor Propagation Analysis tutorial:
&lt;/li>
&lt;li>Intro series (floor plans / geometry):
&lt;/li>
&lt;li>Dynamic mobility simulation:
&lt;/li>
&lt;li>Product overview &amp;amp; features:
&lt;/li>
&lt;/ul>
&lt;h2 id="documentation-and-support">Documentation and support&lt;/h2>
&lt;ul>
&lt;li>Remcom simulation support &amp;amp; training:
&lt;/li>
&lt;li>Reference PDF (User’s Guide 2.7.1):
&lt;/li>
&lt;/ul>
&lt;h2 id="channel-realism-learning-path">Channel realism learning path&lt;/h2>
&lt;ol>
&lt;li>Run the indoor tutorial to understand the ray-tracing workflow.&lt;/li>
&lt;li>Build/import a simple environment and assign materials.&lt;/li>
&lt;li>Generate coverage maps and channel outputs; sanity-check with simplified baselines.&lt;/li>
&lt;li>Add mobility/time variation if your experiment needs it.&lt;/li>
&lt;li>Export results for MATLAB/Python post-processing (plots, statistics, comparisons).&lt;/li>
&lt;/ol>
&lt;h2 id="practical-tips-2">Practical tips&lt;/h2>
&lt;ul>
&lt;li>Treat geometry + material definitions as the &lt;strong>model&lt;/strong>—document them like a circuit schematic.&lt;/li>
&lt;li>Record frequency bands, antenna patterns, and material properties for reproducibility.&lt;/li>
&lt;/ul>
&lt;h1 id="recommended-end-to-end-workflow">Recommended end-to-end workflow&lt;/h1>
&lt;ol>
&lt;li>&lt;strong>Concept + requirements&lt;/strong>
&lt;ul>
&lt;li>Target frequency, bandwidth, power, sensitivity, interfaces, and measurement plan&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Pre-silicon modeling / emulation&lt;/strong>
&lt;ul>
&lt;li>Behavioral models → schematic simulations → early EM checks&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Layout + verification&lt;/strong>
&lt;ul>
&lt;li>DRC/LVS/PEX + correlation against schematic intent&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>EM co-simulation (as needed)&lt;/strong>
&lt;ul>
&lt;li>Packages/interconnects/antennas/passives + parasitics&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Fabrication handoff (project-dependent)&lt;/strong>
&lt;ul>
&lt;li>GDS + documentation + sign-off checklist + versioned deliverables&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Post-silicon validation&lt;/strong>
&lt;ul>
&lt;li>Calibration/de-embedding + measured vs simulated correlation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Documentation&lt;/strong>
&lt;ul>
&lt;li>Store tool versions, scripts, and “golden” plots to ensure publishable, repeatable results&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h1 id="checklists--best-practices">Checklists &amp;amp; best practices&lt;/h1>
&lt;h2 id="tapeout-readiness-typical">Tapeout-readiness (typical)&lt;/h2>
&lt;ul>
&lt;li>✅ DRC clean + reports archived&lt;/li>
&lt;li>✅ LVS clean + connectivity assumptions documented&lt;/li>
&lt;li>✅ PEX completed + pre/post-layout deltas reviewed&lt;/li>
&lt;li>✅ Corner coverage defined (PVT, mismatch/Monte Carlo as appropriate)&lt;/li>
&lt;li>✅ Foundry deliverables packaged (GDS + runsets + README + version tags)&lt;/li>
&lt;/ul>
&lt;h2 id="measurement-correlation-typical">Measurement-correlation (typical)&lt;/h2>
&lt;ul>
&lt;li>✅ Fixture and calibration plan (SOLT/TRL/etc.) selected &lt;em>before&lt;/em> the first measurement run&lt;/li>
&lt;li>✅ De-embedding approach defined (structures, reference planes, uncertainty notes)&lt;/li>
&lt;li>✅ Measured vs simulated plots use the &lt;strong>same reference planes&lt;/strong> and &lt;strong>same conditions&lt;/strong>&lt;/li>
&lt;li>✅ Model updates are traced to measurements (revision history + rationale)&lt;/li>
&lt;/ul>
&lt;h2 id="reproducibility-basics">Reproducibility basics&lt;/h2>
&lt;ul>
&lt;li>Keep a &lt;strong>lab notebook + version control&lt;/strong> for projects, scripts, and plots.&lt;/li>
&lt;li>Save tool versions, PDK versions, and solver settings with every “golden” plot.&lt;/li>
&lt;/ul>
&lt;h1 id="notes-for-students-and-new-lab-members">Notes for students and new lab members&lt;/h1>
&lt;ul>
&lt;li>Start small: &lt;strong>one reproducible result beats ten half-working models&lt;/strong>.&lt;/li>
&lt;li>Ask for help with: tool version, screenshots, the smallest reproducing case, and expected vs observed behavior.&lt;/li>
&lt;li>Treat setup details (ports, boundaries, runsets, fixtures) as part of the design—not an afterthought.&lt;/li>
&lt;/ul>
&lt;h1 id="access--support">Access &amp;amp; support&lt;/h1>
&lt;p>&lt;strong>Who this is for&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Students and researchers doing IC/RF design, EM validation, and post-silicon correlation&lt;/li>
&lt;li>Projects that need a documented path from simulation assumptions → fabrication deliverables → measured results&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>When requesting help, include&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Tool + version (and &lt;strong>PDK version&lt;/strong> if using Virtuoso)&lt;/li>
&lt;li>The smallest reproducing case (project archive or screenshot series)&lt;/li>
&lt;li>What you expected vs what you observed&lt;/li>
&lt;li>Any “golden” plot you are trying to match (and how it was generated)&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Recommended project folder skeleton&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>00_requirements/&lt;/code> (spec, interfaces, measurement plan)&lt;/li>
&lt;li>&lt;code>10_models/&lt;/code> (behavioral/compact models)&lt;/li>
&lt;li>&lt;code>20_schematic/&lt;/code> (schematic + sims)&lt;/li>
&lt;li>&lt;code>30_layout/&lt;/code> (layout + DRC/LVS/PEX reports)&lt;/li>
&lt;li>&lt;code>40_em/&lt;/code> (HFSS projects, ports/boundaries notes, convergence evidence)&lt;/li>
&lt;li>&lt;code>50_fab/&lt;/code> (GDS, runsets, README, sign-off checklist)&lt;/li>
&lt;li>&lt;code>60_measurement/&lt;/code> (fixtures, calibration notes, raw data)&lt;/li>
&lt;li>&lt;code>70_correlation/&lt;/code> (measured vs simulated plots, model updates)&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Collaboration norms&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Assume every result should be reproducible by someone else in 6 months.&lt;/li>
&lt;li>Treat runsets, ports/boundaries, and calibration steps as &lt;strong>design artifacts&lt;/strong>.&lt;/li>
&lt;li>If a project is headed toward tapeout, plan a review gate for: &lt;em>spec freeze → pre-layout sign-off → post-layout sign-off → handoff package&lt;/em>.&lt;/li>
&lt;/ul></description></item><item><title>Artificial Intelligence Radio Access Network (AI-RAN) with Digital Twin</title><link>https://gustybear.github.io/facility/testbed_airan/</link><pubDate>Mon, 01 Sep 2025 04:14:54 -0800</pubDate><guid>https://gustybear.github.io/facility/testbed_airan/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This lab-scale mmWave AI-Based RAN testbed integrates &lt;strong>OAIBox&lt;/strong>, &lt;strong>NVIDIA Aerial RAN&lt;/strong>, &lt;strong>NI USRP X410&lt;/strong>, &lt;strong>TMYTEK mmWave beamformers&lt;/strong>, and a high-fidelity &lt;strong>Digital Twin pipeline&lt;/strong> using &lt;strong>Remcom Wireless InSite&lt;/strong> and &lt;strong>ANSYS HFSS SBR+&lt;/strong> to create a flexible, programmable, and AI-native 5G/6G research environment. It enables real-time prototyping of mmWave physical layers, AI-driven beam management, hybrid beamforming, AI-enhanced MAC scheduling, and joint communication–sensing (ISAC) experiments. The platform supports end-to-end 5G NR PHY/MAC stacks, GPU-accelerated baseband processing, and mmWave RF front-ends for high-bandwidth OTA testing, while the Digital Twin provides physics-accurate ray-tracing, EM-based antenna modeling, and virtual–to–real co-simulation for channel prediction, beam optimization, and AI dataset generation.&lt;/p>
&lt;h1 id="core-components">Core Components&lt;/h1>
&lt;h2 id="oaibox--openairinterface-ran-framework">OAIBox – OpenAirInterface RAN Framework&lt;/h2>
&lt;p>The testbed uses &lt;strong>OAIBox&lt;/strong> as a compact and modular implementation of the full OAI RAN stack. It provides:&lt;/p>
&lt;ul>
&lt;li>Support for 5G SA/NSA gNB and UE&lt;/li>
&lt;li>Flexible PHY–MAC integration&lt;/li>
&lt;li>Customizable scheduling, HARQ, and protocol features&lt;/li>
&lt;li>Real-time experimentation with RAN procedures and RRC signaling&lt;/li>
&lt;/ul>
&lt;p>OAIBox acts as the protocol and control anchor of the testbed.&lt;/p>
&lt;h2 id="nvidia-aerial-ran-cuphy--cumac">NVIDIA Aerial RAN (cuPHY + cuMAC)&lt;/h2>
&lt;p>The &lt;strong>NVIDIA Aerial&lt;/strong> platform provides GPU-accelerated baseband processing and AI-native PHY/MAC capabilities:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>cuPHY&lt;/strong> for NR physical-layer DSP on GPUs&lt;/li>
&lt;li>&lt;strong>cuMAC&lt;/strong> for dynamic MAC scheduling on GPU&lt;/li>
&lt;li>TensorRT for real-time neural inference&lt;/li>
&lt;li>Support for multi-cell, multi-user, and high-throughput pipelines&lt;/li>
&lt;/ul>
&lt;p>Aerial enables experiments in:&lt;/p>
&lt;ul>
&lt;li>AI-driven beam selection and prediction&lt;/li>
&lt;li>Neural channel estimation&lt;/li>
&lt;li>Predictive link adaptation and blockage detection&lt;/li>
&lt;/ul>
&lt;h2 id="ni-usrp-x410--wideband-software-defined-radio">NI USRP X410 – Wideband Software-Defined Radio&lt;/h2>
&lt;p>The &lt;strong>USRP X410&lt;/strong> serves as the flexible transceiver frontend with:&lt;/p>
&lt;ul>
&lt;li>Up to 400 MHz instantaneous bandwidth&lt;/li>
&lt;li>Four synchronized TX/RX channels&lt;/li>
&lt;li>10/1588 PTP synchronization&lt;/li>
&lt;li>Digital IF for integration with NVIDIA Aerial&lt;/li>
&lt;/ul>
&lt;p>It supports:&lt;/p>
&lt;ul>
&lt;li>mmWave IF/baseband experimentation&lt;/li>
&lt;li>Real-time CSI acquisition&lt;/li>
&lt;li>Multi-subarray MIMO and wideband waveform prototyping&lt;/li>
&lt;/ul>
&lt;h2 id="tmytek-mmwave-beamformers-bbox-ud-box-beamform-modules">TMYTEK mmWave Beamformers (BBox, UD-Box, Beamform Modules)&lt;/h2>
&lt;p>TMYTEK hardware provides programmable mmWave RF front-ends:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>UD-Box&lt;/strong> for 24–32 GHz up/down-conversion&lt;/li>
&lt;li>&lt;strong>BBox One / BBox Lite&lt;/strong> beamforming arrays&lt;/li>
&lt;li>API-driven phase/gain control&lt;/li>
&lt;li>Rapid beam steering and codebook-based operation&lt;/li>
&lt;/ul>
&lt;p>These modules enable:&lt;/p>
&lt;ul>
&lt;li>Hybrid or analog beamforming&lt;/li>
&lt;li>Electronic steering up to ±60°&lt;/li>
&lt;li>Multi-beam and multi-focus mmWave experimentation&lt;/li>
&lt;/ul>
&lt;h2 id="digital-twin">Digital Twin&lt;/h2>
&lt;p>A full &lt;strong>Digital Twin framework&lt;/strong> integrates high-fidelity electromagnetic simulation with the physical testbed. This enables reproducible channel modeling, data augmentation, and virtual-to-real RAN optimization.&lt;/p>
&lt;h3 id="remcom-wireless-insite--ray-tracing-propagation">Remcom Wireless InSite – Ray Tracing Propagation&lt;/h3>
&lt;p>Wireless InSite provides a large-scale propagation environment supporting:&lt;/p>
&lt;ul>
&lt;li>GPU-accelerated 3D ray tracing&lt;/li>
&lt;li>Detailed mmWave diffraction, reflection, and scattering&lt;/li>
&lt;li>Urban, indoor, and open-field scenario modeling&lt;/li>
&lt;li>Material-dependent loss and blockage effects&lt;/li>
&lt;li>Beam-level channel prediction&lt;/li>
&lt;/ul>
&lt;h3 id="ansys-hfss-sbr--full-wave-em-modeling">ANSYS HFSS SBR+ – Full-Wave EM Modeling&lt;/h3>
&lt;p>HFSS SBR+ enables full-wave modeling of:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Antenna arrays&lt;/strong>, including TMYTEK beamformers&lt;/li>
&lt;li>&lt;strong>Reflectarrays&lt;/strong>, metasurfaces, and RIS&lt;/li>
&lt;li>&lt;strong>Realistic gain patterns&lt;/strong> for hybrid beamforming&lt;/li>
&lt;li>Complex EM interactions under mmWave frequencies&lt;/li>
&lt;/ul>
&lt;h1 id="capabilities">Capabilities&lt;/h1>
&lt;h2 id="ai-enhanced-ran-intelligence">AI-Enhanced RAN Intelligence&lt;/h2>
&lt;ul>
&lt;li>Neural beam prediction and tracking&lt;/li>
&lt;li>AI-based MAC scheduling&lt;/li>
&lt;li>CSI-driven link adaptation models&lt;/li>
&lt;li>Blockage prediction and proactive beam switching&lt;/li>
&lt;/ul>
&lt;h2 id="mmwave-phymac-research">mmWave PHY/MAC Research&lt;/h2>
&lt;ul>
&lt;li>Hybrid and digital beamforming&lt;/li>
&lt;li>Channel sounding and dataset generation&lt;/li>
&lt;li>Evaluation of mobility, rotation, and blockage&lt;/li>
&lt;li>5G NR waveform prototyping&lt;/li>
&lt;/ul>
&lt;h2 id="flexible-ran-architecture">Flexible RAN Architecture&lt;/h2>
&lt;ul>
&lt;li>O-RAN 7.2 split between OAIBox and Aerial&lt;/li>
&lt;li>Multi-RU and multi-sector emulation&lt;/li>
&lt;li>Edge-cloud cooperative intelligence&lt;/li>
&lt;/ul>
&lt;h2 id="isac-integrated-sensing-and-communication-extensions">ISAC (Integrated Sensing and Communication) Extensions&lt;/h2>
&lt;ul>
&lt;li>Joint radar–communication waveform experiments&lt;/li>
&lt;li>2D/3D angle estimation&lt;/li>
&lt;li>Passive sensing with GPU-accelerated FFT pipelines&lt;/li>
&lt;/ul>
&lt;h2 id="digital-twindriven-insights">Digital Twin–Driven Insights&lt;/h2>
&lt;ul>
&lt;li>Predictive channel statistics and blockage maps&lt;/li>
&lt;li>Virtual scenario pre-testing&lt;/li>
&lt;li>Dataset augmentation for AI training&lt;/li>
&lt;li>Virtual beam codebook optimization&lt;/li>
&lt;/ul></description></item><item><title>IEEE IMS 2025: ISAC for Physiological Motion Monitoring</title><link>https://gustybear.github.io/event/2025_06_15_ims_oai/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/event/2025_06_15_ims_oai/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This talk is part of the IMS 2025 Workshop exploring the &lt;strong>integration of FR1/mmWave (FR2) OpenAirInterface (OAI)&lt;/strong> with advanced technologies such as &lt;strong>O-RAN, MIMO, and Reconfigurable Intelligent Surfaces (RIS)&lt;/strong>.&lt;br>
Dr. Zheng’s presentation focuses on the &lt;strong>Integration of Sensing and Communication (ISAC)&lt;/strong> for &lt;strong>physiological motion monitoring&lt;/strong> using FR2 systems.&lt;/p>
&lt;p>The session will introduce the use of &lt;strong>TMYTEK frequency converters and beamformers&lt;/strong> with &lt;strong>FR2 OAIBOX&lt;/strong> to demonstrate &lt;strong>vital-sign detection&lt;/strong> and &lt;strong>non-contact sensing&lt;/strong> applications in healthcare, smart building monitoring, and energy efficiency.&lt;br>
By combining sensing and communication functions within the same mmWave infrastructure, this work illustrates a pathway toward &lt;strong>multi-purpose, intelligent 6G systems&lt;/strong>.&lt;/p>
&lt;p>📅 &lt;strong>Date:&lt;/strong> Sunday, June 15 2025&lt;br>
🕗 &lt;strong>Time:&lt;/strong> 8:00 AM – 11:50 AM (Local) / 11:00 AM – 2:50 PM EDT&lt;br>
🏛️ &lt;strong>Venue:&lt;/strong> Room 206, Moscone Center, San Francisco, CA.&lt;br>
🔗 &lt;strong>Workshop Page:&lt;/strong>
📧 &lt;strong>Organizer Contact:&lt;/strong>
&lt;/p>
&lt;h1 id="workshop-overview">Workshop Overview&lt;/h1>
&lt;p>&lt;strong>Title:&lt;/strong> &lt;em>FR2 OAI, ORAN, and Dynamic RIS for High-Frequency Networks&lt;/em>&lt;br>
&lt;strong>Key Themes:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>FR2 OAI with RIS for network enhancement&lt;/li>
&lt;li>MIMO for high-capacity networks&lt;/li>
&lt;li>Beam management &amp;amp; resource allocation&lt;/li>
&lt;li>Global and inclusive research perspectives (academia, industry, government)&lt;/li>
&lt;/ul>
&lt;h1 id="agenda-highlights">Agenda Highlights&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;strong>Speaker&lt;/strong>&lt;/th>
&lt;th>&lt;strong>Topic&lt;/strong>&lt;/th>
&lt;th>&lt;strong>Duration&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Ethan Lin (TMYTEK)&lt;/td>
&lt;td>&lt;em>Integrating FR2 OAI &amp;amp; Dynamic RIS for Network Optimization&lt;/em>&lt;/td>
&lt;td>40 min&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Neel Pandeya (Emerson/NI)&lt;/td>
&lt;td>&lt;em>5G SA FR2 Testbed Implementation with USRP&lt;/em>&lt;/td>
&lt;td>40 min&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Yao Zheng (UHM)&lt;/strong>&lt;/td>
&lt;td>&lt;em>ISAC for Physiological Motion Monitoring&lt;/em>&lt;/td>
&lt;td>40 min&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Panel &amp;amp; Live Demo&lt;/td>
&lt;td>&lt;em>Expert Discussion + Q&amp;amp;A&lt;/em>&lt;/td>
&lt;td>50 min&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h1 id="important-dates">Important Dates&lt;/h1>
&lt;p>📅 &lt;strong>Date:&lt;/strong> Sunday, June 15 2025&lt;br>
🕗 &lt;strong>Time:&lt;/strong> 8:00 AM – 11:50 AM (Local) / 11:00 AM – 2:50 PM EDT&lt;br>
🏛️ &lt;strong>Venue:&lt;/strong> Room 206, Moscone Center, San Francisco, CA.&lt;br>
🔗 &lt;strong>Workshop Page:&lt;/strong>
📧 &lt;strong>Organizer Contact:&lt;/strong>
&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Dr. Yao Zheng&lt;/strong>&lt;br>
Department of Electrical and Computer Engineering&lt;br>
University of Hawai‘i at Mānoa&lt;br>
&lt;/p></description></item><item><title>USDA-PABARC: FutureG Wireless Communication with Reconfigurable Intelligent Surfaces and Integrated Sensing</title><link>https://gustybear.github.io/event/2025_05_23_pbarc_futureg/</link><pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/event/2025_05_23_pbarc_futureg/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This seminar will explore the realm of &lt;strong>future generation (FutureG) wireless communication systems&lt;/strong>, with a specific emphasis on the revolutionary capabilities of &lt;strong>Reconfigurable Intelligent Surfaces (RIS)&lt;/strong> and &lt;strong>Integrated Sensing and Communication (ISAC)&lt;/strong>.&lt;br>
To illustrate the practical applications of these research areas, two significant projects from Yao’s laboratory will be highlighted:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Liquid Metal RIS for Energy-Efficient Coverage&lt;/strong> — Developing tunable, energy-efficient liquid metal RIS to enhance signal coverage and multi-user support in FR2 (28 GHz) small-cell networks.&lt;/li>
&lt;li>&lt;strong>Integrated Sensing and Communication for Vital Monitoring&lt;/strong> — Prototyping an ISAC system for non-contact vital sign monitoring and patient triage in biomedical and emergency scenarios.&lt;/li>
&lt;/ol>
&lt;h1 id="important-dates">Important Dates&lt;/h1>
&lt;p>🗓️ &lt;strong>Date:&lt;/strong> June 6, 2025&lt;br>
🏛️ &lt;strong>Venue:&lt;/strong> USDA ARS Pacific Basin Agricultural Research Center (PBARC), Hilo, HI&lt;br>
🎙️ &lt;strong>Host:&lt;/strong> Dr. Matthew Siderhurst&lt;br>
📧 &lt;strong>Contact:&lt;/strong>
&lt;/p></description></item><item><title>Holographic Intelligent Surface (HIS)–Enabled Smart Wireless Environment</title><link>https://gustybear.github.io/facility/testbed_holosmartwe/</link><pubDate>Mon, 19 May 2025 04:14:54 -0800</pubDate><guid>https://gustybear.github.io/facility/testbed_holosmartwe/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This lab-scale &lt;strong>Holographic Beamforming Surface–Enabled Smart Wireless Environment testbed&lt;/strong> enables controlled experimentation on environment-aware and RIS-assisted mmWave propagation. Operating at &lt;strong>28 GHz&lt;/strong>, the platform integrates a programmable &lt;strong>reconfigurable intelligent surface (RIS)&lt;/strong>, &lt;strong>active mmWave beamforming&lt;/strong>, and a flexible &lt;strong>RF measurement backend&lt;/strong> to dynamically manipulate electromagnetic wavefronts at both the transmitter and environmental levels. The testbed supports experimental research on holographic beamforming, surface-assisted channel shaping, and smart wireless environments for future &lt;strong>5G/6G&lt;/strong> and &lt;strong>ISAC&lt;/strong> systems.&lt;/p>
&lt;h1 id="core-components">Core Components&lt;/h1>
&lt;h2 id="reconfigurable-intelligent-surface-ris">Reconfigurable Intelligent Surface (RIS)&lt;/h2>
&lt;p>A programmable &lt;strong>RIS&lt;/strong> functions as a spatial electromagnetic aperture, enabling dynamic control of reflection phase and amplitude for wavefront shaping, beam redirection, and holographic focusing.&lt;/p>
&lt;h2 id="tmytek-bbox-one-mmwave-beamformer">TMYTEK BBox One mmWave Beamformer&lt;/h2>
&lt;p>The &lt;strong>TMYTEK BBox One&lt;/strong> provides programmable beamforming at &lt;strong>28 GHz&lt;/strong> with electronic phase and gain control, supporting rapid beam steering and codebook-based operation.&lt;/p>
&lt;h2 id="directive-mmwave-illumination">Directive mmWave Illumination&lt;/h2>
&lt;p>A &lt;strong>28 GHz horn antenna&lt;/strong> delivers stable, high-gain illumination of the RIS and measurement region, enabling repeatable and well-characterized propagation experiments.&lt;/p>
&lt;h2 id="rf-switching-and-measurement">RF Switching and Measurement&lt;/h2>
&lt;p>A &lt;strong>custom RF switch matrix&lt;/strong> and &lt;strong>Keysight FieldFox microwave analyzer&lt;/strong> support flexible signal routing and wideband channel measurement for systematic RIS-assisted characterization.&lt;/p>
&lt;h2 id="spatial-probing">Spatial Probing&lt;/h2>
&lt;p>Calibrated &lt;strong>monopole antennas&lt;/strong> mounted on precision positioning stages enable spatial channel sampling and beam profiling.&lt;/p>
&lt;h1 id="capabilities">Capabilities&lt;/h1>
&lt;h2 id="holographic-and-ris-assisted-beamforming">Holographic and RIS-Assisted Beamforming&lt;/h2>
&lt;ul>
&lt;li>Programmable wavefront synthesis and spatial focusing&lt;/li>
&lt;li>Environment-level beam steering and reflection control&lt;/li>
&lt;/ul>
&lt;h2 id="mmwave-channel-characterization">mmWave Channel Characterization&lt;/h2>
&lt;ul>
&lt;li>Wideband channel response measurement&lt;/li>
&lt;li>Spatial field mapping and repeatable benchmarking&lt;/li>
&lt;/ul>
&lt;h2 id="smart-wireless-environment-research">Smart Wireless Environment Research&lt;/h2>
&lt;ul>
&lt;li>Environment-aware propagation control&lt;/li>
&lt;li>Foundations for AI-driven and surface-assisted wireless systems&lt;/li>
&lt;/ul>
&lt;h2 id="isac-oriented-extensions">ISAC-Oriented Extensions&lt;/h2>
&lt;ul>
&lt;li>Surface-assisted sensing and localization&lt;/li>
&lt;li>Joint communication–environment manipulation&lt;/li>
&lt;/ul></description></item><item><title>DoD-NSF: RIS-Assisted Integrated Sensing and Communication (ISAC) for Drone Detection and Physiological Monitoring</title><link>https://gustybear.github.io/event/2025_04_09_gmu_dod_nsf_isac/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/event/2025_04_09_gmu_dod_nsf_isac/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This invited presentation discusses &lt;strong>Reconfigurable Intelligent Surface (RIS)-assisted Integrated Sensing and Communication (ISAC)&lt;/strong> for two critical applications:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Detection of low-flying drones around critical infrastructure&lt;/strong>, and&lt;/li>
&lt;li>&lt;strong>Remote physiological motion monitoring for healthcare and triage&lt;/strong>.&lt;/li>
&lt;/ol>
&lt;p>The first segment introduces &lt;strong>liquid-metal-based RIS&lt;/strong> as a reconfigurable medium to improve &lt;strong>spatial diversity&lt;/strong> and &lt;strong>range resolution&lt;/strong> in low-altitude radar sensing. The approach enhances &lt;strong>coverage and detection&lt;/strong> in monostatic and bistatic configurations while leveraging existing &lt;strong>communication antennas and waveforms&lt;/strong> for dual-use radar functionality.&lt;br>
The second part focuses on &lt;strong>ISAC-enabled vital sign detection&lt;/strong>, demonstrating &lt;strong>non-contact cardiopulmonary sensing&lt;/strong> using &lt;strong>FR2 (28 GHz) OFDM&lt;/strong> systems and &lt;strong>Channel State Information (CSI)&lt;/strong> analysis. These methods enable &lt;strong>through-barrier physiological sensing&lt;/strong> and &lt;strong>UAV-based remote triage&lt;/strong>, representing key DoD and biomedical applications of next-generation radar-communication integration.&lt;/p>
&lt;h1 id="important-dates">Important Dates&lt;/h1>
&lt;p>📅 &lt;strong>Date:&lt;/strong> April 10, 2025&lt;br>
🏛️ &lt;strong>Venue:&lt;/strong> George Mason University, Fairfax, VA&lt;br>
🎙️ &lt;strong>Host:&lt;/strong> Sarah Campbell (
)&lt;br>
🧭 &lt;strong>Session:&lt;/strong> Applied ISAC: Drones, Defense, and Health Applications&lt;br>
📧 &lt;strong>Presenter Contact:&lt;/strong>
&lt;/p>
&lt;h1 id="key-themes">Key Themes&lt;/h1>
&lt;ul>
&lt;li>RIS-assisted radar for low-flying UAV detection&lt;/li>
&lt;li>Integrated communication and sensing for triage and vital sign monitoring&lt;/li>
&lt;li>FR2 (28 GHz) OFDM sensing via CSI analysis&lt;/li>
&lt;li>Trade-offs between communication and sensing waveforms&lt;/li>
&lt;li>Dual-use opportunities for defense and biomedical systems&lt;/li>
&lt;/ul>
&lt;h1 id="context">Context&lt;/h1>
&lt;p>This presentation is part of the &lt;strong>NSF–DoD Workshop on Integrated Sensing and Communication (ISAC)&lt;/strong> organized by &lt;strong>George Mason University&lt;/strong> to inform R&amp;amp;D roadmaps for DoD initiatives.&lt;br>
Topics align with emerging &lt;strong>NextG spectrum-sharing&lt;/strong>, &lt;strong>sensing-capable wireless infrastructure&lt;/strong>, and &lt;strong>dual-use system design&lt;/strong>.&lt;/p></description></item><item><title>RASRE: Reflectarray and Applications in Smart Radio Environment</title><link>https://gustybear.github.io/projects/vip_reflectarray_and_applications/</link><pubDate>Tue, 10 Dec 2024 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/projects/vip_reflectarray_and_applications/</guid><description>&lt;hr>
&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>Reflectarray present a paradigm shift in wireless communication and sensing in mmWave and sub-THz region by offering unprecedented control over the propagation environment. Traditional wireless systems are largely at the mercy of the channel, which can be severely impaired by obstacles, fading, and interference. Reflectarray, however, introduce a new degree of freedom by enabling programmable manipulation of the wireless channel. Through precise control of the reflection and refraction properties of an array of elements, reflectarray can be used to mitigate path loss, combat fading, null interference, and shape radiation patterns, which can be used to enhancing spectral efficiency, energy efficiency, and expanding coverage. This project aims to investigate the fundamental principles of reflectarray operation, develop novel reflectarray architectures and control algorithms, and explore their applications in a wide range of wireless communication, sensing, energy transfer, and security scenarios.&lt;/p>
&lt;hr>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Semester&lt;/th>
&lt;th>ENGR196&lt;/th>
&lt;th>ENGR296&lt;/th>
&lt;th>ENGR396&lt;/th>
&lt;th>ECE496&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Spring 2025&lt;/td>
&lt;td>TBD&lt;/td>
&lt;td>TBD&lt;/td>
&lt;td>TBD&lt;/td>
&lt;td>TBD&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Advisor&lt;/th>
&lt;th>Office Hours&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-0">
&lt;summary class="cursor-pointer">Yao Zheng&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Email
with &amp;lsquo;&amp;rsquo;[VIP RASRE]&amp;rsquo;&amp;rsquo; in the subject line.
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>See
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Meeting&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>TBD&lt;/td>
&lt;td>HH488, Zoom&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Workload&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ENGR196&lt;/th>
&lt;th>ENGR296&lt;/th>
&lt;th>ENGR396&lt;/th>
&lt;th>EE496&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/th>
&lt;th>Deliverables&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>$ \geq $ 3 H/W&lt;/td>
&lt;td>$ \geq $ 3 H/W&lt;/td>
&lt;td>$ \geq $ 6 H/W&lt;/td>
&lt;td>$ \geq $ 8 H/W&lt;/td>
&lt;td>&lt;details class="spoiler " id="spoiler-1">
&lt;summary class="cursor-pointer">One per group&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Indicate the authors of the appropriate sections.
&lt;/div>
&lt;/details>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="grading">Grading&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>General Breakdown&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Category&lt;/th>
&lt;th>Portion of Grade&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-2">
&lt;summary class="cursor-pointer">1- Quality of project work&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Engagement, pursuit of knowledge necessary for project, contributions to technical progress of project, (396 and 496: contributions to management of project).
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>35%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-3">
&lt;summary class="cursor-pointer">2- Documentation and records&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Design notebook, wiki documentation, presentations, Reports.
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>35%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-4">
&lt;summary class="cursor-pointer">3- Teamwork and interaction&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Attendance to meetings, contributions to team, peer evaluations, team presentations and reports
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Breakdown by Deliverable&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Deliverable&lt;/th>
&lt;th>ENGR 196/296/396&lt;/th>
&lt;th>EE496/499&lt;/th>
&lt;th>Applicable Categories&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Project proposal report&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Preliminary design review presentation&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>20%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design notebook check&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>5%&lt;/td>
&lt;td>1,2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>VIP poster session presentation&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final report draft (proofed by peers)&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final recorded video presentation&lt;/td>
&lt;td>20%&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final report&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design notebook final check&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>1,2&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>70%&lt;/td>
&lt;td>50%&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="iterations">Iterations&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>SEMESTER&lt;/th>
&lt;th>TOPICS&lt;/th>
&lt;th>DOCUMENTS&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Spring, 2025&lt;/td>
&lt;td>Designing 3.5GHz reflectarray with transistors&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>This course adheres to UH Manoa W focus requirements and ECE Department requirements. So you are required to write 4,000 words or more throughout the semester, split between the proposal and the final report.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Reports should be uploaded to the Google Drive before the deadline. Late reports are subject to a minimum 15% reduction in grade. Presentation files (PowerPoint or PDF) should be uploaded to the Google Drive before or immediately after your presentation.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>ECE602: Algorithm I</title><link>https://gustybear.github.io/teaching/course_ece602_2025_spring/</link><pubDate>Mon, 09 Dec 2024 10:07:39 -1000</pubDate><guid>https://gustybear.github.io/teaching/course_ece602_2025_spring/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>Design and evaluation of machine representations, techniques and algorithms for sorting, pattern processing, computational geometry, mathematical computations, and engineering applications. Introduction to computational issues of time, space, communication, and program correctness. Pre: 367 or consent.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ECE602 001&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>88856&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Lecturer:
&lt;/td>
&lt;td>Office Hours: see
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Format&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Lecture Time&lt;/th>
&lt;th>Lecture Location&lt;/th>
&lt;th>Textbook&lt;/th>
&lt;th>Quiz&lt;/th>
&lt;th>Assignment&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>MW 12:00pm-13:15pm&lt;/td>
&lt;td>Keller Hall 314/Zoom/Ad hoc&lt;/td>
&lt;td>&lt;em>Required&lt;/em>: An Introduction to the Analysis of Algorithms&lt;/td>
&lt;td>Individual&lt;/td>
&lt;td>Individual&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;em>Required&lt;/em>: Analytic Combinatorics&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="grading-policy">Grading Policy&lt;/h1>
&lt;p>&amp;ndash; &lt;strong>Breakdown&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Quiz &amp;amp; Assignment&lt;/th>
&lt;th>Discussion &amp;amp; Participation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>80%&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>70%&lt;/td>
&lt;td>50%&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Proscribed Conduct&lt;/strong>: Copying or otherwise cheating on homework, lab reports, or exam will result in a failing grade for the course. More details can be found at student conduct code policies,
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="schedule">Schedule&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>TOPICS&lt;/th>
&lt;th>READING/HW/EXAM&lt;/th>
&lt;th>DEADLINE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 1 (1/13, 1/15)&lt;/td>
&lt;td>Analysis of Algorithms&lt;/td>
&lt;td>
&lt;/td>
&lt;td>1/19, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 2 (1/22)&lt;/td>
&lt;td>Recurrence Relations&lt;/td>
&lt;td>
&lt;/td>
&lt;td>1/26, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 3 (1/27, 1/29)&lt;/td>
&lt;td>Generating Functions&lt;/td>
&lt;td>
&lt;/td>
&lt;td>2/2, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 4 (2/3, 2/5)&lt;/td>
&lt;td>Asymptotic Approximations&lt;/td>
&lt;td>
&lt;/td>
&lt;td>2/9, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 5 (2/10, 2/12)&lt;/td>
&lt;td>Analytic Combinatorics&lt;/td>
&lt;td>
&lt;/td>
&lt;td>2/18, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 6 (2/19)&lt;/td>
&lt;td>Trees&lt;/td>
&lt;td>
&lt;/td>
&lt;td>2/23, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 7 (2/24, 2/26)&lt;/td>
&lt;td>Permutations&lt;/td>
&lt;td>
&lt;/td>
&lt;td>3/2, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 8 (3/3, 3/5)&lt;/td>
&lt;td>Strings and Tries&lt;/td>
&lt;td>
&lt;/td>
&lt;td>3/9, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 9 (3/10, 3/12)&lt;/td>
&lt;td>Words and Maps&lt;/td>
&lt;td>
&lt;/td>
&lt;td>3/16, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Spring Recess (3/17 - 3/21)&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (3/24, 3/26)&lt;/td>
&lt;td>Combinatorial Structures and OGFs&lt;/td>
&lt;td>
&lt;/td>
&lt;td>3/30, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (3/31, 4/2)&lt;/td>
&lt;td>Labelled Structures and EGFs&lt;/td>
&lt;td>
&lt;/td>
&lt;td>4/6, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (4/7, 4/9)&lt;/td>
&lt;td>Combinatorial Parameters and MGFs&lt;/td>
&lt;td>
&lt;/td>
&lt;td>4/13, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (4/14, 4/16)&lt;/td>
&lt;td>Complex Analysis, Rational and Meromorphic Asymptotics&lt;/td>
&lt;td>
&lt;/td>
&lt;td>4/20, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (4/21, 4/23)&lt;/td>
&lt;td>Applications of Rational and Meromorphic Asymptotics&lt;/td>
&lt;td>
&lt;/td>
&lt;td>4/27, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (4/28, 4/30)&lt;/td>
&lt;td>Singularity Analysis&lt;/td>
&lt;td>
&lt;/td>
&lt;td>5/4, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (5/5, 5/7)&lt;/td>
&lt;td>Applications of Singularity Analysis&lt;/td>
&lt;td>
&lt;/td>
&lt;td>5/11, 11:59PM&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 17 (5/12，5/14)&lt;/td>
&lt;td>Saddle Point Asymptotics&lt;/td>
&lt;td>
&lt;/td>
&lt;td>5/18, 11:59PM&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>MONET: Millimeter-wave Communication and Sensing Integration</title><link>https://gustybear.github.io/projects/vip_mmwave_comm_and_sensg_integtn/</link><pubDate>Mon, 09 Dec 2024 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/projects/vip_mmwave_comm_and_sensg_integtn/</guid><description>&lt;hr>
&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>Imagine a future where our wireless devices do more than just talk to each other. They can also &amp;ldquo;see&amp;rdquo; and &amp;ldquo;feel&amp;rdquo; their surroundings, gathering valuable information about the environment. This is the promise of Integrated Sensing and Communication (ISAC), and millimeter-wave (mmWave) frequencies are the key to unlocking its full potential. Leveraging the abundant bandwidth at mmWave band (30GHz ~ 300GHz), which are currently being explored for future generation of wireless communication systems (cellular and Wi-Fi), radar-like precise and multi-target detection can be implemented, with applications in drone detection, physiological monitoring, smart RAN etc. This VIP project, therefore, see to develop new techniques and technologies to make ISAC a reality at mmWave frequencies.&lt;/p>
&lt;hr>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Semester&lt;/th>
&lt;th>ENGR196&lt;/th>
&lt;th>ENGR296&lt;/th>
&lt;th>ENGR396&lt;/th>
&lt;th>ECE496&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Spring 2022&lt;/td>
&lt;td>90034&lt;/td>
&lt;td>90035&lt;/td>
&lt;td>90036&lt;/td>
&lt;td>85708&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Fall 2022&lt;/td>
&lt;td>80343&lt;/td>
&lt;td>80344&lt;/td>
&lt;td>80345&lt;/td>
&lt;td>75344&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Spring 2025&lt;/td>
&lt;td>89726&lt;/td>
&lt;td>86653&lt;/td>
&lt;td>86654&lt;/td>
&lt;td>88158&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Advisor&lt;/th>
&lt;th>Office Hours&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-0">
&lt;summary class="cursor-pointer">Yao Zheng&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Email
with &amp;lsquo;&amp;rsquo;[VIP MONET]&amp;rsquo;&amp;rsquo; in the subject line.
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>See
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Meeting&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Time&lt;/th>
&lt;th>Location&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>TBD&lt;/td>
&lt;td>HH488, Zoom&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Workload&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ENGR196&lt;/th>
&lt;th>ENGR296&lt;/th>
&lt;th>ENGR396&lt;/th>
&lt;th>EE496&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/th>
&lt;th>Deliverables&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>$ \geq $ 3 H/W&lt;/td>
&lt;td>$ \geq $ 3 H/W&lt;/td>
&lt;td>$ \geq $ 6 H/W&lt;/td>
&lt;td>$ \geq $ 8 H/W&lt;/td>
&lt;td>&lt;details class="spoiler " id="spoiler-1">
&lt;summary class="cursor-pointer">One per group&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Indicate the authors of the appropriate sections.
&lt;/div>
&lt;/details>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="grading">Grading&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>General Breakdown&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Category&lt;/th>
&lt;th>Portion of Grade&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-2">
&lt;summary class="cursor-pointer">1- Quality of project work&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Engagement, pursuit of knowledge necessary for project, contributions to technical progress of project, (396 and 496: contributions to management of project).
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>35%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-3">
&lt;summary class="cursor-pointer">2- Documentation and records&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Design notebook, wiki documentation, presentations, Reports.
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>35%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;details class="spoiler " id="spoiler-4">
&lt;summary class="cursor-pointer">3- Teamwork and interaction&lt;/summary>
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2">
Attendance to meetings, contributions to team, peer evaluations, team presentations and reports
&lt;/div>
&lt;/details>&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Breakdown by Deliverable&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Deliverable&lt;/th>
&lt;th>ENGR 196/296/396&lt;/th>
&lt;th>EE496/499&lt;/th>
&lt;th>Applicable Categories&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Project proposal report&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Preliminary design review presentation&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>20%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design notebook check&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>5%&lt;/td>
&lt;td>1,2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>VIP poster session presentation&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final report draft (proofed by peers)&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final recorded video presentation&lt;/td>
&lt;td>20%&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final report&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>15%&lt;/td>
&lt;td>1,2,3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design notebook final check&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>1,2&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>70%&lt;/td>
&lt;td>50%&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="iterations">Iterations&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>SEMESTER&lt;/th>
&lt;th>TOPICS&lt;/th>
&lt;th>DOCUMENTS&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Spring, 2025&lt;/td>
&lt;td>Setup an O-RAN based ISAC System at FR2 band&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>This course adheres to UH Manoa W focus requirements and ECE Department requirements. So you are required to write 4,000 words or more throughout the semester, split between the proposal and the final report.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Reports should be uploaded to the Google Drive before the deadline. Late reports are subject to a minimum 15% reduction in grade. Presentation files (PowerPoint or PDF) should be uploaded to the Google Drive before or immediately after your presentation.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>CyberTraining: Pilot: O-RAN-Based Cyberinfrastructure Training for Future-Generation Wireless Communication and Sensing</title><link>https://gustybear.github.io/grant/2024_nsf_cise_oac_cybertraining/</link><pubDate>Sat, 07 Dec 2024 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2024_nsf_cise_oac_cybertraining/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>The national spectrum strategy emphasizes spectrum infrastructure and workforce development in the full range of operational, technical, and policy roles to establish U.S. leadership in future-generation (FutureG) wireless techniques. However, achieving the strategic goal of spectrum workforce development involves non-trivial challenges, including limited capacity and availability of advanced wireless cyberinfrastructure (CI) and specialized tools, skills, and knowledge sets to develop, manage, and utilize wireless CI. This project responds to the national call for spectrum workforce development and trains the FutureG workforce by extending their research abilities through a novel ?immersed? approach to promote project-based hands-on learning. An open radio access network (O-RAN) wireless testbed will be utilized to allow trainees to practice the operation and programming of FutureG wireless instruments and develop wireless applications. Cloud-based access to the O-RAN testbed and a suite of template projects will be offered to address the technical barriers and complexities of wireless CI access. New course modules, vertical-integration projects, and summer courses will be offered to both student trainees and existing students at PIs? institutions. The training materials will be disseminated through public platforms including the ACCESS Knowledge Base to train a broader and diverse group of wireless professionals.&lt;/p>
&lt;p>Specifically, this pilot project includes three tasks: Task 1 is to extend the abilities of wireless professionals with a publicly and remotely accessible wireless CI based on the O-RAN architecture. The CI integrates advanced RF and computing instruments including NI USRP X410 and 2974 supporting sub-6G Hz to mmWave bands, TMYTEK mmWave BBox at 28GHz and 39GHz, phrased-array beamformer and reconfigurable intelligent surface (RIS), and a GPU server with 8x NVIDIA RTX A5000. Task 2 aims at training wireless professionals with the development of AI/ML tools and services to allow automatic wireless data collection and intelligent analytics. Based on this unique CI, Task 3 develops a suite of hands-on projects to train and educate wireless professionals under different scenarios ranging from basic wireless instrument operation to advanced wireless research.&lt;/p></description></item><item><title>Occupancy Estimation from Blurred Video: A Multifaceted Approach with Privacy Consideration</title><link>https://gustybear.github.io/publication/sourav-occupancy-estimation-blurred-2024/</link><pubDate>Sat, 08 Jun 2024 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/sourav-occupancy-estimation-blurred-2024/</guid><description/></item><item><title>Heart Signal Sensing Using Millimeter-wave OFDM Waveform in FutureG Communications Systems</title><link>https://gustybear.github.io/publication/ishmael-heart-signal-sensing-2024/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/ishmael-heart-signal-sensing-2024/</guid><description/></item><item><title>Cross-Modality Continuous User Authentication and Device Pairing With Respiratory Patterns</title><link>https://gustybear.github.io/publication/islam-cross-modality-continuous-user-2023/</link><pubDate>Tue, 15 Aug 2023 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/islam-cross-modality-continuous-user-2023/</guid><description/></item><item><title>Critical Element First: Enhance C-V2X Signal Coverage Using Power-Efficient Liquid Metal-based Intelligent Reflective Surfaces</title><link>https://gustybear.github.io/publication/dacuycuy-critical-element-first-2023/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/dacuycuy-critical-element-first-2023/</guid><description/></item><item><title>Poster Abstract: Obstruction-free Physiological Motion Sensing in NextG Networks with Intelligent Reflective Surfaces</title><link>https://gustybear.github.io/publication/landika-poster-abstract-obstructionfree-2023/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/landika-poster-abstract-obstructionfree-2023/</guid><description/></item><item><title>Physiological Motion Sensing via mmWave Channel State Information in NextG Millimeter-Wave Communication Systems</title><link>https://gustybear.github.io/publication/ishmael-physiological-motion-sensing-2022/</link><pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/ishmael-physiological-motion-sensing-2022/</guid><description/></item><item><title>EE660: Computer Architecture I</title><link>https://gustybear.github.io/teaching/course_ece660_2022_fall/</link><pubDate>Thu, 18 Aug 2022 10:07:39 -1000</pubDate><guid>https://gustybear.github.io/teaching/course_ece660_2022_fall/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>Fundamental understanding of computer architecture is key to hardware and processor design, compilers, operating systems, and high performance programming. This course explores computer architectures and design techniques of modern microprocessors at various scales. The focus will be given to architectures that can exploit different forms of parallelism, whether they be implicit or explicit, to improve performance. A selection of topics covered by the course include multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, multiprocessor systems, and parallel programming.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>EE660 001&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>76915&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Lecturer:
&lt;/td>
&lt;td>Office Hours: see
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Format&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Lecture Time&lt;/th>
&lt;th>Lecture Location&lt;/th>
&lt;th>Textbook&lt;/th>
&lt;th>Quiz&lt;/th>
&lt;th>Assignment&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>MW 13:30pm-14:45pm&lt;/td>
&lt;td>Holmes Hall 389&lt;/td>
&lt;td>&lt;em>Required&lt;/em>: Computer Architecture: A Quantitative Approach (5th Edition) (PH11)&lt;/td>
&lt;td>Individual&lt;/td>
&lt;td>Team&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;em>Optional&lt;/em>: Modern Processor Design: Fundamentals of Supperscalar Processors (SL13)&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="grading-policy">Grading Policy&lt;/h1>
&lt;p>&amp;ndash; &lt;strong>Breakdown&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Quiz &amp;amp; Assignment&lt;/th>
&lt;th>Discussion &amp;amp; Participation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>80%&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>70%&lt;/td>
&lt;td>50%&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Proscribed Conduct&lt;/strong>: Copying or otherwise cheating on homework, lab reports, or exam will result in a failing grade for the course. More details can be found at student conduct code policies,
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="schedule">Schedule&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>TOPIC&lt;/th>
&lt;th>LECTURE&lt;/th>
&lt;th>READING&lt;/th>
&lt;th>Quiz&lt;/th>
&lt;th>ASSG&lt;/th>
&lt;th>DUE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 01 (Aug 22, 24)&lt;/td>
&lt;td>Introduction to Computer Architecture&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11: Chapter 1, C1-C16.&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 02 (Aug 29, 31)&lt;/td>
&lt;td>Review: Pipeline&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11: C26, C30-C58, C61-C81.&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 03 (Sep 7)&lt;/td>
&lt;td>Review: Pipeline cont.&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 04 (Sep 12, 14)&lt;/td>
&lt;td>Review: Cache&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11: B1-B40, SL13:177-209.&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 05 (Sep 19, 21)&lt;/td>
&lt;td>Superscalar Pipelines&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:C43-C61, SL13:217-236&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 06 (Sep 26, 28)&lt;/td>
&lt;td>Out-of-Order Processors&lt;/td>
&lt;td>
&lt;/td>
&lt;td>SL13:338-357&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 07 (Oct 3, 5)&lt;/td>
&lt;td>Branch, Register Renaming, and Memory Disambiguation&lt;/td>
&lt;td>
&lt;/td>
&lt;td>SL13:237-273.&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 08 (Oct 10, 12)&lt;/td>
&lt;td>VLIW Introduction&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11: 192-196, Appendix H&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 09 (Oct 17, 19)&lt;/td>
&lt;td>Branch Prediction&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11: C26-C30, SL13:219-237, 453-508&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (Oct 24, 26)&lt;/td>
&lt;td>Advanced Cache Optimizations&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:71-105&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (Oct 31, Nov 02)&lt;/td>
&lt;td>Memory Protection&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11 B41-B67, 105-144&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (Nov 07, 09)&lt;/td>
&lt;td>Vector Processors and GPUs&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:282-357&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (Nov 14, 16)&lt;/td>
&lt;td>Multithreading&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:221-259&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (Nov 21, 23)&lt;/td>
&lt;td>Parallel Programming and Small Multiprocessors&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:377-400, 343-378&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (Nov 28, 30)&lt;/td>
&lt;td>Interconnection Network&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:Appendix F&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (Dec 05, 07)&lt;/td>
&lt;td>Large Multiprocessors (Directory Protocols)&lt;/td>
&lt;td>
&lt;/td>
&lt;td>PH11:378-386, 400-429&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 17 (Dec 12, 16)&lt;/td>
&lt;td>Elective Topic&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>5G/B5G Intelligent Reflecting Surfaces for Assured Aircraft Mission Readiness</title><link>https://gustybear.github.io/grant/2022_dod_niwc_jbphh_5g_irs/</link><pubDate>Wed, 25 May 2022 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2022_dod_niwc_jbphh_5g_irs/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>To improve Mission Capable (MC) and Aircraft Availability (AA) rates, military aircraft require regular maintenance to ensure flight readiness. When aircraft are on the ground and/or in hangars, the signal between onboard radio systems and ground base stations can be subpar due to undesigned antenna angles as well as blockages by aircrafts’ hulls and/or hangar walls, therefore, causing difficulties for in-situ communication and maintenance. To support 5G/B5G aircraft maintenance and mission readiness use cases, the Joint Base Pearl Harbor-Hickam (JBPHH) 5G initiative is upgrading hangars to support 5G Ultra-Wideband (UW) communication. Typical base stations at these bands may leverage massive antenna arrays to form directional signal beams pointing line-of-sight (LoS) toward receivers, hence amplifying the receive signal strength (RSS) and improving the signal-to-noise ratio (SNR). However, such LoS communication links can have coverage gaps due to the aforementioned challenges. For example, aircraft can create 5G dead zones (e.g. shadowing) for LoS small cells in hangars. Thus, there is a need for beyond LoS signal propagation to increase 5G signal coverage in aircraft maintenance environments.&lt;/p>
&lt;p>Naval Information Warfare Center Pacific (NIWC Pacific) will provide project oversight and support to the University of Hawaiʻi at Mānoa (UHM) to demonstrate improved 5G signal coverage using beam-steering Intelligent Reflecting Surfaces (IRS). Our approach to improve signal coverage uses the electrical actuation of liquid metal (LM) to modify signal reflection and thus reconfigure the gain and phase of an IRS to steer a 5G signal between a transmitter and receiver. In Year 1, we will demonstrate increased 5G band 78 (3.5 GHz) small-cell signal coverage with the proposed IRS and accompanying design control software and algorithms. We will also design an IRS for 5G band 260 (39 GHz). In an optional Year 2, we will demonstrate increased 5G band 260 small-cell coverage by creating an IRS optimized for mm-wave signals. We will also show that the IRS’s link-selection properties can enable multi-user multiple-input multiple-output (MU-MIMO) communication for concurrent data transmissions.&lt;/p></description></item><item><title>Interface-Based Side Channel in TEE-Assisted Networked Services</title><link>https://gustybear.github.io/publication/zhang-interface-based-side-channel-2024/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zhang-interface-based-side-channel-2024/</guid><description/></item><item><title>Phase Correlation Single Channel Continuous Wave Doppler Radar Recognition of Multiple Sources</title><link>https://gustybear.github.io/publication/ishmael-phase-correlation-single-2021/</link><pubDate>Thu, 20 Jan 2022 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/ishmael-phase-correlation-single-2021/</guid><description/></item><item><title>Insider-Resistant Context-Based Pairing for Multimodality Sleep Apnea Test</title><link>https://gustybear.github.io/publication/zheng-insider-resistant-context-based-pairing-2021/</link><pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-insider-resistant-context-based-pairing-2021/</guid><description/></item><item><title>EE693e (Spec Topics): Wireless Communication and Sensing for Telemedicine</title><link>https://gustybear.github.io/teaching/course_ee693e_2021_fall/</link><pubDate>Mon, 02 Aug 2021 10:07:39 -1000</pubDate><guid>https://gustybear.github.io/teaching/course_ee693e_2021_fall/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>This course focuses on selected research topics in wireless communication and sensing and is intended for undergraduate, master, and doctoral students who are interested in this field of study. At the end of this course, students will have a in-depth knowledge of the state-of-the-art and open problems, thus enhancing their potential to do research or pursue a career in this rapidly developing area. this course is structured as a research seminar and laboratory where research papers from leading conferences &amp;amp; journals will be presented by the instructor and students. Main topics of this iteration include the study the connections between telemedicine and IoT, mobile sensing, augmented reality, 5G, edge computing, cloud computing, and 3D-printing.&lt;/p>
&lt;h1 id="logistics">Logistics&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>CRN&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>EE693e&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>85304&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Personnel&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Lecturer:
&lt;/td>
&lt;td>Overview the area of study&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Presenter&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>: students&lt;/td>
&lt;td>Give presenation and written report of the given paper&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Audience&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>: students&lt;/td>
&lt;td>Discuss the given paper&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Format&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Lecture/Presentation Time&lt;/th>
&lt;th>Lecture/Presenatation Location&lt;/th>
&lt;th>Textbook&lt;/th>
&lt;th>Persentation&lt;/th>
&lt;th>Report&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>MW 9:00am-10:15am&lt;/td>
&lt;td>
&lt;/td>
&lt;td>See
&lt;/td>
&lt;td>Group&lt;/td>
&lt;td>Group&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;/ul>
&lt;h1 id="grading-policy">Grading Policy&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Presentations&lt;/th>
&lt;th>Reports&lt;/th>
&lt;th>Discussion&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>40%&lt;/td>
&lt;td>40%&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Cutoffs&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>A-&lt;/th>
&lt;th>B-&lt;/th>
&lt;th>C-&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>70%&lt;/td>
&lt;td>50%&lt;/td>
&lt;td>30%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Proscribed Conduct&lt;/strong>: Copying or otherwise cheating on homework, lab reports, or exam will result in a failing grade for the course. More details can be found at student conduct code policies,
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="Schedule">Schedule&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>TIME&lt;/th>
&lt;th>TOPIC&lt;/th>
&lt;th>PAPER/NOTES&lt;/th>
&lt;th>REPORT&lt;/th>
&lt;th>DUE&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 01 (
)&lt;/td>
&lt;td>Logistic, Telemedicine Overview&lt;/td>
&lt;td>
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 02 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Sep 12&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 03 (
)&lt;/td>
&lt;td>Telemedicine and Internet of Things&lt;/td>
&lt;td>
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 04 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Sep 26&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 05 (
,
)&lt;/td>
&lt;td>Telemedicine and Wireless Sensing&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 06 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Oct 12&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 07 (
,
)&lt;/td>
&lt;td>Telemedicine and AR/VR&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 08/09 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Oct 24&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 09 (
)&lt;/td>
&lt;td>Telemedicine and 5G&lt;/td>
&lt;td>
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Nov 07&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (
,
)&lt;/td>
&lt;td>Telemedicine and Edge Computing&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>11:59 PM, Nov 21&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (
,
)&lt;/td>
&lt;td>Telemedicine and Cloud Computing&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>11:59 PM, Nov 05&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (
, [Dec 01][recording 1201 url])&lt;/td>
&lt;td>Telemedicine and 3D-Printing&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (
,
)&lt;/td>
&lt;td>Student Presentations&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>11:59 PM, Dec 19&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 17&lt;/td>
&lt;td>Conclusion&lt;/td>
&lt;td>&amp;ndash;&lt;/td>
&lt;td>NA&lt;/td>
&lt;td>NA&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="footnotes">Footnotes&lt;/h2>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Students may work in teams of two or three. each team will be assigned with one paper every other week. each team needs to complete two tasks on each paper: (1) give a in-depth presentation (60 min) and answer all the questions during the q&amp;amp;a (15 min); (2) write a one-page (excluding citations) summary of the paper (in ieee conference format).&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Students must work alone and complete the following tasks for each presentation: (1) prepare at least one relevent question for the presenter; (3) grade the presenter&amp;rsquo;s presentation and report.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Identification of COVID-19 Type Respiratory Disorders Using Channel State Analysis of Wireless Communications Links</title><link>https://gustybear.github.io/publication/lubecke-identification-covid-19-type-2021/</link><pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/lubecke-identification-covid-19-type-2021/</guid><description/></item><item><title>Machine Vision Tools for Delimiting Distribution of Coconut Rhinoceros Beetle on the Island of Oahu</title><link>https://gustybear.github.io/publication/paryavi-machine-vision-tools-2021/</link><pubDate>Fri, 02 Apr 2021 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/paryavi-machine-vision-tools-2021/</guid><description/></item><item><title>EE693e (Spec Topics): Wireless and Mobile Security</title><link>https://gustybear.github.io/teaching/course_ee693e_2020_fall/</link><pubDate>Sun, 23 Aug 2020 20:07:39 -1000</pubDate><guid>https://gustybear.github.io/teaching/course_ee693e_2020_fall/</guid><description>&lt;hr>
&lt;h2 id="executive-summary">Executive Summary&lt;/h2>
&lt;p>this course focuses on selected research topics of current interest in wireless security and is intended for undergraduate, master, or doctoral students who are interested in wireless security. at the end of this course, students will have a in-depth knowledge of the state-of-the-art and open problems in wireless security, thus enhancing their potential to do research or pursue a career in this rapidly developing area. this course is structured as a research seminar and laboratory where research papers from leading conferences &amp;amp; journals will be presented by the instructor and students. main topics of interests include: pairing, authentication, access control, wireless sensing and localization, jamming and anti-jamming, security analysis of wireless applications, hardware/firmware, side-channel analysis, IoT privacy, wireless fingerprinting, location privacy, and security in future cellular networks.&lt;/p>
&lt;hr>
&lt;h2 id="textbook">Textbook&lt;/h2>
&lt;ul>
&lt;li>required:
, by acm.
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="logistics">Logistics&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;em>lecturer&lt;/em>:
et al.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>lecture&lt;/em>: mondays wednesday 9:00am-10:15am,
virtual via
.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>discussion&lt;/em>: virtual via
.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>office hours&lt;/em>: schedule it
.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>laboratory hours&lt;/em>: schedule it
.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="policies">Policies&lt;/h2>
&lt;ul>
&lt;li>&lt;em>presenter&lt;/em>: you may work in teams of two or three. each team will be assigned with two topics (four papers). each team needs to complete two tasks on each paper: (1) give a in-depth presentation (60 min) and answer all the questions during the q&amp;amp;a (15 min); (2) write a one-page (excluding citations) summary of the paper (in ieee conference format).&lt;/li>
&lt;li>&lt;em>audience&lt;/em>: you must work alone and complete the following tasks for each presentation: (1) watch the conference presentation that accompanies the paper; (2) prepare at least one relevent question for the presenter; (3) grade the presenter&amp;rsquo;s presentation and report.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="schedule">Schedule&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>time&lt;/th>
&lt;th>lecture/presentations&lt;/th>
&lt;th>presenter&lt;/th>
&lt;th>papers&lt;/th>
&lt;th>video/slides&lt;/th>
&lt;th>report&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Week 01 (Aug 24, 26)&lt;/td>
&lt;td>Course logistic&lt;/td>
&lt;td>Yao Zheng&lt;/td>
&lt;td>&amp;mdash;&lt;/td>
&lt;td>&amp;mdash;&lt;/td>
&lt;td>&amp;mdash;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 02 (Aug 31, Sep 02)&lt;/td>
&lt;td>Mobile payments and fraud&lt;/td>
&lt;td>Alvin Yang, Thomas Yang&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 03 (Sep 09)&lt;/td>
&lt;td>NO CLASS&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 04 (Sep 14, 16)&lt;/td>
&lt;td>Wireless localization and security&lt;/td>
&lt;td>Samson Aggelopoulos, Changlong Wu&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 05 (Sep 21, 23)&lt;/td>
&lt;td>Jamming and anti-jamming&lt;/td>
&lt;td>Grant A. Stankaitis, Japhet J. Ye&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 06 (Sep 28, 30)&lt;/td>
&lt;td>Mobile app security&lt;/td>
&lt;td>Dawei Yang, Matthew W. Sahara&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 07 (Oct 05, 07)&lt;/td>
&lt;td>Physical-layer security&lt;/td>
&lt;td>Samson Aggelopoulos, Noha M. Mohammed&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 08 (Oct 12, 14)&lt;/td>
&lt;td>Hardware, firmware, and side-channel&lt;/td>
&lt;td>Alvin Yang, Japhet J. Ye&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 09 (Oct 19, 21)&lt;/td>
&lt;td>Wireless fingerprints&lt;/td>
&lt;td>Brian Z. Lu, Matthew W. Sahara&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 10 (Oct 26, 28)&lt;/td>
&lt;td>Location privacy&lt;/td>
&lt;td>Grant A. Stankaitis, Changlong Wu&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 11 (Nov 02, 04)&lt;/td>
&lt;td>Privacy risks and protection in IoT&lt;/td>
&lt;td>Brian Z. Lu, Noha M. Mohammed&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 12 (Nov 09)&lt;/td>
&lt;td>NO CLASS&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 13 (Nov 16, 18)&lt;/td>
&lt;td>Pairing and access control&lt;/td>
&lt;td>Dawei Yang, Thomas Yang&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 14 (Nov 23, 25)&lt;/td>
&lt;td>Wireless sensing and authentication&lt;/td>
&lt;td>Yao Zheng&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 15 (Nov 30, Dec 02)&lt;/td>
&lt;td>Security in 4G/LTE&lt;/td>
&lt;td>Yao Zheng&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Week 16 (Dec 07, 09)&lt;/td>
&lt;td>Security in 5G&lt;/td>
&lt;td>Yao Zheng&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>
,
&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="acknowledgement">Acknowledgement&lt;/h2>
&lt;p>This course is developed with the materials provided by ACM WiSec
2020, and the supports of University of Hawaii at Manoa
Coronavirus Aid, Relief and Economic Security (CARES) grant,
NSF grants DGE-1662487, CNS-1948568.&lt;/p></description></item><item><title>iJam with Channel Randomization</title><link>https://gustybear.github.io/publication/melcher-i-jam-channel-randomization-2020/</link><pubDate>Thu, 09 Jul 2020 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/melcher-i-jam-channel-randomization-2020/</guid><description/></item><item><title>Radar-Based Non-Contact Continuous Identity Authentication</title><link>https://gustybear.github.io/publication/islam-radar-based-non-contact-continuous-2020/</link><pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/islam-radar-based-non-contact-continuous-2020/</guid><description/></item><item><title>CRII: NeTS: Power Efficient Millimeter Wave Data Delivery for Remote Invasive Species Monitoring</title><link>https://gustybear.github.io/grant/2020_nsf_cise_nets_crii/</link><pubDate>Fri, 01 May 2020 00:00:00 -1000</pubDate><guid>https://gustybear.github.io/grant/2020_nsf_cise_nets_crii/</guid><description>&lt;h1 id="executive-summary">Executive Summary&lt;/h1>
&lt;p>The growing data resolution in remote sensing spurs the adoption of millimeter-wave (mmWave) communication modules on energy-harvesting devices to increase the data delivery bandwidth. The energy conditions on these devices are not always satisfiable to initiate or maintain the mmWave links and require systems to be capable of anticipating communication failures and take preemptive actions to minimize energy expenditures. Fortunately, the environmental information provided by remote sensors contains sufficient knowledge to enable the design of such systems. The goal of this project is to develop algorithms and tools to exploit this information and augment the solar-harvesting remote invasive species monitoring system in the State of Hawaii with mmWave data delivery capability. The work in this project will enable researchers, industry, and students to realize high bandwidth real-time remote sensing with power-constrained devices in real-world applications. The results of this research will impact fields across scientific, industrial, and military interests, including agriculture, ecology, meteorology, infrastructure, and public utility monitoring, etc., where timely communication of high-resolution sensory data is essential.&lt;/p>
&lt;p>The fundamental intuition of the proposed approach is that environmental factors, such as weather conditions, signal blockages, can be recognized via the inherent capability or interactions between the remote sensors. Knowledge of these factors can be utilized to optimize device awakening, beam scanning, and signal amplification, etc., at the physical layer. Three complimentary research thrusts are pursued: 1) extracting the correlation between solar harvesting conditions and mmWave signal attenuations; developing models and circuits to estimate the mmWave signal attenuations at specific solar conditions; 2) designing a distributed sensing architecture to detect mmWave beam blockage and accelerate beam alignment, by exploiting the low-power decimeter band communication implemented by the existing system; 3) formulating and solving a constrained route placement problem for an autonomous aerial data collector to optimize its mmWave signal reception as it maneuvers between sensor clusters and flight restricted regions. All products of this work will be made freely available to the research community, along with documentation and tutorials. The in-lab testbed to be established during the project will be made available online for remote testing. The hardware schematic of the sensor platform, deployment profiles, data traces, and important meta-data will be posted online to spur further use, test, and research to advance the field.&lt;/p></description></item><item><title>ROBin: Known-Plaintext Attack Resistant Orthogonal Blinding via Channel Randomization</title><link>https://gustybear.github.io/publication/pan-ro-bin-known-plaintext-attack-2020/</link><pubDate>Wed, 01 Apr 2020 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/pan-ro-bin-known-plaintext-attack-2020/</guid><description/></item><item><title>FaIR: Federated Incumbent Detection in CBRS Band</title><link>https://gustybear.github.io/publication/troglia-fa-ir-federated-incumbent-2019/</link><pubDate>Fri, 01 Nov 2019 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/troglia-fa-ir-federated-incumbent-2019/</guid><description/></item><item><title>Characterizing Location-Based Mobile Tracking in Mobile Ad Networks</title><link>https://gustybear.github.io/publication/hu-characterizing-locationbased-mobile-2019/</link><pubDate>Fri, 01 Mar 2019 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/hu-characterizing-locationbased-mobile-2019/</guid><description/></item><item><title>Tracking Location Privacy Leakage of Mobile Ad Networks at Scale</title><link>https://gustybear.github.io/publication/hu-tracking-location-privacy-2018/</link><pubDate>Sun, 15 Apr 2018 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/hu-tracking-location-privacy-2018/</guid><description/></item><item><title>A Feedback Control-Based Crowd Dynamics Management in IoT System</title><link>https://gustybear.github.io/publication/kawamoto-feedback-control-based-crowd-2017/</link><pubDate>Tue, 11 Jul 2017 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/kawamoto-feedback-control-based-crowd-2017/</guid><description/></item><item><title>Location Based Handshake and Private Proximity Test with Location Tags</title><link>https://gustybear.github.io/publication/zheng-location-based-handshake-2017/</link><pubDate>Sat, 01 Jul 2017 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-location-based-handshake-2017/</guid><description/></item><item><title>Cognitive Security: Securing Burgeoning Landscape of Mobile Network</title><link>https://gustybear.github.io/publication/zheng-cognitive-security-securing-2016/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-cognitive-security-securing-2016/</guid><description/></item><item><title>Profiling the Strength of Physical-Layer Security: A Study in Blinding</title><link>https://gustybear.github.io/publication/zheng-profiling-strength-physical-layer-2016/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-profiling-strength-physical-layer-2016/</guid><description/></item><item><title>Privacy Preservation for Cloud-Based Data Sharing and Data Analytics</title><link>https://gustybear.github.io/publication/zheng-privacy-preservation-cloud-based-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-privacy-preservation-cloud-based-2016/</guid><description/></item><item><title>Privacy-Preserving Link Prediction in Decentralized Online Social Networks</title><link>https://gustybear.github.io/publication/zheng-privacy-preserving-link-prediction-2015/</link><pubDate>Tue, 01 Sep 2015 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-privacy-preserving-link-prediction-2015/</guid><description/></item><item><title>DDoS Attack Protection in the Era of Cloud Computing and Software-Defined Networking</title><link>https://gustybear.github.io/publication/wang-d-do-s-attack-protection-2015/</link><pubDate>Wed, 01 Apr 2015 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/wang-d-do-s-attack-protection-2015/</guid><description/></item><item><title>Highly Efficient Known-Plaintext Attacks Against Orthogonal Blinding Based Physical Layer Security</title><link>https://gustybear.github.io/publication/zheng-highly-efficient-known-plaintext-2015/</link><pubDate>Sun, 01 Feb 2015 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-highly-efficient-known-plaintext-2015/</guid><description/></item><item><title>PeerClean: Unveiling Peer-to-Peer Botnets through Dynamic Group Behavior Analysis</title><link>https://gustybear.github.io/publication/yan-peer-clean-unveiling-peerto-peer-2015/</link><pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/yan-peer-clean-unveiling-peerto-peer-2015/</guid><description/></item><item><title>DDoS Attack Protection in the Era of Cloud Computing and Software-Defined Networking</title><link>https://gustybear.github.io/publication/wang-d-do-s-attack-protection-2014/</link><pubDate>Wed, 01 Oct 2014 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/wang-d-do-s-attack-protection-2014/</guid><description/></item><item><title>Scalable and Secure Sharing of Personal Health Records in Cloud Computing Using Attribute-Based Encryption</title><link>https://gustybear.github.io/publication/li-scalable-secure-sharing-2013/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/li-scalable-secure-sharing-2013/</guid><description/></item><item><title>SHARP: Private Proximity Test and Secure Handshake with Cheat-Proof Location Tags</title><link>https://gustybear.github.io/publication/zheng-sharp-private-proximity-2012/</link><pubDate>Sat, 01 Sep 2012 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-sharp-private-proximity-2012/</guid><description/></item><item><title>Privacy-Preserving Personal Health Record System Using Attribute-Based Encryption</title><link>https://gustybear.github.io/publication/zheng-privacy-preserving-personal-health-2011/</link><pubDate>Sat, 01 Jan 2011 00:00:00 +0000</pubDate><guid>https://gustybear.github.io/publication/zheng-privacy-preserving-personal-health-2011/</guid><description/></item></channel></rss>