Back
Status of Project
Rowboat Encryption Chip
http://www.owlnet.rice.edu:80/~pickettc/elec422/status.html
Frank Alejano
John Cusey
Chris Pickett
I. What We Have Done
At this point, we have defined the functionality of the chip (we
want it to do encryption), we have defined the algorithm that we
will be using to do the encryption, we have defined (in general
terms) what the finite state machine that will be doing the control
will be doing -- what control signals are necessary and when they will
be asserted and deasserted, etc. In addition, we have drawn a preliminary
layout for the chip, meaning that we have figured out what each of the
major subblocks will be, how large they will be, and where they will be
located in teh final layout. All of this is stuff that we have reported on in
other places.
Since our last report, we hve begun to do two things. 1) We have begun to
do higher-level layout. Previously, we had a number of standard cells, such
as the 2-input NAND and NOR, the XOR, the latch, the inverter, the transmission
gate, and so on. We are are using these standard cells to build up higher-level
blocks. Specifically, our project requires several 8- and 12-bit latches
(to latch the input, the output, and the intermediate stages, among other
things), and 12-bit XORs. We have built these standard cells. 2) We have begun
to do the meg coding for the control PLA. Due to the large number of states
that our control FSM has, this is a somewhat long process, but at least
we have begun.
II. What We Have Yet To Do
We have not finished the control PLA, obviously, and that is high on our list
of priorities. In addition, we need to write a C program that will perform the
encryption algorithm on data we enter and spit out the encrypted form. This
is necessary since it is not intuitively obvious from looking at the output
of an encryption chip whether the encryption has been performed correctly.
Due to the relative simplicity of the DES-like algorithm that we are using,
this should not be hard to do. In any case, we do not need it yet since
we are not ready to test our design.
The plan for the next couple of weeks is as follows: 1) Continue higher-level
block development (specifically, we will need to construct a barrel shifter,
an 8-bit multiplexer, and an 8-bit demultiplexer, in addition to the 8- and
12-bit registers and 12-bit XORS that we have already constructed; 2) Complete
the meg coding of the control PLA and test it for basic functionality; 3) Write
the C test program; 4) Synthesize even higher-level blocks, like the block
that will take the input serially by bytes and put it into the input registers.
October 26, 1995