Live data from Hacker News

Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer

mcla.ug

31–32 of 32 posts

Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer

#31
post #28

Earlier quoted context omitted.

Yes. But it's just an ISA, someone has to design good silicon

Last I remember, our main bottleneck is getting data to the cpu fast enough that it's not idling all day, so icreasing the number of instructions by a large margin sounds counterproductive. It'll be interesting to see where it goes.

Except that by having fewer instructions in the ISA you may have to increase the number of instruction executed by the CPU which is what matters for performance/efficiency.

Has RISC-V made the good tradeoffs? We'll have to wait a long time (until someone tries to make a high performance RISC-V instead of glorified microcontrollers) to know..

Note though that the RISC-V is a cleaned up MIPS ISA beside being open it doesn't bring much novelty (nothing to improve security or GCs) with the (significant) exception of the (unstable) vector ISA.

Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer

#32
post #8

Earlier quoted context omitted.

I'd be interested in this too, I'm all for improving on the standard HDLs, but from this example I see more downsides than upsides, mostly due to the fact the synatx looks very verbose. Part of the is because its layered on top of python, so even a simple switch must be written in a more elaborate way. The code shown in the example would be very readable in SystemVerilog and quite a bit shorter. Also how does somethi…

Carries are documented. Two n-bit numbers result in an (n+1)-bit number. The “n+1th” bit is obviously the carry of the result. Sign extension is handled by declaring a `Signal` as signed or unsigned during creation. For example, both: x = Signal(4, true) y = signed(4) will create a 4 bit signed number. Use `false` or `unsigned` for a signed. Setting either x or y to a Python integer will handle the sign extension beh…

Thanks that helps clarify things, also nice to see Robert Baruch's tutorial.
Post reply on HN