r/chipdesign • • 10h ago

Gate-level sim hung on every multiply in my RISC-V chip. The cause was X-pessimism in PicoRV32’s multiplier counter

Thumbnail
gallery
11 Upvotes

Some context: Argo is my PicoRV32 + 8x8 systolic array SoC on IHP SG13CMOS5L (posted here a few weeks ago https://www.reddit.com/r/chipdesign/comments/1wzfdef/i_designed_a_riscv_chip_with_a_matrix_accelerator/ ). Since then it’s been signed off for tapeout at IHP. The RTL regression was clean. On the routed netlist, a hello-world passed, but the array test and the power-on self-test never printed anything. They just hit the timeout.

Narrowing it down

I wrote a tiny test that prints a token after each bus access, all on one UART line, so a timeout shows exactly how far it got:

FAIL: timeout, partial line "S0 DW DR+ IW IR+ AW AR "

DSRAM, ISRAM and the array registers all worked. The next step was a mul, and hello-world turned out to be the only program with no multiply in it.

Probing the multiplier (image 1)

A probe on PicoRV32’s PCPI multiplier showed the handshake starting fine, then mul_counter going bad one bit per cycle: 001111x, 00111xx, ... xxxxxxx. Bit 0 was X from the start, and each decrement dragged it up a bit until it reached bit 6, the “done” bit. Then mul_waiting went X, the X spread back into the CPU’s wait signal, and the core sat there forever.

Why bit 0 never cleaned up (image 2)

mul_counter has no reset in the RTL, which is fine because it reloads on every idle cycle. The flop in the netlist is a reset-capable cell, but its RESET_B is tied off. This is what reloads bit 0:

sg13cmos5l_nor2_1  _099351_ (.A(mul_counter[0]), .B(net1070), .Y(_047204_));
sg13cmos5l_a21oi_1 _099352_ (.A1(mul_counter[0]), .A2(net2985), .B1(_047204_), .Y(_005099_));

net2985 is a buffered constant 1, and net1070 is low while the multiplier is idle. So:

D = NOT( (Q AND 1) OR NOT(Q OR 0) )
  = NOT( Q OR NOT Q )

In silicon, Q OR NOT Q is always 1, so D is always 0. The flop powers up as 0 or 1, and the first idle cycle loads 0. In a 4-state simulator, X OR NOT X is X, so the flop feeds its own X back forever. It’s plain X-pessimism from how synthesis restructured the logic. My v1 netlist happened to come out of ABC with a different structure, which is why I never saw it before.

Proving it (image 3)

I forced that one D net to 0 for the whole SPI boot, while the CPU is still held in reset, then released it. The counter loaded 0011110, counted down cleanly and the multiply returned the right answer. My first attempt only forced it for 200 ns, and the flop picked up X again as soon as I released it, because the other gate input was still X that early in the boot.

The fix (image 4)

The fix is in the testbench, not the chip. A small script finds every CPU flop in the netlist and holds its D input at 0 during the SPI boot, then releases it before RUN, which models one legal power-up state. With that, the power-on self-test passes on the routed netlist in both zero-delay and typical SDF simulation.

What I took from it:

  • A hello-world passing at gate level tells you very little. Make sure your GLS programs actually use every functional unit.
  • A sim-only X and a real missing reset look identical in a waveform. I didn’t trust any other GLS result until I’d proved which one this was.
  • The cheapest real fix is adding resets to those few control flops in the RTL. That’s on the list for v3.

How do you handle non-reset flops in GLS? Testbench init like this, random init across seeds, a simulator option, or resets everywhere?


r/chipdesign • • 4m ago

Retro Gaming Console on RV32IM CPU (DE0 Nano FPGA)

Post image
• Upvotes

Can it run DOOM? This is an entry for the Hackaday Retrocomputing Challenge by DigiKey, brought up on the Intel Cyclone IV (Terasic DE0-Nano) FPGA, building on the previous CPU work

I put my dual-issue RV32IM superscalar CPU, with custom UART, I2C, and FIFO IPs, on an FPGA and built a retro system around it. A launcher lets you choose between DOOM, a Wolfenstein-style raycaster, and custom games such as Snake, 2048, Tetris, Minesweeper, and Flappy Bird. It also runs classic 8-bit software in a CP/M 2.2 environment and CHIP-8 games through a software interpreter

The CPU runs from SDRAM, with programs and game data loaded over UART through a CP2102 USB-to-TTL adapter. Keyboard input comes back over the same link into a hardware key register with press and release events. Each tick, the core reads the input, updates the running program, and writes an 8-bit framebuffer to SDRAM. On a frame commit, the core clock briefly pauses to burst the frame into a TX FIFO, streaming it over UART at 45 FPS to a host RGB viewer. A monochrome version is also displayed at ~33 FPS on an SSD1306 OLED over I2C

Before putting it on hardware, I built the same system in Verilator, running DOOM at 1.38 IPC while keeping the same MMIO interface and replacing SDRAM and peripherals with testbench stand-ins. A fast harness with snapshot/restore made iteration much easier, and a web bridge let me play it directly in the browser

Getting everything onto the board meant cutting predictor tables, making wide multiply/divide iterative while keeping the fast path on DSPs (holding ~1.35 IPC after the cuts), retuning the serial framing, and repacking the game assets to fit in SDRAM. CoreMark CRC checks caught functional issues before I started debugging the game itself

Alongside this, I’ve also been extending the same CPU toward a simple Out-of-Order design to explore the Tomasulo algorithm through an intuitive walkthrough

PS. Full write-ups (design decisions, debugging): https://mummanajagadeesh.github.io/categories/riscv/


r/chipdesign • • 2h ago

What exactly is the flow automation role?

1 Upvotes

Hello people, i got an intern coming in one of the big mnc's from Jan. They said the role is mostly about flow automation and I will work closely with pd peeps Thanks for your time!


r/chipdesign • • 13h ago

Are verification roles more software than hardware?

6 Upvotes

r/chipdesign • • 19h ago

HRT Design Verification Engineer Phone Screen

7 Upvotes

Hi everyone!
I recently got an interview opportunity with Hudson River Trading (HRT) for a Design Verification Engineer role, and I have an upcoming technical phone screening with a member of their DV team.
I have an M.S. in Electrical Engineering, with a focus on computer architecture and digital design.

I wanted to ask those who have interviewed with HRT or work in hardware verification/trading firms:

What does the technical phone screening typically look like?

What topics should I prioritize preparing for?

Are there coding questions involving C/C++, Python, or SystemVerilog?

How does the interview process typically progress after the initial phone screen?

Any preparation tips, experiences, or resources would be greatly appreciated! I’d especially love to hear from people who have interviewed for hardware design or verification roles at HRT or similar quantitative trading firms.
Thanks in advance!


r/chipdesign • • 21h ago

What is the current state of agent-driven analog IC design?

9 Upvotes

AI is improving fast and many startups as well as the big EDA providers are building systems for AI-based analog IC design and layout. What is the current state of those systems? What do they currently not quite succeed to do?

Can any of these take an English spec for a block and build schematic, layout and routing with associated test benches and verification all the way to a design ready for tapeout? (Not just finding parameters to a pre-existing layout generator for a specific block type.) If so, how complex blocks can they do?


r/chipdesign • • 3h ago

Masters in VLSI

0 Upvotes

Need help choosing MS in VLSI semiconducts: US, Netherlands, or Taiwan? I get full tuition funding from Karnataka govt (SC/ST).

I’m from Bengaluru and planning for a master’s in 2027. I’m torn between the US (big opportunities but uncertain job market), Netherlands (good work-life balance ), and Taiwan (affordable and strong tech industry).

Since my tuition fees are fully covered by the Karnataka government scholarship, my main concern is job prospects and long-term residency options.

Anyone with recent experience—what would you choose and why?


r/chipdesign • • 17h ago

Apple: HWT Cellular Technology Intern

2 Upvotes

I am a masters computer engineering student. Apple reached out to me for an interview for the role of HWT Cellular Technology intern.

Does anyone know what kind of role this is? I don't remember applying for any such roles. I mainly applied for Design and Verification roles only.

But this particular role at Apple wasn't specific, it had all kinds of roles like Design, Verification, SW/GPU etc you name it.

Is the interview more to get to know me and my interests? It seems like I have to do the interview assessment on CoderPad.

Any insights would be helpful!


r/chipdesign • • 21h ago

Looking to learn STA

3 Upvotes

Hi ,

I work in EMIR methodology. I am interested in learning STA but not getting an opportunity. What should i do ? My managers think if i learn STA i will switch the company. Because of this they are not allowing me to


r/chipdesign • • 1d ago

Renesas India Review Request

7 Upvotes

Hi,

Can anyone share some info about renesas india, like work culture, layoffs, annual compensation (average).

I have got an offer from renesas hyderabad, hence asking. I am currently at TI.


r/chipdesign • • 1d ago

Career Advice: Transitioning from Research into Chip Design (ECE Graduate from the Philippines)

6 Upvotes

Hi everyone,

I graduated with a degree in Electronics Engineering (ECE) from a university in the Philippines last year. Immediately after graduation, I accepted a research role at my university. For the past year, I have been working as a Project Technical Assistant IV. My role primarily involves 3D modeling, basic PCB design, technical paper writing, and presenting our work at tech expos.

While I appreciate the research experience, my true passion is Chip Design (IC Design). However, as a beginner, I am feeling a bit overwhelmed and confused about the correct roadmap.

I have started taking some basic Verilog courses, but I have a few critical questions for the industry veterans here:

  1. Prerequisites: Am I missing anything? Do I need to review specific topics (like Digital Logic Design or Computer Architecture) before diving deeper into Hardware Description Languages (HDLs)?
  2. Verilog vs. SystemVerilog: I recently read that SystemVerilog is the current industry standard. Should I skip Verilog entirely and go straight to SystemVerilog, or is a foundation in Verilog necessary first?
  3. Beyond HDLs: What other core concepts, fundamentals, or methodologies (e.g., Verification, Synthesis, Static Timing Analysis) do I need to learn to be job-ready?
  4. EDA Tools: Which Electronic Design Automation (EDA) tools should a beginner familiarize themselves with? Are there open-source alternatives (like OpenLane or ModelSim student editions) that are highly regarded?
  5. Portfolio Projects: What are some beginner-to-intermediate Verilog/SystemVerilog projects that would actually stand out on a resume or job application?
  6. Career Paths & Roles: What are the different roles available within the chip design industry, what specific skills are required for each, and which of these roles are most suitable/accessible for a recent graduate?

I am genuinely amazed by semiconductor engineering and thoroughly enjoy learning HDLs. In fact, I am planning to specialize in semiconductors if I pursue a Master's degree in the future.

Any guidance, learning roadmap recommendations, or advice on how to break into the industry from my current position would be immensely appreciated.

Thank you so much!


r/chipdesign • • 1d ago

First job as an architect | Should I focus on Performance or Microarch?

2 Upvotes

Context: I'm 22, joined one of the big players in AI hardware about 4 months back. First job right after bachelors.

I studied traditional CPU architecture during college and knew nothing about AI accelerators. During these 4 months, I have been working mainly on roofline modelling and performance analysis, nothing related to deep microarch yet.

I feel i have developed some intuition about how performance modelling works and how to analyse workloads, bottlenecks at the system level, and how LLMs behave with the given hardware (with different shardings and their implications).

My manager asked me whether I want to work on a problem statemen related to microarch. Just wanted your opinion on should I keep working on performance for now, or should I pick something related to microarch?

Also, in general for an architect, would you recommend performance or microarch as the primary area of specialization in the long run?


r/chipdesign • • 1d ago

Bought a silicon wafer off AliExpress. Any idea what this chip is?

Post image
14 Upvotes

r/chipdesign • • 21h ago

Intel Job | Salary | 5 YOE

0 Upvotes

What will be the salary that can be asked for a 5 YOE RTL design engineer with a current package of 22LPA, who got an offer in Intel ?

Is it good to move to Intel ? (As layoffs are happening )

Work - Life balance in Intel ?


r/chipdesign • • 1d ago

.Lib Characterization Role vs physical Design

0 Upvotes

Hi all

I started my career at Synopsys doing .lib characterization, but unfortunately got laid off. I joined another company after that, but they got acquired and my role became redundant, so I'm currently without a job. I've been giving interviews for Physical Design roles since I have past internship experience in it and feel it's a better profile, but I haven't had any luck yet. Can anyone guide me on what I should do next?

Also i will be very happy if someone has any openings for me.

My exp

Mtech from NIT

Intel intern

Then synopsys

Then Eximietas

Total 3.5 yes including internship

Thanks 😊


r/chipdesign • • 2d ago

How do you characterize temp sensor chip in mass production?

12 Upvotes

I'm wondering how the temperature sensor chip would characterize/trim the temperature coefficient of the system for mass production. Can you do two temperature point measurement for all of the chip at package level? Or you do it at wafer level? Do you measure every die/package or just one chip to represent the whole lot.
From what I understand, it takes time to heat up the environment, so doing two point measurement for every package is expensive. Not sure how it is done for temperature sensor that requires good accuracy.


r/chipdesign • • 1d ago

India to Europe/UK oppurtunities as 3+ yoE in PD

0 Upvotes

Hi guys,

27F, working in MNC as Physical Design engineer from last 3+ years. I want to move to Europe or UK.

I have applied directly for couple of jobs but didn't get any call back.

Are the opportunities in Europe less for Indians? What is the best possible way I can move to Europe? Internal transfer might take 2 years from now and that too not sure if my company allows it.

Please help me with these queries.


r/chipdesign • • 1d ago

Parat: 512-bit Multiplier Verification in 26.71 Seconds — Plus an Independently Checked PAC Proof

0 Upvotes

512-bit multiplication · 2.61 million AND gates · 26.71 seconds · Independently checked 512-bit PAC certificate

In my previous post, I shared Parat v1.3 and its independently checkable proof for a 256-bit Yosys Booth multiplier. Since then, I have tested larger multiplier circuits and expanded the SAT benchmark suite.

512-bit multiplier: 26.71 seconds

I generated an unsigned 512×512-bit multiplier using carry-save compression followed by a final ripple adder.

The generated circuit contains:

  • 2,614,272 AND gates
  • 1,024 primary inputs and 1,024 output bits
  • An approximately 59 MB ASCII AIGER file

Parat returned CORRECT MULTIPLIER in 26.71 seconds, with approximately 2.27 GB peak resident memory.

An independent bit-parallel simulator checked 64 operand pairs against exact integer multiplication. Every output bit matched.

A separate 512-bit Wallace multiplier: PAC certificate

I also have results from a separate 512-bit Wallace multiplier circuit, containing approximately 2.63 million AND gates.

For that circuit:

  • PAC certificate generation took approximately 5–5.5 minutes.
  • Independent verification with pacheck2 took approximately 2.5 minutes.
  • The recorded proof file was approximately 2.18 GB, with about 122 MB of polynomial data and 43 MB of specification data.

These are separate circuit experiments: the 26.71-second result above is for the carry-save/ripple architecture, while the independently checked PAC certificate belongs to the Wallace-circuit experiment.

Fault-injection testing

I modified individual gates in copies of the 512-bit carry-save/ripple circuit.

Three tested mutations—including an output-bit mutation, an early partial-product gate mutation and a near-final gate mutation—were detected as incorrect.

One middle-compressor-gate mutation did not produce a verdict within approximately 120 seconds. That case remains unresolved; the original correct circuit did return CORRECT MULTIPLIER.

Broader SAT benchmarks

On the tested Linux build:

Benchmark Result
UF50 1,000/1,000 SAT models independently validated
UF250 100/100 SAT models independently validated
BMS 500/500 SAT models independently validated
flat200 100/100 SAT models independently validated
SW100 1/1 SAT model independently validated
Generated regression suite 115 expected-result checks passed; 6 exploratory cases inconclusive

I also tested 176 SAT Competition 2005 industrial instances with a 10-second limit per instance. 142 SAT models were independently validated; 34 instances timed out.

For the UUF sets, reported UNSAT statuses matched expected results, but those results have not all been independently checked with proof certificates.

Limitations

The 26.71-second result applies to one generated circuit, not every multiplier architecture. One middle-gate mutation remains unresolved, and 34 industrial cases exceeded the time limit. Results from separate circuits should not be treated as if they came from one identical netlist.

Repository: https://github.com/himanshu161106-crypto/parat

The code was written by AI under my direction. The project ideas, mathematical approach, experiment design and testing were mine.

I'd appreciate technical feedback on improving the difficult middle-gate case and on additional large multiplier architectures worth testing.


r/chipdesign • • 1d ago

Need a mentor to help me navigate my career choices

0 Upvotes

As mentioned, looking for a mentor who could advise me regarding some important decisions I'm about to take. I'm 28, working in chip industry for 4 yrs in Bangalore, India. Would love to discuss and practical suggestions from someone veteran or even mid career stage professionals. Please comment down or DM! Would appreciate your help!.


r/chipdesign • • 1d ago

1.5 YOE , 35 L base , 45 K RSUs

0 Upvotes

Is this low ball offer ?


r/chipdesign • • 3d ago

Design of all digital pll.

17 Upvotes

I am having a group project that is design and simulation of all digital pll in 22nm FDX. I am responsible to do the TDC.

The goal is to minimize random jitter below 200fs.

Output freq from 9 to 11Ghz.

There is also a spec on vco phase noise and settling time for loop.

1-I am a bit confused how to start should we do a linear model or time domain model first?

2-We studied Sam Palermo lectures for pll and adpll, if there is suggestions for good books about adpll that can make us understand system better please tell us about.


r/chipdesign • • 2d ago

Help with Cadence needed designing LNA

1 Upvotes

I’m trying to design an LNA that meets certain specs. So for the first part, as per my course guidelines, I tried to find Jopt which provides NFmin.

Now, I tried to find the width that gives me Ropt at 50ohms. I’ve a 1u cmos width and I’m sweeping the Number of fingers trying to see where it lands at 50ohms. I have placed an idea current source that provides the current proportional with the Jopt I found in part 1.

My problem is here. I’m finding the number of fingers to be >200 to have Ropt at 50 and also my NFmin is shooting up as well(20dBs). I’m not sure where I’m going wrong. If you have any idea or suggestion please share. I’m new to cadence and find the whole thing overwhelming.

Unfortunately I’m making the post away from my pc and couldn’t post the schematic


r/chipdesign • • 3d ago

Anyone gave ASIC physical Design and Timing Engineer role at NVIDIA for new grad 2026, What kind of questions can I expect?

7 Upvotes

r/chipdesign • • 4d ago

Is ₹22LPA fixed pay good at NVIDIA India at 3YOE?

22 Upvotes

I’m working at NVIDIA India with more than 3 years of experience. My fixed pay is ₹22LPA, and I’m from one of the top engineering colleges in India.
Is this compensation competitive for my experience? What fixed salary range should I expect at a similar level in AMD, Qualcomm, Apple, Google or other semiconductor companies in India?
Looking for honest opinions, preferably from people in the industry.


r/chipdesign • • 4d ago

Meta ASIC Engineer Intern – Design | HR Phone Screening Round (30 mins) – What Should I Expect?

20 Upvotes

Hi everyone!

I recently received an email from Meta to schedule an HR call for the ASIC Engineer Intern, Design role. The meeting is scheduled for around 30 minutes, and I believe this is the initial HR screening or phone screening round.

Since this is my first HR round with Meta, I wanted to ask people who have gone through this process or have experience with Meta hardware/ASIC internship interviews:

  • What should I expect during this 30-minute call?
  • Is it primarily about my resume, projects, motivation for joining Meta, and availability, or should I also prepare for technical questions?
  • What kind of questions do recruiters generally ask for ASIC Design internship roles?
  • Do they discuss location preferences, internship duration, compensation, or the next interview rounds?
  • Are there any specific things I should prepare beforehand?

I would really appreciate any insights from people who have interviewed with Meta for similar hardware, ASIC, or silicon engineering internship roles.

Thanks in advance for your help!