| For context I'm in the safety critical industry where everything is old and slow, and you're slightly more likely to see FPGAs for "traditional" non-signal-processing reasons (bundle of logic with deterministic timing, custom PHY when you can't use a COTS PHY for cert reasons, Heterogeneous backup for an MCU etc). So my own thoughts probably skew a bit old fashioned -- strangely that also means that none of the things that you listed are important in view of the world! In short, what we see in our graduates' teaching is a wrong-assumption that VHDL/verilog design is a bit like designing for 74-series chips, where you work out that you need to splat down a load of and/or/not gates and individually wire them up to some flipflops. This is reflected in section 18 of the problems, where students are asked to design simplistic low-level entities (sregs, muxes, and a single transparent latch). This is wrong because the true building blocks in the bottom of an FPGA are not individual and/or/not gates so there's no use in designing as if they were. This leads to a situation where people have done their VLSI/FPGA module at university but they arrive without knowledge of core fundamentals such as:
* Not clocking flops with data
* Design for even mild levels of concurrency (it's common for courses to never get students to make two FSMs talk to each other even in the same clock domain -- pretty sure this document doesn't do this in section 18)
* Thus everyday problems such as race conditions and deadlock will never have been covered. IMO the very-incomplete nature of such courses also which attempts to pile concepts on top of each other too quickly without adequate explanation means that people come out of courses without really understanding how little of the basics that they know. I accept that universities only ahve so much time to teach their students, and there is little academic pedagogical value in spending time on specific technologies, but the general poor approach could definitely be a lot better. tldr; I agree that there hasn't been any revolutionary development in HDLs, but most universities missed the mark on teaching the basics when they first wrote their FPGA courses in the 1990s, and they haven't got much better since. (P.S. if anyone wants to create a HDL without the crippling expressiveness flaws of either VHDL or verilog, I will personally transmute myself into a solid gold toilet especially for them) |
if anyone wants to create a HDL without the crippling expressiveness flaws of either VHDL or verilog, I will personally transmute myself into a solid gold toilet especially for them
If I ever do this, and get rich off of it, count on me to seed fund your personal transformation XD