Live data from Hacker News

Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

news.ycombinator.com

21–30 of 115 posts

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#21
post #17
post #11

I'd start with learning a hardware description language and describing some hardware. Get started with Verilog itself. I'm a fan of the [Embedded Micro tutorials]( https://embeddedmicro.com/tutorials/mojo ) -- see the links under Verilog Tutorials on the left (they're also building their own HDL, which unless you own a Mojo board isn't likely of interest). Install Icarus Verilog and run through the tutorials making s…

If i correctly understand what you are saying, it cold pe possible to make a custom small chip for doing some crypto capable of a little more than what those smartcards offer for under 10k$? That would be awesome, from a trust perspective, at least if you could realistically compare the chip you get back with what you know to expect, using an electron microscope.

Not for an ASIC without spending a LOT on tooling, and really $10k is awfully optimistic even if you had all of that tooling (I probably should've just said tens of thousands).

For Honestly, you might be better off just buying functional ICs (multi-gate chips, flip flops, shift registers, muxes, etc.) and making a PCB, though. Most crypto stuff is small enough that you can do a slow/iterative solution in fairly small gate counts plus a little SRAM.

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#22
You just described a few different sub-fields of computer engineering:

1. Processes, which involves lots of materials science, chemistry, and low-level physics. This involves the manufacturing process, as well as the low-level work of designing individual transistors. This is a huge field.

2. Electrical circuits. These engineers use specifications given to you by the foundry (transistor sizes, electrical conductance, etc.) and using them to create circuit schematics and physically laying out the chip in CAD. Once you finish, you send the CAD file to the group from #1 to be manufactured. Modern digital designs have so many transistors that they have to be laid out algorithmically, so engineers spend lots of time creating layout algorithms (called VLSI).

3. Digital design. This encompasses writing SystemVerilog/VHDL to specify registers, ALUs, memory, pipelining etc. and simulating it to make sure it is correct. They turn the dumb circuit elements into smart machines.

It's worth noting that each of the groups primarily deals with the others through abstractions (Group 1 sends a list of specifications to group 2, Group 3 is given a maximum chip area / clock frequency by group 2), so it is possible to learn them fairly independently. Even professionals tend to have pretty shallow knowledges of the other steps of the process since the field is so huge.

I'm not super experienced with process design, so I'll defer to others in this thread for learning tips.

To get started in #2, the definitive book is the Art of Electronics by Horowitz & Hill. Can't recommend it enough, and most EEs have a copy on their desk. It's also a great beginner's book. You can learn a lot by experimenting with discrete components, and a decent home lab setup will cost you $100. Sparkfun/Adafruit are also great resources. For VLSI, I'd recommend this coursera course: https://www.coursera.org/learn/vlsi-cad-logic

To learn #3, the best way is to get a FPGA and start implementing increasingly complicated designs, e.g. basic logic gates --> counters --> hardware implementation of arcade games. This one from Adafruit is good to start: https://www.adafruit.com/product/451?gclid=EAIaIQobChMIhKPax..., though if you want to make games you'll need to pick up one with a VGA port.

Silicon design & manufacturing is super complicated, and I still think that it's pretty amazing that we're able to pull it off. Good luck with learning!

(Source: TA'd a verilog class in college, now work as an electrical engineer)

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#23
post #2

There are three things here that you've intertwined. Process -- This is the science of creating circuits on silicon wafers using lithography, etching, and doping. There is a large body of knowledge around the physics involved here. Materials science and Physics and Silicon Fabrication are all good places to start. Chip Design -- This is creating circuits which are run through a tool that can lay them out for you auto…

[deleted]

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#24

You just described a few different sub-fields of computer engineering: 1. Processes, which involves lots of materials science, chemistry, and low-level physics. This involves the manufacturing process, as well as the low-level work of designing individual transistors. This is a huge field. 2. Electrical circuits. These engineers use specifications given to you by the foundry (transistor sizes, electrical conductance,…

[deleted]

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#25
post #16

An ASIC is pretty expensive unless you've got Google money [1]. Start with an FPGA dev board [2] and probably just stick with FPGA. Hell, Amazon has an FPGA instance [3]: [1] https://electronics.stackexchange.com/questions/7042/how-muc... [2] https://www.sparkfun.com/products/11953 [3] https://aws.amazon.com/ec2/instance-types/f1/

You can actually get an ASIC manufactured for a few thousand dollars via CMP or Europractice. So not quite Google money. The difficulty is in paying for the software licenses you need to go from Verilog to DRC checked GDSII files (which is what you need to send to them). In fact personally I think this is a much better route for open source hardware. Reverse engineering FPGA bitstreams impressive, but you're swimming…

I'm very interested in this. I read that one small design (which I knew was very small, but not quantitatively so) cost approximately $5k per small run.

How is the cost calculated? I presume size of final wafer (ie, number of chips produced) at least; does transistor count per chip influence anything too?

Finally, is it possible to produce and maintain a fully open-source design that's the chip-fab equivalent of the book publishing industry's "camera-ready copy"? I get the idea that this is specifically where things aren't 100% yet, but, using entirely open tools, can you make something that is usable?

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#26
post #2

There are three things here that you've intertwined. Process -- This is the science of creating circuits on silicon wafers using lithography, etching, and doping. There is a large body of knowledge around the physics involved here. Materials science and Physics and Silicon Fabrication are all good places to start. Chip Design -- This is creating circuits which are run through a tool that can lay them out for you auto…

Yes that's true, but there's actually even more like packaging, testing, etc. I took a free online course from Stanford called "nanomanufacturing" but it really was mostly about about chip manufacturing, packaging etc. Even though I worked in the semiconductor industry for 12 years (mostly bench testing preproduction ASICS) I still found it really useful. Not sure if you can still view the archives here if you sign up for an account (I can but I took the class)

https://lagunita.stanford.edu/courses/Engineering/Nano/Summe...

No substitute for learning the physics, but at least it kind of gives you some idea of what's involved. In addition to all the crazy technology involved in fabricating the chips, the packaging technology has gotten really sophisticated. It can be very confusing about what's the difference BGA, WLCSP, stacked dies, etc. Anyway the course covered a lot different types of processing with examples.

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#27
post #5

Get yourself an FPGA devkit and start making little hardware bits

What's the best way for a novice to determine what their needs are? One thing that's been a barrier to entry for me has been fear of vendor lock-in from point of sale with regards to upgrading in the future; ie: purchasing a starter kit by company X but once determining that only company Y supports the feature set. Where there would then require a non-trivial amount devtime would be sunk in re-tooling your code both…

What I've started doing is looking at the ice40 line of FGPA's that are supported under the Ice Storm project. It's not a perfect way to avoid that kind of lock in but it seems like a decent way to start without having to worry too much about that. That said i'm a total beginner and someone else might have better advice.

http://www.clifford.at/icestorm/

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#28
post #25
post #16

Earlier quoted context omitted.

You can actually get an ASIC manufactured for a few thousand dollars via CMP or Europractice. So not quite Google money. The difficulty is in paying for the software licenses you need to go from Verilog to DRC checked GDSII files (which is what you need to send to them). In fact personally I think this is a much better route for open source hardware. Reverse engineering FPGA bitstreams impressive, but you're swimming…

I'm very interested in this. I read that one small design (which I knew was very small, but not quantitatively so) cost approximately $5k per small run. How is the cost calculated? I presume size of final wafer (ie, number of chips produced) at least; does transistor count per chip influence anything too? Finally, is it possible to produce and maintain a fully open-source design that's the chip-fab equivalent of the…

Transistor count impacts the size of the die which impacts yield (how many good die out of total.)

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#29

You just described a few different sub-fields of computer engineering: 1. Processes, which involves lots of materials science, chemistry, and low-level physics. This involves the manufacturing process, as well as the low-level work of designing individual transistors. This is a huge field. 2. Electrical circuits. These engineers use specifications given to you by the foundry (transistor sizes, electrical conductance,…

There's also the field of "Computer Architecture", which is a level above the ones you've described.

Re: Ask HN: Where do I get started on ASICs, FPGA, RTL, Verilog et. al?

#30
post #16

An ASIC is pretty expensive unless you've got Google money [1]. Start with an FPGA dev board [2] and probably just stick with FPGA. Hell, Amazon has an FPGA instance [3]: [1] https://electronics.stackexchange.com/questions/7042/how-muc... [2] https://www.sparkfun.com/products/11953 [3] https://aws.amazon.com/ec2/instance-types/f1/

You can actually get an ASIC manufactured for a few thousand dollars via CMP or Europractice. So not quite Google money. The difficulty is in paying for the software licenses you need to go from Verilog to DRC checked GDSII files (which is what you need to send to them). In fact personally I think this is a much better route for open source hardware. Reverse engineering FPGA bitstreams impressive, but you're swimming…

There's also efabless: https://efabless.com/

Europractice has prices online: http://www.europractice-ic.com/general_runschedule.php

Post reply on HN