[Cryptech Tech] Physical and electrical spec for avalanche noise source - TerasIC C5G

Benedikt Stockebrand bs at stepladder-it.com
Wed Aug 6 18:10:05 UTC 2014


Hi Joachim and list,

Joachim Strömbergson <joachim at secworks.se> writes:

> First, thank you Benedict (and Bernd) for taking the time to come to the
> Cryptech meeting. It really helped us to move the RNG design forward.

it would've been foolish not to work together; and of course, the
various discussions have been rather valuable to me as well.

> As promised here is info, requirements for connecting your entropy
> source to the TerasIC C5G board. For reference, see the PDF at:
>
> http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830&PartNo=4
>
> As I see it, there are two main ways to do this.
>
> (1) Using pins in the 40 pin expansion header. 	(see chapter 3.11, page
> 49). This header provides +5V, +3.3V and GND. The I/Os on the header
> operateds at 3.3V and each I/O is equipped with protection diodes.
>
> The simplest might be to just use a four pin (female) connector that
> connects either directly on top of pins 9..11 (for I/O and 5V) or over
> pins 24..27 (for I/O and 3.3V). Or a small daughter board with similar
> footer.

Yes, that sounds sensible.  Actually, what might be slightly more
reasonable yet (to avoid displaced connectors) is to use a full 40 pin
connector (female), pass everything through to a matching male header
again to make things stackable, and maybe even use some sort of jumper
setting to choose the GPIO pin to use.

As far as power is concerned: If I get access to both 5V and 3.3V
anyway, then I guess the best option is to feed the boost converter from
5V to minimize currents and the amplifier stage from 3.3V to get the
proper voltages for the GPIO pin.

> (2) Using an Arduino Shield breadboard such as this:
> http://www.adafruit.com/products/51
>
> The C5G board provides matching headers similar to an Arduino Uno. Just
> use one of the digital I/O pins and Table 3-21 and power, gnd as
> specified for the Shield and it should all be possible to use with
> either the C5G board or an Arduino.

That's another option, but after some thinking I've got doubts if
Arduino is really a good idea: It has a fixed clock speed of 16 MHz, so
if people try that out and then move on to a full speed 20 MHz tiny2313
there might actually be trouble.

> Is 5V power and 3.3V I/O any problem for you?

No, it's perfectly fine.  The way the noise circuit is designed I can
adapt the boost converter to pretty much any voltage available, and if I
feed the amplifier stage with the voltage expected from the GPIO pins,
then the voltage levels should match; all that might be necessary is to
change the bias resistor to a more suitable value.

As far as the current prototype boards I have are concerned: You
currently need to feed it 5V e.g. from a USB interface, and probably
need to run the output of the amplifier stage through a suitable voltage
divider (a 10k pot should be the most convenient way to do it), and of
course you'll need jumper wires to connect the prototype board to the
C5G, but on the hardware side that should be it.  The real fun thing is
likely to translate the driver code into Verilog.


Cheers,

    Benedikt

-- 
Benedikt Stockebrand,                   Stepladder IT Training+Consulting
Dipl.-Inform.                           http://www.stepladder-it.com/

          Business Grade IPv6 --- Consulting, Training, Projects

BIVBlog---Benedikt's IT Video Blog: http://www.stepladder-it.com/bivblog/


More information about the Tech mailing list