Live data from Hacker News

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

news.ycombinator.com

91–100 of 115 posts

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

#91
post #53

Earlier quoted context omitted.

I see... ouch. Another comment mentioned the HDMI2USB project, and the main FPGA target of that project uses DDR3 FWIW. I get the impression that managing RAM is just really really really _unbelievably_ hard; not impossible, just pɹɐɥ ʎllɐǝɹ ʎllɐǝɹ.

I don't think it's that bad. Board design is, but if you are working with some standard board, say from Opal Kelly (no affiliation), then you don't have to worry about that. But what about the DRM with HDMI? I have no idea how it works, but I assumed the signal was encrypted.

My context would be recording desktop-level glitches, so HDCP wouldn't be an issue.

This device would be a recorder though, so I'd likely never legitimately get HDCP keys. I can't see myself needing any though.

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

#92
This is a huge topic. You can spend your entire career in just each part of your question - fabrication in a foundry, FPGA synthesis, HDL design, ASIC place and route, etc..

I've actually done all-of-the-above, from making SOI wafers to analog circuit design for CMOS image sensors to satellite network simulation in FPGAs to supercomputer architecture and design to XBox GPU place-and-route.

It will honestly take you at least a few years to be able to understand all of this, and I can't even begin to tell you where to begin.

My track started with semiconductor fabrication processing in college - lots of chemistry, lithography, physics, design-of-experiments, etc.. I guess that's as good a start as any. But before that I did get into computer architecture in high-school, so that game me some reference goals.

What are you ultimately trying to do? Get a job at a fab? That's a lot of chemistry and science. Do you want to design state-of-the-art chips, as your IP-core question hints at? That's largely an EE degree. Do you want to build a cheap kickstarter product, as your FPGA question suggest? That's EE and Computer Engineering as well.

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

#93

I studied an MEng in Electronic Systems Engineering, and really enjoyed the courses in IC design. However, I couldn't find a chip-design job in a country other than the US or UK that wasn't related to military applications. Now I work in Taiwan, and I see the chips being made! But my work is related to control systems for the testing equipment, which is software instead of hardware design. I got a Virtex-II FPGA boar…

You could see what the folks at Hackaday.io are doing.

https://hackaday.io/list/3746-programmable-logic-projects

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

#94
post #68

Its quite late here, so I'll be brief. You mentioned the words "how IP is managed in chip industry" - so I'm going to move past the bookish knowledge and the tutorials and the open source code. The chip design and EDA industry are very closeted and niche - there is so much knowledge there that is not part of any manual. For example for a newcomer, you wouldn't even know what testing and validation in chip design woul…

I think your compilers example doesn't fit. They are actually a rather straightforward thing to build, many undergraduates build one as part of their studies, some hobbyists build compilers that get used by thousands of people and in fortune 500 companies core infrastructure. There's little rigor involved. Among the few software systems that need rigor are control systems for physical installations and trading/financ…

Also many production-grade compilers (GCC/G++, Clang, OpenJDK, V8, and almost every new language that's come out since the 90s) are open-source. You can go read the commit logs & source code to see how they work, if you're diligent and willing to slog through them. There are certainly tricks that professional compiler writers use that aren't covered in textbooks (the big ones center around error-reporting, incremental compilation, fancy GC algorithms, and certain optimizations), but you can always go consult the source to learn about them.

I thought the thread was really about domains where the bulk of knowledge is locked up in industry rather than being about rigor, but I'd put control systems in that category as well. Also information retrieval (Google's search algorithms are about 2 decades ahead of the academic state-of-the-art...the folks at Bing/A9/Facebook know them too, but you aren't going to find them on the web), robotics, and aerospace.

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

#96
post #8

Nand 2 Tetris[1] is a good starting place. You should get a good view of how the different level interact. Coursera have two cources [2][3] that cover the same material as the book [1] http://nand2tetris.org/ [2] https://www.coursera.org/learn/build-a-computer [3] https://www.coursera.org/learn/nand2tetris2

I second this course. It's awesome. The next step from there is probably Coursera's VLSI course, starting with https://www.coursera.org/learn/vlsi-cad-logic. It's all about how real-world VLSI CADs work.

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

#98

First of all you must understand logic gates, flip-flops (D-FF, T-FF and so on) and multiplexers. All of them are built on logic gates. To verify that you really understand the concept, try to implement a digital clock. (This one: https://sapling-inc.com/wp-content/gallery/digital-clocks-fo... ) Logic gates are essential of learning digital circuits. After you understand logic gates, you can use it to build many thin…

For 5 seconds I was like "but the clock is the analog part of the circuit, this does not make any sense". Then I clicked the link.

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

#99
post #82

Earlier quoted context omitted.

I don't agree. If it's non trivial, I don't have the more advanced verification tools such as UVM if I prototype via FPGA. The ability to perform constrained randomised verification is only workable via UVM or something like it. For large designs that is arguably the best verification methodology. Without visibility through the design to observe and record the possible corner cases of transactions, you can't be assur…

That's a false dichotomy -- you can do FPGA verification in addition to simulation-based verification. And yes, there are ASIC teams that have successfully done that.

At the SoC level, I don't think so.

The reasons are numerous. I already gave a few. I will give another. Once you have to integrate hard IP from other parties, you cannot synthesise it to FPGA. Which means you won't be able to run any FPGA verification with that IP in the design. You can get a behavioural model that works in simulation only. In fact it is usually a requirement for Hard IP to be delivered with a cycle accurate model for simulation.

I'll give another reason. If you are verifying on FPGA you will be running a lot faster than simulation. The Design Under Test requires test stimulus at the speed of the FPGA. That mans you have to generate that stimulus at speed and then check all the outputs of the design against expected behaviour at speed. This means you have to create additional HW to form the testbench around the design. This is a lot of additional work to gain speed of verification. This work is not reusable once the design is synthesised for ASIC.

I can go on and on about this stuff. Maybe there are reasons for a particular product but I am talking about general ASIC SoC work. I got nothing against FPGAs. I am working on FPGAs right now. But real ASIC work uses simulation first and foremost. It is a dominant part of the design flow and FPGA validation just isn't. On a "Ask HN", you would be leading a newbie the wrong way to point to FPGAs. It is not done a lot.

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

#100
post #32

I've gotten curious about FPGAs myself of late, particularly with video capture. A hopefully-on-topic question of my own, if I may: I've seen that some FPGA boards have HDMI transceivers that will decode TMDS and get the frame data into the FPGA somehow. That got me thinking about various possibilities. - I want to build a video capture device that will a) accept a number of TMDS (HDMI, DVI, DisplayPort) and VGA sign…

Checkout https://git.elphel.com/Elphel/x393 , it is a design for an FPGA for a camera, it contains roughly the components you are talking about, on board DDR3, sata output. The code is released under GPL3, so you won't be able to use it for something commercial, but it might be a good starting point to give you an idea how such a design would look like.

> The code is released under GPL3, so you won't be able to use it for something commercial […].

Actually, you can do this just fine. There are no 'non-commercial' clauses or anything like that in the GPL. You just have to release your own sources.

Post reply on HN