[Cryptech Tech] Alpha board BOM and PCB design requirements
Павел Шатов
meisterpaul1 at yandex.ru
Wed Mar 11 08:42:03 UTC 2015
On 10.03.2015 12:18, Fredrik Thulin wrote:
> On Monday, March 09, 2015 10:25:19 PM Павел Шатов wrote:
> ...
>> 1. I can't understand what configuration mode you want to use: Master or
>> Slave? Where will the bitstream be stored?
>
> (I don't know what you mean with Master and Slave here, because of my own FPGA
> ignorance I'm sure)
>
> What we've talked about for the long term is to have the bitstream in the FPGA
> config memory.
>
> dol@ always says it shouldn't be writable at all (in production) but I'm sure
> we all agree that it should at least require physical access to write it, such
> as installing a write-enable jumper (and the tamper boundary is broken so the
> MKM is naturally deleted at this stage).
>
> For the Alpha board, we think it will be convenient to be able to download a
> FPGA bitstream into the FPGA from the ARM (funny, I would call it upload but
> JS says it's download ;)). To be able to sorta upgrade the protection of the
> Alpha board to the long term variant, we want this Alpha board feature to
> require a separate enable-jumper, that can then be removed if the Alpha board
> were to be used in something more than strict development.
>
> Makes sense?
First of all, FPGAs have volatile internal configuration latches. FPGA
must be programmed every time it is powered up. When in Slave mode, FPGA
just sits and waits for someone to load bitstream into it and release
reset. When in Master mode, FPGA actively tries to read bitstream from
external memory and start working by itself. Mode can be switched by
applying either 0 or 1 to dedicated mode pins of an FPGA. Novena
actually supports both modes. By default it places on-board FPGA in
Slave mode (you have to run configure script to program an FPGA). Novena
also has dedicated EEPROM memory for FPGA bitstream, you can program
this memory and then insert a jumper to make FPGA automatically load
this bitstream upon power up.
You can find more information here
http://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf
If Basil wants to physically disable writing to an FPGA, then you need
Master mode and a separate EEPROM for bitstream. I can suggest M25P128
from Micron for example (Artix-7 has 77 Mbits of config memory, so 128
Mbits memory is required at least). This memory has a dedicated write
protection pin, that can be connected to a jumper.
>>> External RAM
>>>
>>> SO-DIMM DD3 modules. (Like the Novena.)
>>
>> 2. Do you intentionally want to have SO-DIMM connector instead of
>> discrete chips?
>
> Not intentionally on my part. Joachim?
>
> I guess if we go for discrete chips the need to decide on the exact amount
> (Randy's question) becomes even more important...
If we go for discrete chips, we will have a more compact board. I was
asking from this perspective.
>
>> 3. I believe your sketch is missing 4th section named "Power subsystem".
>> How is Alpha Board going to be powered?
>
> Good point. I've been thinking it would be an unwarranted complication to try
> and run the Alpha of USB, so I've been assuming an external wall plug for the
> Alpha. Opinions?
Well, it is actually impossible to power Alpha from USB. A typical USB
port provides 0.5A of current, which at 5V equals 2.5W
According to this document
http://cache.freescale.com/files/32bit/doc/app_note/AN4509.pdf
i.MX6Q consumes almost 3W at full load (that's why there's a radiator
attached to it in Novena). So the CPU alone can consume more power, than
USB port can provide. So yes, we will need a wall adapter (12V maybe?)
>
> Related, when we talk battery do people think CR2032, 12V 6Ah Sealed Lead Acid
> battery or something else?
Depends on what you want to be battery-powered. CR2032 should be enough
to power tamper detection circuit for several years. Btw, you want to
use MSP430 in this circuit. What is it going to do? Read some sensors
and toggle its outputs accordingly? I suggest to use something smaller,
like PIC18 or PIC16 from Microchip. These processors are 8-bit and have
an order of magnitude less power consumption. How is MSP430 programmed,
btw? Will we need a special programming cable for it?
--
With best regards,
Pavel Shatov
More information about the Tech
mailing list