RAM

   
 

The Synopsys Designware's Asynchronous Dual Port RAM (DW_ram_r_w_a_dff_inst.vhd) was instantiated in our project for the Input and the Output RAM respectively. This RAM has the following features:

  • Parameterized Word Depth – This was set to 16 for our project

  • Parameterized Data Width – This was set to 32 bits for our project

  • Asynchronous Static Memory

Description of the Input RAM and the Output RAM

Input RAM

The Data Encryption Standard IP block requires the inputs: key (64 bit) and the plain text (64 bit) to be encrypted respectively. The function of the Input RAM is to store the input values in its contiguous locations. The RAM IP has a data width of 32 bits. Therefore, the key and plain text had to be stored as two words of 32 bits each in successive locations. In our case, the key was stored in locations “0000” and “0001” respectively and the plain text was stored in locations “0010” and “0011” respectively. This is for the first set of input data. For all the data, the same sequence is followed from location “0100" onwards. The controller (state machine) was implemented for two set of input data. (Please refer to the User Guide for the usage of RAM signals). The following figure shows the block diagram of the Input RAM and its signals.

Output RAM

The Data Encryption Standard IP block encrypts the plain text using the key input and computes the ciphered text (64 bits). The function of the Output RAM is to store the output values in its contiguous locations. The Output RAM IP uses a data width of 32 bits. Therefore, the ciphered text had to be stored as two words of 32 bits each in successive locations. In our case the ciphered text corresponding to the first set of input data would be stored in locations “0000” and “0001” respectively. 

Figure: Block Diagram of the RAM

 

 

The VHDL code of the standalone RAM was simulated and this is the Screenshot. The simulation shows the writing and reading of data from the RAM. 

Previous   Next
DES

Contents

Entire Block