March 18, 2020

Microprocessors and their verification (and test)

  1. here we go

Generally, transistor works as an amplifier or as a switch. In computers, they act as a part of logic circuits. The most basic logic circuits are, for example, that that implement NOT, OR, AND, XOR functions. Basically, the transistor itself does not know what to do, it can be guided by an external signal (gate) and it can produce some output which can be the same as input or be equal to the inverted input, so they need to be organized into something bigger to perform a required function.

What is the metaphor for the microprocessor???

So, now we have invented Tritopus. They are magical creatures which one can find in every electronic device. There are more of them in every microprocessor than grains of sand on the beach. Tritopus lives in this magic electronic world and seems to be its predominant component. There are two opposed types of them. One of the types always wants more. If there's something on its input, he connects to the power supply and eats everything he can. However, the second type of Tritopus is completely different. They are hungry and want to eat only if there's nothing on its input. If there's some small amount of signal on its input, these Tritopuses are not hungry any more and disconnect from a power supply for taking a nap. We can construct an invertor with the help of two opposed Tritopuses as shown on the figure below.

https://en.wikipedia.org/wiki/Inverter_(logic_gate)

https://www.cs.bu.edu/~best/courses/modules/Transistors2Gates/

All Tritopuses eat M&M sweets. They like only red and blue ones, however, white ones are also important.

Plan

What is the CPU? What is it for?

How are CPUs made?

http://www.cpushack.com/EmergingTech.html

Why verification is important?

What's the difference between verification and test?

https://electronics.stackexchange.com/questions/137483/what-is-the-difference-between-testing-and-verification

Testing: Making sure a product works after you've created the product (think QA).

Verification: Making sure a product works BEFORE you've created it.

They're both testing, just that verification is more complicated because you have to figure out a way to test the product before it exists and you have to be able to make sure it works as designed and to spec when it actually comes out.

Stages of verification.

Formal verification, models, emulation, FPGA, prototypes, tools

Coverage

Pre/post-silicon verification

Probability of bug escape

My thesis.