Remoticon Video: From Zero To ASIC; How To Design In Silicon

Designing your own integrated circuits as a one-person operation from your home workshop sounds like science fiction. But 20 years ago, so did rolling your own circuit boards to host a 600 MHz microcontroller with firmware you wrote yourself. Turns out silicon design isn’t nearly as out of reach as it used to be and Matt Venn shows us the ropes in his Zero to ASIC workshop.

Held during the 2020 Hackaday Remoticon, this is a guided tour of the tools used in the Skywater PDK — the Process Design Kit that is an open-source ASIC toolkit produced in a partnership between Google and SkyWater Technology. We covered the news when first announced back in June, but this the most comprehensive look we’ve seen into the actual design process.

Drawing N-channel MOSFET in silicon

Matt builds up the demo starting from the very simple design of an N-channel MOSFET with click-and-drag tools similar to graphics editing software. The good news it that although you can draw your own structures like this, for digital designs you won’t have to. A wide variety of IP has been contributed to the open source project allowing basic building blocks to be pulled in using HDL. However, the power of drawing structures will certainly be the playground for those needing analog design as part of their projects.

As with EDA software used for circuit boards, the PDK includes design rule checks to ensure you aren’t violating the limits of the 130 nm chip fab. There’s some other black magic in there too, as Matt specifically mentions an antenna rules check to safeguard your design from being fried by induced current on “large” (microscopically so) metalized runs during the fabrication process.

Part of a massive logic flow chart for an IC counter design

The current workflow involves grinding through a large number of configuration files, something Matt admits took him a long time to wrap his head around. However, what’s available for proofing your design is very impressing. He demonstrates SPICE simulation to calculate timings, and shows numerous examples of verification drawings generated by the compilation process, either in the form of seeing the structures as they will be laid out, or as logical flow charts. This is crucial as a single run will take 2-3 months to come back from fab — you want to get things right before buttoning up the project. Incidentally, that’s know as “tapeout”, a term you’ve likely heard before and he says it comes from reels of magnetic tape containing the design being removed from the computer and sent to production. Who knew? (This tidbit in strikethrough appears to be incorrect).

But wait, there’s more to this than just designing the things. Part of the intrigue of the Skywater-PDK project is that Google bought into covering a group run about once per quarter so that open-source designs can be ganged onto a multi-project wafer free of charge to the people submitting them. That’s pretty awesome and we’re giddy to hear news of people getting their wafer-level chip scale devices — also known as flip chips — back for testing. Matt is planning a more in-depth paid course on the topic. For now, get a taste of what’s involved from this excellent workshop found after the break.

Continue reading “Remoticon Video: From Zero To ASIC; How To Design In Silicon”

Seeking Enlightenment: The Quest To Restore Vision In Humans

Visual impairment has been a major issue for humankind for its entire history, but has become more pressing with society’s evolution into a world which revolves around visual acuity. Whether it’s about navigating a busy city or interacting with the countless screens that fill modern life, coping with reduced or no vision is a challenge. For countless individuals, the use of braille and accessibility technology such as screen readers is essential to interact with the world around them.

For refractive visual impairment we currently have a range of solutions, from glasses and contact lenses to more permanent options like LASIK and similar which seek to fix the refractive problem by burning away part of the cornea. When the eye’s lens itself has been damaged (e.g. with cataracts), it can be replaced with an artificial lens.

But what if the retina or optic nerve has been damaged in some way? For individuals with such (nerve) damage there has for decades been the tempting and seemingly futuristic concept to restore vision, whether through biological or technological means. Quite recently, there have been a number of studies which explore both approaches, with promising results.

Continue reading “Seeking Enlightenment: The Quest To Restore Vision In Humans”

Hackaday Links Column Banner

Hackaday Links: December 27, 2020

We’re always pleased to see one of our community’s projects succeed, and we celebrate that success in whatever what it comes. But seeing a company launched to commercialize an idea that started as a Hackaday.io project and a Hackaday Prize entry is especially gratifying. So we were pleased as punch to see that MAKESafe Tools has managed to bring the idea of add-on machine tool braking to market. We’d love to add this to several tools in our shop. Honestly, of all the terrifying ways machine tools can slice, dice, and shred human flesh asunder, we always considered the lowly bench grinder fairly low-risk — and then we had a chance to “Shake Hands with Danger.”

Another great thing about the Hackaday community is the way we all try to keep each other up to speed on changes and news that affects even our smallest niches. Just last week Tom Nardi covered a project using the venerable TI eZ430-Chronos smartwatch as a makeshift medical alert bracelet for a family member. It’s a great application for the proto-smartwatch, but one eagle-eyed commenter helpfully pointed out that TI is shutting down their processors wiki in just a couple of weeks. The banner at the top of each page warns that the wiki is not read-only and that any files needed should be downloaded by January 15. Also helpfully, subsequent comments include instructions to download the entire wiki and a torrent link to the archive. It’s always sad to see a platform lose support, especially one that has gained a nice following, but it’s heartening to see the community pull together to continue to support each other like this.

We came across an interesting article this week that’s was a fascinating glimpse into how economic forces shape  and drive technological process, and vice versa. It turns out that some of the hottest real estate commodities these days are the plots of land occupied by AM radio stations serving metropolitan markets. It’s no secret that terrestrial radio in general, and AM radio in particular, are growing increasingly moribund, and the infrastructure needed to keep them on the air is getting harder and harder to justify. Chief among these are the large tracts of land devoted to antenna farms, which are often located in suburban and exurban areas near major cities. They’re tempting targets for developers looking to plunk down the physical infrastructure needed to support “New Economy” players like Amazon, which continue to build vast automated warehouses in areas that are handy to large customer bases. It’s a bit sad to watch a once mighty industry unravel and be sold off like this, but such is the nature of progress.

And finally, you may recall a Links article mention a few weeks back about a teardown of a super-sized IBM processor module. A quarter-million dollar relic of the 1990s, the huge System/390 module was an engineering masterpiece that met an unfortunate end at the hands of EEVblog’s Dave Jones. As a follow-up, Dave teamed up with fellow YouTuber CPU Galaxy to take a less-destructive tour of the module using X-ray analysis. The level of engineering needed for a 64-layer ceramic backplane is astonishing, and Dave’s play-by-play is pretty entertaining too. As a bonus, CPU Galaxy has some really interesting stuff; his place is basically a museum of vintage tech, and he just earned a new sub.

Circuit VR: Some Op Amps

Circuit simulations are great because you can experiment with circuits and make changes with almost no effort. In Circuit VR, we look at circuits using a simulator to do experiments without having to heat up a soldering iron or turn on a bench supply. This time, we are going to take a bite of a big topic: op amps.

The op amp — short for operational amplifier — is a packaged differential amplifier. The ideal op amp — which we can’t get — has infinite gain and infinite input impedance. While we can’t get that in real life, modern devices are good enough that we can pretend like it is true most of the time.

Op-amp schematic symbol
a very simple op amp circuit with some detail omitted

If you open this circuit in the Falstad simulator, you’ll see two sliders to the right where you can tweak the input voltage. If you make the voltages the same, the output will be zero volts. You might think that a difference amplifier would take inputs of 1.6V and 2.4V and either produce 0.8V or -0.8V, but that’s not true. Try it. Depending on which input you set to 2.4V, you’ll get either 15V or -15V on the output. That’s the infinite gain. Any positive or negative output voltage will quickly “hit the rail” or the supply voltage which, in this case, is +/-15V.

Practical Concerns

The biggest omitted detail in the schematic symbol above is that there’s no power supply here, but you can guess that it is +/- 15V. Op amps usually have two supplies, a positive and a negative and while they don’t have to be the same magnitude, they often are. Some op amps are specifically made to work with a single-ended supply so their negative supply can connect to ground. Of course, that presupposes that you don’t need a negative voltage output.

The amount of time it takes the output to switch is the slew rate and you’ll usually find this number on the device datasheet. Obviously, for high-speed applications, a fast slew rate is important, particularly if you want to use the circuit as a comparator as we are here.

Other practical problems arise because the op amp isn’t really perfect. A real op amp would not hit the 15V rail exactly. It will get close depending on how much current you draw from the output. The higher the current, the further away from the rails you get. Op amps will also have some offset that will prevent it from hitting zero when the inputs are equal, although on modern devices that can be very low. Some older devices or those used in high-precision designs will have a terminal to allow you to trim the zero point exactly using an external resistor.

Op Amps Can Provide Steady Voltage Under Variable Load

Rather than dig through a lot of math, you can deal with nearly all op amp circuits if you remember two simple rules:

  1. The inputs of the op amp don’t connect to anything internally.
  2. The output mysteriously will do what it can to make the inputs equal, as far as it is physically possible.
Op amp with inverting input connected to output
1x amplifier

That second rule will make more sense in a minute, but we already see it in action. Set the simulator so the – input (the inverting input) is at 0V and the noninverting input (+) is at 4V. The output should be 15V. The output is trying to make the inverting input match the noninverting one, but it can’t because there is no connection. The output would like to provide an infinite amount of voltage, but it can only go up to the rail which is 15V.

We can exploit this to make a pretty good x1 amplifier by simply shorting the output to the – terminal. Remember, our rules say the input terminals appear to not connect to anything, so it can’t hurt. Now the amplifier will output whatever voltage we put into it:

You might wonder why this would be interesting. Well, we will learn how to increase the gain, but you actually see this circuit often enough because the input impedance is very high (infinite in theory, but not practice). And the output impedance is very low which means you can draw more current without disturbing the output voltage much.

Voltage divider with and without 1x amplifier
Comparing voltage divider performance with and without a 1x amplifier

This circuit demonstrates the power of a 1x amplifier. Both voltage dividers produce 2.5V with no load. However, with a 100 ohm load at the output, the voltage divider can only provide around 400mV. You’d have to account for the loading in the voltage divider design and if the load was variable, it wouldn’t be possible to pick a single resistor that worked in all cases. However, the top divider feeds the high impedance input of the op amp which then provides a “stiff” 2.5V to whatever load you provide. As an example, try changing the load resistors from 100 ohms to different values. The bottom load voltage will swing wildly, but the top one will stay at 2.5V.

Don’t forget there are practical limits that won’t hold up in real life. For example, you could set the load resistance to 0.1 ohms. The simulator will dutifully show the op amp sourcing 25A of current through the load. Your garden-variety op amp won’t be able to do that, nor are you likely to have the power supply to support it if it did.

What’s Being Amplified?

This is an amplifier even though the voltage stayed the same. You are amplifying current and, thus, power. Disconnect the bottom voltage divider (just delete the long wire) and you’ll see that the 5V supply is providing 12.5 mW of power. The output power is 62.5 mW and, of course, varies with the load resistor.

Notice how this circuit fits the second rule, though. When the input changes, the op amp makes its output equal because that’s what makes the + and – terminals stay at the same voltage.

Of course, we usually want a higher voltage when we amplify. We can do that by building a voltage divider in the feedback loop. If we put a 1:2 voltage divider in the loop, the output will have to double to match the input and, as long as that’s physically possible, that’s what it will do. Obviously, if you put in 12V it won’t be able to produce 24V on a 15V supply, so be reasonable.

Non-inverting opamp circuit
Non-inverting amplifier example

This type of configuration is called a non-inverting amplifier because, unlike an inverting amplifier, an increase in the input voltage causes an increase in the output voltage and a decrease in input causes the output to follow.

Note that the feedback voltage divider isn’t drawn like a divider, but that’s just moving symbols on paper. It is still a voltage divider just like in the earlier example. Can you figure the voltage gain of the stage? The voltage divider ratio is 1:3 and, sure enough, a 5V peak on input turns into a 15V peak on the output, so the gain is 3. Try changing the divider to different ratios.

What’s Next?

While it isn’t mathematically rigorous, thinking of the op amp as a machine that makes its inputs equal is surprisingly effective. It certainly made the analysis of these simple circuits, the comparator, the buffer amplifier, and a general non-inverting amplifier simple.

There are, of course, many other types of amplifiers, as well as other reasons to use op amps such as oscillators, filters, and other even more exotic circuits. We’ll talk about some of them next time and the idea of a virtual ground, which is another helpful analysis rule of thumb.

Hackaday Podcast 099: Our Hundredth Episode! Denture Synth, OLED Keycaps, And SNES Raytracing

Hackaday editors Mike Szczys and Elliot Williams celebrate the 100th episode! It’s been a pleasure to marvel each week at the achievements of awesome people and this is no different. This week there’s a spinning POV display that solves pixel density and clock speed in very interesting ways. A macro keyboard made of OLED screens gives us a “do want” moment. And you can run a Raspberry Pi photo frame by sipping power from ambient light if you use the right power-tending setup. We wrap up the last episode of 2020 with a dive into ballpoint pens and solar racers.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (~65 MB)

Places to follow Hackaday podcasts:

Continue reading “Hackaday Podcast 099: Our Hundredth Episode! Denture Synth, OLED Keycaps, And SNES Raytracing”

Bare-Metal STM32: Exploring Memory-Mapped I/O And Linker Scripts

In the first installment of this series we had a brief look at the steps needed to get a bare-metal application running on an STM32 microcontroller. While this allowed us to quickly get to the juicy stuff, there are two essential elements which make an MCU so easy to use. One is found on the hardware side, in the form of so-called memory-mapped I/O (input/output), the other is the information contained in the files that are passed to the linker when we build a firmware image.

Memory-mapping of hardware peripheral registers is a straightforward way to make them accessible to the processor core, as each register is accessible as a memory address. This is both convenient when writing the firmware code, as well as for testing, as we can use a memory mapping specific for unit or integration testing.

We will take an in-depth look at this way of testing, as well as how these linker script files are connected to the memory layout. Continue reading “Bare-Metal STM32: Exploring Memory-Mapped I/O And Linker Scripts”

New Part Day: Hackboard 2, An X86 Single-Board Computer

From the old Gumstix boards to everyone’s favorite Raspberry Pi, common single-board computers (SBCs) have traditionally had at least one thing in common: an ARM processor. But that’s not to say hackers and makers haven’t been interested in an SBC with a proper x86 processor. Which is why the $99 Hackboard 2 is so exciting. With a modern x86 chip at the core it’s akin to a small footprint desktop motherboard, but with all the extra features that we’ve come to expect in a hacker-friendly SBC.

So what’s the big deal? In a word, compatibility. The fact that these diminutive computing devices shied away from the x86 architecture that most of us have been using on our desktops and laptops since the 1980s originally introduced software compatibility issues, but this was largely outweighed by the advantages of ARM. The latest NVIDIA Jetson is running on an ARM chip for the same reason the smartphone in your pocket is: they’re smaller, cheaper, and more energy efficient than x86.

However they’re rarely more powerful. Even the latest and greatest Raspberry Pi 4, often touted as a viable desktop replacement thanks to its quad core Cortex-A72, will get absolutely trounced by the pokiest of Intel’s Celeron CPUs. The performance gap is just too great. While the Pi can admirably handle most of the tasks the hacker community asks of it, there will always be a call for a board that puts raw processing power before anything else.

Sucking down nearly 40 watts at full tilt, the Hackboard 2 isn’t the SBC you’d want to use for a solar powered weather station. But if you’re putting together a set top box to play back video and run the occasional emulator, its Celeron N4020 processor and Intel UHD 600 GPU represent the most powerful combination available for a device of this size.

Continue reading “New Part Day: Hackboard 2, An X86 Single-Board Computer”