[Cryptech Tech] dev-bridge board

Paul Selkirk paul at psgd.org
Tue Nov 17 04:16:22 UTC 2015


Lots of cleanup and merging.

1) Cleaned up sw/stm32 directory organization and code.

2) Merged Pavel's activelow branch, and propagated that out to the rest
of the cores (eim, core_selector, modexps6).

Both core/platform/novena activelow branch and
user/shatov/novena-fmc-arbiter include new versions of the clock
manager, to avoid using the Xilinx Clocking Wizard IP core. As far as I
can tell, the only real difference between them is whether the IBUFGDS
is in or out of the DCM module. Since I had already merged the
novena-fmc-arbiter version, I went with that one.

3) Merged the modexps6 branch. Not a huge lot of work, but it rippled
across a number of repos.

4) Merged the config_core_selector branch. As discussed back in June,
this flattens the core_selector hierarchy, makes all cores contiguous
(except that trng has its own mux with 16 core positions, not all of
which are occupied; and modexps6 occupies 4 core positions).

Since cores are no longer at fixed addresses, the software has to probe
the fpga. (Which it was effectively doing anyway, checking to see
whether the core it wanted to talk to was present.) Thanks to Rob for
the libhal abstractions to hide all this from the user code.

The core_selector configurator itself will probably move from
platform/novena to platform/common (where the old static core_selector
resides), and I'm thinking about adding platform/novena/*/build Makefile
targets to call the configurator if the core_selector is missing, or to
create a specific core_selector (e.g. `make rsa`).

5) Harmonized the ctrl and status addresses across all cores (brought
RNG cores into line). Note that the RNG cores still use status bit 0 for
"valid", where the other cores use bit 1 (bit 0 is "ready"), but it's
not a big deal. The ROSC entropy source has gotten a lot faster since
the last time I looked at it (in March), and the entropy sources and
csprng always report "valid", so it's hardly worth asking.

Tomorrow I'll update the wiki with some kind of Getting Started page for
the dev-bridge board, since things are staring to stabilize.

				paul


More information about the Tech mailing list