Looking for learning material


I am trying to learn about the Hifive Unleaded board. I checked the Schematics. There is a thing called “net class DDR_bank0” etc. The files are made in kicad. In kicad, net class indicates a particular distance between parallel traces has been set. But I could not find the exact definition of the net class.

My first question Can anyone please point me to a document, where I can look up what these net classes are about ?

In addition, I am trying to work on a system that can attach or detach additional CPUs and RAM modules on the fly (HOT swap) - and take all the additional CPUs as NUMA nodes. I presume that I’d have to do some driver development work.

My second question is, Has anyone tried something like that with SiFive Unmatched, respectively, does the board epose a bus connector to do this?

Finally, my last question would be Is such a thing even possible?

As I see it, we need a bus that can support that kind of shenanigans. XEON and co uses X Bus, but not hot swap. PCI bus probably will not work, because you need to define one side as a start/origin and the other side as termination. This as far as I know, conflicts with NUMA - because NUMA is SMP. May be we could develop a PCI bridge between two processors, and develop a ASMP driver, where all additional CPUs will be a subordinate unit. But we will still need a expesed connector on the board to do this.

Ethernet would be too slow. But I can see a bus running at a PCI speed may become useful if i want to do on demand parallel processing. I am not very worried about speed of the bus itself, as the SiFive RISC core itself is running around 1.2 GHz, and PICe has flexible clocking. So we could probably get away with it with a proper buffering solution.

However, that would require the slaves to probably run some sort of specialized OS that can deal with such incoming data. A PCI graphics card runs only specialized tasks. SO there needs to be some compromises made for the subordinate nodes usability and generality.

Clearly there are many “loose ends” here. But in any case, I am very interested in learning more about the possibilities, so that I can have a better understanding and make a decision.

Thank you.