OpenCores
URL https://opencores.org/ocsvn/apbtoaes128/apbtoaes128/trunk

Subversion Repositories apbtoaes128

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /apbtoaes128/trunk/pli/bfm_ecb
    from Rev 9 to Rev 12
    Reverse comparison

Rev 9 → Rev 12

/aes_bfm_derivation_decryption_ecb.h
243,14 → 243,38
if(counter_write == 9)
{
 
v_ecb.value.integer = vector_address[counter_write];
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 25;//data_in(rd);
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 25;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 27;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 29;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 31;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
265,51 → 289,209
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
/aes_bfm_derivation_decryption_dma_ecb.h
243,14 → 243,38
if(counter_write == 9)
{
 
v_ecb.value.integer = vector_address[counter_write];
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 6169;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 6169;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6171;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6173;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6175;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
265,51 → 289,209
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
/aes_bfm_decryption_ccfie_ecb.h
243,14 → 243,38
if(counter_write == 9)
{
 
v_ecb.value.integer = vector_address[counter_write];
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 529;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 529;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 531;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 533;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 535;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
265,51 → 289,209
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
/aes_bfm_encryption_ecb.h
248,11 → 248,38
}else if(counter_write == 9)//ENABLE CR
{
 
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 1;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 1;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 3;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 5;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 7;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR
{
264,51 → 291,107
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 12 )
{
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
 
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 12 )
{
 
}else if(counter_write == 13 )
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE > TYPE_00)
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}
 
 
317,7 → 400,9
v_ecb.value.integer = data_in(rd);
}
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
vpi_put_value(PWDATA, &v_ecb, NULL, vpiNoDelay);
 
//vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
a = 0;
b = 0;
336,6 → 421,8
{
counter_write = 0;
STATE = WAIT_SR;
 
 
}
 
break;
342,6 → 429,7
 
case WAIT_SR:
 
 
v_ecb.value.integer = ADDR_AES_SR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
/aes_bfm_encryption_dma_ecb.h
251,15 → 251,38
}else if(counter_write == 9)//ENABLE CR
{
 
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
//v_ecb.value.integer = 1;
//vpi_put_value(PWDATA, &v_ecb, NULL, vpiNoDelay);
v_ecb.value.integer = 6145;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
v_ecb.value.integer = 6145;//data_in(rd);
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6147;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6149;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6151;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR
{
 
270,51 → 293,107
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 12 )
{
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
 
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 12 )
{
 
}else if(counter_write == 13 )
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE > TYPE_00)
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}
 
 
/aes_bfm_derivation_decryption_ccfie_ecb.h
243,14 → 243,38
if(counter_write == 9)
{
 
v_ecb.value.integer = vector_address[counter_write];
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 537;//data_in(rd);
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 537;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 539;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 541;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 543;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
265,51 → 289,209
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
/aes_bfm_decryption_ecb.h
243,14 → 243,38
if(counter_write == 9)
{
 
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 17;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 17;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 19;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 21;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 23;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
265,51 → 289,209
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
/aes_bfm_decryption_dma_ecb.h
266,14 → 266,38
if(counter_write == 9)
{
 
v_ecb.value.integer = vector_address[counter_write];
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
t_ecb.type = vpiScaledRealTime;
t_ecb.real = 0;
v_ecb.format=vpiIntVal;
v_ecb.value.integer = 6161;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 6161;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6163;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6165;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 6167;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}
 
288,54 → 312,211
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
if(counter_write == 10)
{
a = a | TEXT_FIPS_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_01)
{
b = b | TEXT_FIPS_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE == TYPE_02)
{
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3];
v_ecb.value.integer = a;
 
c = c | TEXT_FIPS_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 13 )
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}else if(DATATYPE == TYPE_03)
{
d = d | TEXT_FIPS_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DERIVATED[15];
v_ecb.value.integer = d;
if(counter_write == 10)
{
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
 
 
}
 
 
}else if(FIPS_ENABLE == RANDOM_DATA)
{
v_ecb.value.integer = data_in(rd);
/aes_bfm_encryption_ccfie_ecb.h
248,11 → 248,39
}else if(counter_write == 9)//ENABLE CR
{
 
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 513;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
v_ecb.value.integer = 513;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 515;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 517;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
 
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA
{
v_ecb.value.integer = ADDR_AES_CR;
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay);
 
v_ecb.value.integer = 519;
;
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay);
}
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR
{
264,51 → 292,107
if(FIPS_ENABLE == FIPS)
{
 
if(counter_write == 10)
if(DATATYPE == TYPE_00)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 12 )
{
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DERIVATED[7];
v_ecb.value.integer = b;
 
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
}else if(counter_write == 12 )
{
 
}else if(counter_write == 13 )
c = c | TEXT_FIPS_NOT_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}else if(DATATYPE > TYPE_00)
{
d = d | TEXT_FIPS_NOT_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DERIVATED[15];
v_ecb.value.integer = d;
 
 
if(counter_write == 10)
{
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2];
a = a << 8;
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3];
v_ecb.value.integer = a;
 
}else if(counter_write == 11)
{
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6];
b = b << 8;
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7];
v_ecb.value.integer = b;
 
}else if(counter_write == 12 )
{
 
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10];
c = c << 8;
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11];
v_ecb.value.integer = c;
 
}else if(counter_write == 13 )
{
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14];
d = d << 8;
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15];
v_ecb.value.integer = d;
 
}
 
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.