Reflecting on this 1977 clip of Warren Zevon from the Dutch documentary Wonderland, where he visits Burrito King in Echo Park and orders machaca burritos.
"Show me the critical path."
"Uh, right here. It’s the multiplier it’s failing setup by 1.2 nanoseconds at 600 megahertz."
"A nanosecond and a half. An eternity. You’re missing the clock edge by a fucking eternity?"
"Well, the synthesizer isn’t packing the DSP slices efficiently, and the routing delay to the accumulator is—"
"Stop.
Do not blame the tools. The tool is a hammer. You are the carpenter. If the table wobbles, you don’t blame the hammer. You blame the incompetent carpenter who doesn't know how to drive a nail. Pull up the RTL... now.
Scroll down to the accumulator block. Line 450... read it to me, what does it say?"
"Ugh... always @(posedge clk) begin if (reset) acc <= 0; else acc <= acc + mult_result; end"
"Do you see it?"
"...See what?"
"He doesn’t see it. The grad student from MIT. He looks at a block of sequential logic and he doesn’t see the cancer he just planted in my silicon. Where is the pipeline stage for mult_result before it hits the adder?"
"Oh. I… I didn’t think I needed one there. The simulation showed the data arriving in time."
"Yes because the simulation is fucking Mario Kart. It’s a fantasy land where physics is a suggestion and wire delay doesn’t exist. We are building fucking hardware. The electrons move through copper traces at a fraction of the speed of light. Do you understand the difference between a video game and reality?"
"Ugh...Yes, Mr. Bubble. I just thought the logic depth wasn't that—"
"THE LOGIC DEPTH IS TWENTY-FOUR GATES DEEP!"
"You have a 32-bit multiplier feeding directly into a 64-bit adder in a single clock cycle at 600 megahertz! What do you think happens to the propagation delay? Do you think the electrons just teleport because you wrote a pretty line of code?"
"I—I can add a register."
"Where? Where do you add it? Show me on the floor plan." Look at this shit. It looks like a plate of spaghetti thrown against a wall by a toddler. You're starving the chip. Are you lazy? Or are you just stupid?"
"I’m not… I was trying to optimize for latency."
"You are burning resources like they’re free. You’re at 85% LUT utilization because you’re coding hardware like a Python script kiddie. Now erase the multiplier module."
"What?"
"Delete it. The whole file."
"But… that’s three weeks of work."
"It’s three weeks of garbage. Delete it."
"Now. You are going to rewrite it. You are going to manually instantiate the DSP48 primitives. No inference. You are going to pipeline it three stages deep. And you are going to floorplan those slices right next to the Block RAMs. Now start typing dickhead....
And if I see another timing violation you won't just be off this project. I will make sure the only digital design you ever do again is programming the microwave at Wendy's."
*door slams*
Probably waking up at 10 or even 11 AM… half the day gone and he spends the rest of it looking for ways around rhythms that served us perfectly well for thousands of years. Jazz destroys lives
To stop unwanted thoughts, the PFC sends a control signal to the hippocampus (brain's memory retrieval center). This activates local inhibitory interneurons (GABA), which then suppresses retrieval. Difficulties in this pathway may underlie #PTSD, #OCD, anxiety, and #depression.