Reform CPU Module Specification

I’m interested in better understanding the open hardware MNT Reform modules, and I’m interested in exploring the possibility of making my own.

Looking the kintex som files (since they’re available in kicad) shows most of the pins unconnected. Which makes sense since that module uses a secondary external display connection.

It does seem like modern linux would be strongly limited by low performance, which is good to be aware of. One of the limitations would be being able to drive/talk to all of the interfaces in the slot at the speeds/data rates necessary – this is one of the things I’d be interested in figuring out documentation about.

Also from reading various pages it looks like the SOM interface was closely related to the boundary devices Nitrogen SOM interface. Is there open hardware / design files / schematics available for the original SOM modules which were adapters to boundary devices SOMs?

To be clear about the sorts of things I’m interested in: I mostly want soft (fpga) cores, but with open toolchains (yosys / etc) – an ECP5 isn’t enough to do it all (probably) but it seems possible a small array of them would be. This would maybe be tractable if they all had fixed separate functions (e.g. a fpga to drive the display, a fpga to manage inputs, and a fpga to be the cpu).

The thing I’m first interested in is just doing some estimates about speeds and performance to see if this makes any sense at all, and my biggest question mark is around the resource requirements of the laptop interfaces (as opposed to the CPU/memory, which I can experiment pretty well with an orangecrab)

1 Like

Following up with my own answer in case someone else comes along and is curious for the same thing.

Going over all the available modules, and their subsets of features, it looks like the “minimum viable SoM” could actually be very simple – it doesn’t need to support the PCIe, external HDMI, etc.

First, it seems to basically be pin for pin matching the socket for the Nitrogen8M SoM from BoundaryDevices. They got acquired, but still have the product page up and you have to register/login to get the documents, but they match up. It was a little useful to go over the schematics for the SoM and the Carrier, but overall I don’t think there’s any new information there. I never really found much in the way of details about the signals – there are some notes about impedances of certain differential pairs, and the SoM does have some termination passives for high speed lines, but there isn’t really a specification which could be designed for.

Also I went through all the Reform mnt git lab repos looking at the schematics (or kicad projects) for all the modules and the motherboards.

There is helpfully a repo which just has an empty kicad project with just a module and nothing else – it’s probably the place I should start prototyping from.

Note: the repo looks like its a bit old, but doesn’t seem like anything relevant (other than kicad versions) would have changed much in the years since.

SoM Template Repo Reform / Reform SoM Template · GitLab

High speed digital design is new to me, so I think the most important thing was getting a couple books on the topic. Very possibly a bunch of the questions I have about designing/verifying/testing a SoM would be answered by textbooks instead of documentation.

Lastly I think there’s maybe a need for a healthy dose of courage to just try prototyping a board – I think I’m probably over-worried about signal integrity, noise and EMI issues, etc.