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_cbc
- from Rev 5 to Rev 9
- ↔ Reverse comparison
Rev 5 → Rev 9
/aes_bfm_decryption_ccfie_cbc.h
173,13 → 173,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR3) |
{ |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[0]; |
a = a | KEY_FIPS_CBC_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[1]; |
a = a | KEY_FIPS_CBC_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[2]; |
a = a | KEY_FIPS_CBC_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[3]; |
a = a | KEY_FIPS_CBC_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
|
186,13 → 186,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR2) |
{ |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[4]; |
b = b | KEY_FIPS_CBC_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[5]; |
b = b | KEY_FIPS_CBC_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[6]; |
b = b | KEY_FIPS_CBC_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[7]; |
b = b | KEY_FIPS_CBC_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
|
199,13 → 199,13
if(vector_address[counter_write] == ADDR_AES_KEYR1) |
{ |
|
c = c | KEY_FIPS_CBC_NOT_DERIVATED[8]; |
c = c | KEY_FIPS_CBC_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[9]; |
c = c | KEY_FIPS_CBC_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[10]; |
c = c | KEY_FIPS_CBC_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[11]; |
c = c | KEY_FIPS_CBC_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
} |
212,13 → 212,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR0) |
{ |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[12]; |
d = d | KEY_FIPS_CBC_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[13]; |
d = d | KEY_FIPS_CBC_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[14]; |
d = d | KEY_FIPS_CBC_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[15]; |
d = d | KEY_FIPS_CBC_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
|
408,7 → 408,11
|
v_ecb.value.integer = 0; |
vpi_put_value(PWRITE, &v_ecb, NULL, vpiNoDelay); |
|
|
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
/* |
if(counter == 0) |
{ |
|
425,19 → 429,19
|
counter=0; |
} |
|
*/ |
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
vpi_get_value(int_ccf,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
/aes_bfm_encryption_cbc.h
409,7 → 409,21
v_ecb.value.integer = 1; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
418,19 → 432,7
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
/aes_bfm_encryption_dma_cbc.h
417,6 → 417,22
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
|
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
425,19 → 441,6
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
/aes_bfm_key_generation_ccfie_cbc.h
296,7 → 296,7
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
358,11 → 358,11
{ |
STATE = READ_KEY_GEN; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_KEYR3; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_KEYR3; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
387,79 → 387,68
}else if(counter == 1) |
{ |
|
if(counter_read == 0) |
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
if(counter_read < 4) |
{ |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 4) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR3; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 1) |
if(counter_read == 5) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR2; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 2) |
if(counter_read == 6) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR1; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 3) |
if(counter_read == 7) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR0; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 4) |
|
if(counter_read == 8) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR3; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 5) |
if(counter_read == 9) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR2; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
|
if(counter_read == 6) |
if(counter_read == 10) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR1; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 7) |
if(counter_read == 11) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR0; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
counter = 0; |
} |
|
if(counter_read == 8) |
if(counter_read == 12) |
{ |
STATE = RESET_SR; |
counter_write = 0; |
/aes_bfm_derivation_decryption_ccfie_cbc.h
403,6 → 403,10
v_ecb.value.integer = 0; |
vpi_put_value(PWRITE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
/* |
if(counter == 0) |
{ |
|
419,19 → 423,19
|
counter=0; |
} |
|
*/ |
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
vpi_get_value(int_ccf,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
counter=1; |
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
/aes_bfm_decryption_cbc.h
173,13 → 173,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR3) |
{ |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[0]; |
a = a | KEY_FIPS_CBC_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[1]; |
a = a | KEY_FIPS_CBC_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[2]; |
a = a | KEY_FIPS_CBC_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[3]; |
a = a | KEY_FIPS_CBC_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
|
186,13 → 186,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR2) |
{ |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[4]; |
b = b | KEY_FIPS_CBC_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[5]; |
b = b | KEY_FIPS_CBC_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[6]; |
b = b | KEY_FIPS_CBC_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[7]; |
b = b | KEY_FIPS_CBC_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
|
199,13 → 199,13
if(vector_address[counter_write] == ADDR_AES_KEYR1) |
{ |
|
c = c | KEY_FIPS_CBC_NOT_DERIVATED[8]; |
c = c | KEY_FIPS_CBC_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[9]; |
c = c | KEY_FIPS_CBC_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[10]; |
c = c | KEY_FIPS_CBC_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[11]; |
c = c | KEY_FIPS_CBC_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
} |
212,13 → 212,13
|
if(vector_address[counter_write] == ADDR_AES_KEYR0) |
{ |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[12]; |
d = d | KEY_FIPS_CBC_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[13]; |
d = d | KEY_FIPS_CBC_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[14]; |
d = d | KEY_FIPS_CBC_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[15]; |
d = d | KEY_FIPS_CBC_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
|
295,7 → 295,7
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
411,7 → 411,21
v_ecb.value.integer = 1; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
420,21 → 434,8
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
|
|
/aes_bfm_decryption_dma_cbc.h
172,111 → 172,110
{ |
|
if(vector_address[counter_write] == ADDR_AES_KEYR3) |
{ |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
{ |
a = a | KEY_FIPS_CBC_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_CBC_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
|
|
if(vector_address[counter_write] == ADDR_AES_KEYR2) |
{ |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
if(vector_address[counter_write] == ADDR_AES_KEYR2) |
{ |
b = b | KEY_FIPS_CBC_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_CBC_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
|
if(vector_address[counter_write] == ADDR_AES_KEYR1) |
{ |
if(vector_address[counter_write] == ADDR_AES_KEYR1) |
{ |
|
c = c | KEY_FIPS_CBC_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
c = c | KEY_FIPS_CBC_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_CBC_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
} |
} |
|
if(vector_address[counter_write] == ADDR_AES_KEYR0) |
{ |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
if(vector_address[counter_write] == ADDR_AES_KEYR0) |
{ |
d = d | KEY_FIPS_CBC_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_CBC_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
|
|
if(vector_address[counter_write] == ADDR_AES_IVR3) |
{ |
a = a | IV_FIPS_CBC_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
if(vector_address[counter_write] == ADDR_AES_IVR3) |
{ |
a = a | IV_FIPS_CBC_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | IV_FIPS_CBC_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
} |
|
|
if(vector_address[counter_write] == ADDR_AES_IVR2) |
{ |
b = b | IV_FIPS_CBC_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
if(vector_address[counter_write] == ADDR_AES_IVR2) |
{ |
b = b | IV_FIPS_CBC_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | IV_FIPS_CBC_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
} |
|
if(vector_address[counter_write] == ADDR_AES_IVR1) |
{ |
if(vector_address[counter_write] == ADDR_AES_IVR1) |
{ |
|
c = c | IV_FIPS_CBC_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | IV_FIPS_CBC_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
} |
|
} |
if(vector_address[counter_write] == ADDR_AES_IVR0) |
{ |
d = d | IV_FIPS_CBC_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
|
if(vector_address[counter_write] == ADDR_AES_IVR0) |
{ |
d = d | IV_FIPS_CBC_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | IV_FIPS_CBC_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
} |
|
|
|
|
}else if(FIPS_ENABLE == RANDOM_DATA) |
{ |
v_ecb.value.integer = data_in(rd); |
418,7 → 417,21
v_ecb.value.integer = 1; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
427,19 → 440,7
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
/aes_bfm_encryption_ccfie_cbc.h
399,6 → 399,10
v_ecb.value.integer = 0; |
vpi_put_value(PWRITE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
/* |
if(counter == 0) |
{ |
|
415,19 → 419,20
|
counter=0; |
} |
*/ |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
vpi_get_value(int_ccf,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
/aes_bfm_key_generation_cbc.h
341,7 → 341,21
v_ecb.value.integer = 1; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_KEY_GEN; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_KEYR3; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
349,20 → 363,6
|
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_KEY_GEN; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_KEYR3; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
/aes_bfm_derivation_decryption_cbc.h
295,13 → 295,13
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
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); |
v_ecb.value.integer = 57;//data_in(rd); |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
} |
412,7 → 412,22
v_ecb.value.integer = 1; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
421,21 → 436,8
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
|
|
/aes_bfm_key_generation_dma_cbc.h
343,6 → 343,21
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_KEY_GEN; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 10; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_KEYR3; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
351,19 → 366,6
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_KEY_GEN; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 10; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_KEYR3; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |
387,79 → 389,68
}else if(counter == 1) |
{ |
|
if(counter_read == 0) |
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
if(counter_read < 4) |
{ |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 4) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR3; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 1) |
if(counter_read == 5) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR2; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 2) |
if(counter_read == 6) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR1; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 3) |
if(counter_read == 7) |
{ |
v_ecb.value.integer = ADDR_AES_KEYR0; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
if(counter_read == 4) |
|
if(counter_read == 8) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR3; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 5) |
if(counter_read == 9) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR2; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
|
if(counter_read == 6) |
if(counter_read == 10) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR1; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
|
if(counter_read == 7) |
if(counter_read == 11) |
{ |
|
v_ecb.value.integer = ADDR_AES_IVR0; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
} |
|
v_ecb.value.integer = 0; |
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
counter = 0; |
} |
|
if(counter_read == 8) |
if(counter_read == 12) |
{ |
STATE = RESET_SR; |
counter_write = 0; |
/aes_bfm_derivation_decryption_dma_cbc.h
295,7 → 295,7
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
412,6 → 412,21
vpi_put_value(PENABLE, &v_ecb, NULL, vpiNoDelay); |
|
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
//t_ecb.type = vpiScaledRealTime; |
//t_ecb.real = 0; |
//v_ecb.format=vpiIntVal; |
//v_ecb.value.integer = ADDR_AES_DOUTR; |
//vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
}else if(counter == 1) |
{ |
v_ecb.value.integer = 0; |
419,20 → 434,6
|
counter=0; |
} |
|
v_ecb.value.integer = 0; |
vpi_get_value(PRDATA,&v_ecb); |
|
if(v_ecb.value.integer == 1) |
{ |
STATE = READ_DOUTR; |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
|
break; |