Toronto ECE 532 - ECE 532 Group Report

Unformatted text preview:

Table of Contents1 Overview1.1 Project goals1.2 Functional blocks1.3 Incorporation into the Microblaze design2 Outcome2.1 Results2.2 Future work3 Description of the blocks3.1 AES Encryption Core3.2 AES Decryption Core3.3 AES Encryption Interface3.4 AES Decryption Interface3.5 Example of Operation using XMD4 Description of Design Tree5 ReferencesECE532S: Digital HardwareGroup ReportAdam Kruger – 990330227Edward Lo – 990221817April 12th, 20040Table of ContentsTABLE OF CONTENTS...............................................................................................................................11 OVERVIEW.................................................................................................................................................21.1 PROJECT GOALS......................................................................................................................................21.2 FUNCTIONAL BLOCKS.............................................................................................................................21.3 INCORPORATION INTO THE MICROBLAZE DESIGN..................................................................................32 OUTCOME..................................................................................................................................................32.1 RESULTS.................................................................................................................................................32.2 FUTURE WORK........................................................................................................................................33 DESCRIPTION OF THE BLOCKS..........................................................................................................43.1 AES ENCRYPTION CORE........................................................................................................................43.2 AES DECRYPTION CORE........................................................................................................................43.3 AES ENCRYPTION INTERFACE................................................................................................................53.4 AES DECRYPTION INTERFACE................................................................................................................53.5 EXAMPLE OF OPERATION USING XMD..................................................................................................54 DESCRIPTION OF DESIGN TREE.........................................................................................................65 References.....................................................................................................................................................711 Overview1.1 Project goalsThe goal of this project was to create a system for encrypting and decrypting audiostreams. Sounds from the microphone would be recorded into external ZBT RAM inAES encrypted format. The sounds would then be played back from the RAM afterbeing decrypted. The recorded stream would sound jumbled if the correct encryption keywas not provided during playback.Unfortunately, due to time constraints and unforeseen difficulties in setting up the AC97codec for recording, we were forced to change our project goal. The current goal is tocreate AES encryption and decryption interface cores that can easily attach encryptionand decryption cores to the OPB in a Microblaze SOPC. This would allow future groupsto easily add encryption and decryption capability to their designs.In order to keep the operation of the AES core simple, we aimed for a memory mappeddesign. All data to and from the AES cores, as well as associated control signals, were tobe memory mapped to specific address locations. This made debugging the core throughXMD a simple procedure. In addition, incorporating memory writes into C programswould be a similarly trivial task.1.2 Functional blocksThere are four main logic blocks in our design (Figure 1). The AES cipher blockperforms the actual encryption. The AES inverse cipher block decrypts the data when thecorrect key is loaded. The two interface modules connect the AES core to the OPBinterface in memory mapped fashion.2AES cipher interfaceAES inverse cipher interfaceAES cipher blockAES inverse cipher blockFigure 1. Connecting the AES cipher and inverse cipher blocks to the OPB via interfacesOPBThe AES cipher blocks were downloaded from [OP04]. The interfaces were createdusing Lesley Shannon’s Snoopy core as a template which is provided through theECE532 labs [ECE04]. The interfaces detect memory mapped accesses and pass theappropriate control and data signals to the AES cores. The interfaces also contain logicthat automatically pulse control signals for a single clock cycle period when required.1.3 Incorporation into the Microblaze designIn order to use the design, the custom logic must be copied into the project’s “pcores”directory. The connections between the AES cipher block and its OPB interface must bespecified. This can be done through the “Add/Edit Cores…” dialog box. Similarly, thesame must be done for the AES inverse cipher block and its OPB interface. Theinterfaces must also be configured as OPB slave devices. Finally, the interfaces areconfigured to use address ranges 0xffffff00 to 0xffffffff for encryption and address ranges0xfffffe00 to 0xfffffeff for decryption.2 Outcome2.1 ResultsThe project was a success. We were able to create simple-to-use encryption anddecryption interfaces that could, along with the encryption and decryption cores, bedropped into an existing Microblaze based design. The AES hardware is able to encrypt128 bits of data in 12 clock cycles and to decrypt 128 bits of data in 24 clock cycles.However, the system needs extra clock cycles for reading and writing over the OPB bus.A basic Microblaze system with the AES core and interfaces utilizes 6443 slices orapproximately 59% of the Xilinx 2V2000 chip.Unfortunately, we were not able to test whether or not this speed is sufficient forstreaming audio decryption. However, the system can easily be used to decryptencrypted data in external memory ahead of time, before playback. It


View Full Document

Toronto ECE 532 - ECE 532 Group Report

Documents in this Course
Load more
Download ECE 532 Group Report
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view ECE 532 Group Report and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ECE 532 Group Report 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?