5 ms·
VHDL (or Verilog) isn't harder to reason about than C in my experience, it's just different.
by tnecniv 9y ago
VHDL (or Verilog) isn't harder to reason about than C in my experience, it's just different.
- Jtsummers 9y agoI haven't used VHDL for work yet (just skimmed the existing code base), but I just took a course on it, this was my main takeaway. There were some gotchas in the language (perhaps in the error reporting in the particular implementation more than the language itself) that took some getting used to, but the hardest conceptual problem for the class (most of us were programmers, and the hardware guys were green and came from non-CMPE backgrounds) was the idea that many of the statements you write happen concurrently, or are scheduled to happen at a future point in the code. So code like: process begin X <= X + 1; Y <= X; end process; With X = 4 at the start, you will end up with (X,Y) = (5,4). Once you start wrapping your head around these concepts reasoning isn't so hard (and having been a CMPE major once I had the basis for this academically, but it was far in the past so had been forgotten). Certainly not harder than trying to understand distributed systems and coordination between them, in fact it's a lot of the same problems just applied at a different scale.
- sweden 9y agoThe problem with programmers trying to design hardware is that when they see code, they think of instructions. If you start shifting your mindset to actual hardware constructions, like flip-flops and combinational logic, the hardware language will start making a lot of sense.