-
Two recommended readings for learning UPF
Unified Power Format (UPF), is a set of Tcl-like commands used to define the low-power design intent for SoCs. Using UPF commands, you will be able to specify supply networks, power switches, isolation, retention, and other aspects relevant to power management of a chip design. One of the recommended readings for learning UPF, is “Synopsys…
-
How to get better PPA for Synthesis?
We discussed how RTL coding can help with PPA. In this post, we share a few guidelines detailing how to get better PPA during synthesis. Category Guideline Description Synthesis Friendly RTL Coding Style Do not handcrafting arithmetic operations such as multiplications by shifting and adding. This prevents synthesis tools from identifying them as arithmetic operations,…
-
From CPU ISA to CPU Microcode Hacking
The Google security team identified EntrySign, an AMD Zen-based CPU security vulnerability issue. This is a perfect opportunity to understand various CPU instruction concepts, including ISA, CISC, microcode, and microcode patching. What is ISA? An Instruction Set Architecture (ISA) defines the fundamental instruction set a CPU understands, and it creates a boundary between CPU hardware…
-
How Andrej Karpathy uses LLMs
Andrej Karpathy, a former research scientist and a founding member of OpenAI, had a great video showing how he uses LLMs in his own life. We highly recommend everyone to watch this video, and try taking advantage of LLMs in daily life. The following are what we find from the video particularly useful for hardware…
-
How to avoid cache interference in SoC DRAM testing?
In SoC DRAM testing, the existence of a cache could interfere with the testing accuracy. This is because, when initiating a DRAM access from the CPU, a cache instead of DRAM could supply the data. Avoid Cache Interference in Software Based Testing To avoid cache interference completely, testing software should explicitly initiate a cache flush…
-
How to do SoC DRAM Testing?
SoC DRAM testing can be done either in hardware or software. We focus on software methods here. PassMark’s MemTest86 is probably the most popular SoC DRAM testing software, especially for consumer products. We use MemTest86 test kit for our case study. Test 0 – Address Walking Ones Test Walking Ones means, only 1 bit of…
-
What are SoC DRAM faults?
DRAM related faults can be roughly classified into: Before an SoC is shipped to customers, its DRAM has to go through extensive DRAM testing, e.g., MemTest86. This makes sure that the refresh operation is sufficient to prevent data loss, and that the DRAM bus does not corrupt addresses and data in transit. Many SoCs embed…
-
SEC Mapping Types: Cutpoint Mapping vs Stopat Mapping
We discussed how SEC works using clock gating FV in a previous post, and introduced cutpoint mapping. We will extend the discussion about the SEC mapping types in this post. A cutpoint is a pair of internal signals that you expect to be equal. The SEC tool auto-generates assertions to make sure they match, for…
-
Published: The 2nd Edition of Our Book Series “Crack the Hardware Interview”
We are thrilled to announce that, the second edition of “Crack the Hardware Interview” is released! We published the first edition of this book series in early 2024, and received quite a few positive feedback. The second edition is still structured in the same way as how the modern ASIC / VLSI industry partitions the…
-
How can latch arrays save power? How do they work?
In the digital design world, data storages in magnitude of MegaBytes (MB), KiloBytes (KB) and Bytes (B), are typically implemented using DRAM, SRAM and flops, respectively. Flop arrays, in particular, can sometimes be replaced with latch arrays, to optimize power. An Idea and A Concept Conceptually, a posedge triggered flop consists of a low-transparent latch…
