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_error
- from Rev 4 to Rev 12
- ↔ Reverse comparison
Rev 4 → Rev 12
/aes_bfm_wr_error_dinr.h
122,10 → 122,14
|
counter = 0; |
|
v_wr.value.integer = vector_address[0]; |
|
v_wr.value.integer = 0; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
133,6 → 137,7
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
} |
|
|
141,296 → 146,174
|
case WRITE: |
|
|
|
|
|
if(counter == 0) |
{ |
|
counter++; |
counter_write++; |
counter++; |
|
v_wr.value.integer = 1; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
|
}else if(counter == 1) |
{ |
}else if( counter == 1 ) |
{ |
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
t_wr.type = vpiScaledRealTime; |
t_wr.real = 0; |
v_wr.format=vpiIntVal; |
|
if(counter_write < 9) |
{ |
|
v_wr.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
v_wr.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
if(FIPS_ENABLE == FIPS) |
{ |
if(vector_address[counter_write] == ADDR_AES_KEYR3 || vector_address[counter_write] == ADDR_AES_IVR3) |
{ |
|
if(vector_address[counter_write] == ADDR_AES_KEYR3 || vector_address[counter_write] == ADDR_AES_IVR3) |
{ |
a = a | KEY_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[3]; |
v_wr.value.integer = a; |
} |
a = a | KEY_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | KEY_FIPS_NOT_DERIVATED[3]; |
v_wr.value.integer = a; |
} |
|
if(vector_address[counter_write] == ADDR_AES_KEYR2 || vector_address[counter_write] == ADDR_AES_IVR2) |
{ |
|
if(vector_address[counter_write] == ADDR_AES_KEYR2 || vector_address[counter_write] == ADDR_AES_IVR2) |
{ |
b = b | KEY_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[7]; |
v_wr.value.integer = b; |
} |
b = b | KEY_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | KEY_FIPS_NOT_DERIVATED[7]; |
v_wr.value.integer = b; |
|
if(vector_address[counter_write] == ADDR_AES_KEYR1 || vector_address[counter_write] == ADDR_AES_IVR1) |
{ |
} |
|
if(vector_address[counter_write] == ADDR_AES_KEYR1 || vector_address[counter_write] == ADDR_AES_IVR1) |
{ |
c = c | KEY_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[11]; |
v_wr.value.integer = c; |
} |
|
c = c | KEY_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | KEY_FIPS_NOT_DERIVATED[11]; |
v_wr.value.integer = c; |
|
} |
if(vector_address[counter_write] == ADDR_AES_KEYR0 || vector_address[counter_write] == ADDR_AES_IVR0) |
{ |
|
if(vector_address[counter_write] == ADDR_AES_KEYR0 || vector_address[counter_write] == ADDR_AES_IVR0) |
{ |
d = d | KEY_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[15]; |
v_wr.value.integer = d; |
} |
d = d | KEY_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | KEY_FIPS_NOT_DERIVATED[15]; |
v_wr.value.integer = d; |
|
} |
|
|
}else if(FIPS_ENABLE == RANDOM_DATA) |
{ |
v_wr.value.integer = data_in(rd); |
} |
vpi_put_value(PWDATA, &v_wr, &t_wr, vpiTransportDelay); |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
a = 0; |
b = 0; |
c = 0; |
d = 0; |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
|
}else if(counter_write == 9) |
a = 0; |
b = 0; |
c = 0; |
d = 0; |
|
}else if(counter_write == 9)//ENABLE CR |
{ |
|
v_wr.value.integer = vector_address[0]; |
v_wr.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
if(PACKETS_GENERATED == 0)//ENCRYPTION |
{ |
|
v_wr.value.integer = 1; |
|
|
}else if(PACKETS_GENERATED == 1)//ENCRYPTION |
{ |
|
v_wr.value.integer = 1025; |
|
|
}else if(PACKETS_GENERATED == 2)//KEY GENERATION |
{ |
|
v_wr.value.integer = 9; |
|
|
}else if(PACKETS_GENERATED == 3)//KEY GENERATION |
{ |
|
v_wr.value.integer = 1033; |
|
|
}else if(PACKETS_GENERATED == 4)//DECRYPTION |
{ |
|
v_wr.value.integer = 17; |
|
|
}else if(PACKETS_GENERATED == 5)//DECRYPTION |
{ |
|
v_wr.value.integer = 1041; |
|
|
}else if(PACKETS_GENERATED == 6)//DEVIRATION_DECRYPTION |
{ |
|
v_wr.value.integer = 25; |
|
|
}else if(PACKETS_GENERATED == 7)//DEVIRATION_DECRYPTION |
{ |
|
v_wr.value.integer = 1049; |
|
|
}else if(PACKETS_GENERATED == 8)//ENCRYPTION_DMA |
{ |
|
v_wr.value.integer = 6145; |
|
|
}else if(PACKETS_GENERATED == 9)//ENCRYPTION_DMA |
{ |
|
v_wr.value.integer = 7169; |
|
|
}else if(PACKETS_GENERATED == 10)//KEY DERIVATION DMA |
{ |
|
v_wr.value.integer = 6153; |
|
|
}else if(PACKETS_GENERATED == 12)//KEY DERIVATION DMA |
{ |
|
v_wr.value.integer = 7177; |
|
|
}else if(PACKETS_GENERATED == 13)//DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 6161; |
|
|
}else if(PACKETS_GENERATED == 14)//DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 7185; |
|
|
}else if(PACKETS_GENERATED == 15)//DEVIRATION_DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 6169; |
|
}else if(PACKETS_GENERATED == 16)//DEVIRATION_DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 7193; |
|
} |
|
v_wr.value.integer = vector_CR[PACKETS_GENERATED]; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
}if(counter_write > 9 && counter_write < 14) //WRITE DINR |
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR |
{ |
|
v_wr.value.integer = ADDR_AES_DINR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
|
if(FIPS_ENABLE == FIPS) |
{ |
|
|
v_wr.value.integer = ADDR_AES_DINR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_wr.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_wr.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_wr.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_wr.value.integer = d; |
|
} |
|
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
}else if(FIPS_ENABLE == RANDOM_DATA) |
{ |
v_wr.value.integer = data_in(rd); |
} |
|
vpi_put_value(PWDATA, &v_wr, &t_wr, vpiTransportDelay); |
|
a = 0; |
b = 0; |
c = 0; |
d = 0; |
a = 0; |
b = 0; |
c = 0; |
d = 0; |
|
|
} |
|
counter=0; |
counter=0; |
} |
|
}//ELSE COUNTER |
|
|
|
if(counter_write == 14) |
{ |
STATE =WAIT; |
counter_write = 0; |
counter_read = 0; |
|
//v_wr.value.integer = 0; |
//vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
STATE = WAIT; |
} |
|
|
439,38 → 322,39
case WAIT: |
|
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
if(counter_wait == 9) |
if(counter_wait == 1) |
{ |
|
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
STATE = WRITE_DINR; |
counter_wait=0; |
counter_write = 0; |
counter=1; |
|
v_wr.value.integer = ADDR_AES_DINR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
}else |
{ |
|
counter_wait++; |
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
} |
break; |
|
case WRITE_DINR: |
|
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
|
if(counter == 0) |
{ |
|
487,6 → 371,25
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
if(counter_write == 13)//ENABLE CR |
{ |
|
v_wr.value.integer =1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
}else |
{ |
v_wr.value.integer = ADDR_AES_DINR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
} |
|
|
counter=0; |
} |
|
497,14 → 400,8
STATE = READ_RESULTS; |
counter_write = 0; |
counter_read = 0; |
counter=1; |
|
v_wr.value.integer = ADDR_AES_DINR;//vector_address[counter_read]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
} |
|
|
514,45 → 411,53
|
|
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
if(counter == 0) |
{ |
|
v_wr.value.integer = 1; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
counter_read++; |
counter++; |
|
|
}else if(counter == 1) |
{ |
counter++; |
|
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
|
v_wr.value.integer = ADDR_AES_SR;//vector_address[counter_read]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
if(counter_read <= 9) |
{ |
v_wr.value.integer = vector_address[counter_read]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
} |
else |
{ |
|
v_wr.value.integer = 0; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
} |
|
|
|
counter=0; |
|
} |
|
if(counter_read == 12) |
if(counter_read == 14) |
{ |
STATE = RESET_SR; |
counter_read = 0; |
PACKETS_GENERATED = PACKETS_GENERATED + 1; |
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
counter=1; |
|
} |
|
560,19 → 465,9
|
case RESET_SR: |
|
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 384; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
|
if(counter == 0) |
{ |
|
587,14 → 482,30
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 384; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
counter=0; |
|
} |
|
if(counter_write < 2) |
if(counter_write == 2) |
{ |
STATE =IDLE; |
counter_write = 0; |
counter=1; |
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
} |
|
|
/aes_bfm_wr_error_doutr.h
122,7 → 122,7
|
counter = 0; |
|
v_wr.value.integer = vector_address[0]; |
v_wr.value.integer = 0; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
241,105 → 241,10
}else if(counter_write == 9) |
{ |
|
v_wr.value.integer = vector_address[0]; |
v_wr.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
if(PACKETS_GENERATED == 0)//ENCRYPTION |
{ |
|
v_wr.value.integer = 1; |
|
|
}else if(PACKETS_GENERATED == 1)//ENCRYPTION |
{ |
|
v_wr.value.integer = 1025; |
|
|
}else if(PACKETS_GENERATED == 2)//KEY GENERATION |
{ |
|
v_wr.value.integer = 9; |
|
|
}else if(PACKETS_GENERATED == 3)//KEY GENERATION |
{ |
|
v_wr.value.integer = 1033; |
|
|
}else if(PACKETS_GENERATED == 4)//DECRYPTION |
{ |
|
v_wr.value.integer = 17; |
|
|
}else if(PACKETS_GENERATED == 5)//DECRYPTION |
{ |
|
v_wr.value.integer = 1041; |
|
|
}else if(PACKETS_GENERATED == 6)//DEVIRATION_DECRYPTION |
{ |
|
v_wr.value.integer = 25; |
|
|
}else if(PACKETS_GENERATED == 7)//DEVIRATION_DECRYPTION |
{ |
|
v_wr.value.integer = 1049; |
|
|
}else if(PACKETS_GENERATED == 8)//ENCRYPTION_DMA |
{ |
|
v_wr.value.integer = 6145; |
|
|
}else if(PACKETS_GENERATED == 9)//ENCRYPTION_DMA |
{ |
|
v_wr.value.integer = 7169; |
|
|
}else if(PACKETS_GENERATED == 10)//KEY DERIVATION DMA |
{ |
|
v_wr.value.integer = 6153; |
|
|
}else if(PACKETS_GENERATED == 12)//KEY DERIVATION DMA |
{ |
|
v_wr.value.integer = 7177; |
|
|
}else if(PACKETS_GENERATED == 13)//DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 6161; |
|
|
}else if(PACKETS_GENERATED == 14)//DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 7185; |
|
|
}else if(PACKETS_GENERATED == 15)//DEVIRATION_DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 6169; |
|
}else if(PACKETS_GENERATED == 16)//DEVIRATION_DECRYPTION_DMA |
{ |
|
v_wr.value.integer = 7193; |
|
} |
|
v_wr.value.integer = vector_CR[PACKETS_GENERATED]; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
}if(counter_write > 9 && counter_write < 14) //WRITE DINR |
427,9 → 332,6
counter_write = 0; |
counter_read = 0; |
|
|
|
|
} |
|
|
444,22 → 346,19
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
if(counter_wait == 9) |
if(counter_wait == 3) |
{ |
|
STATE = READ_DOUTR; |
counter_wait=0; |
counter=1; |
|
v_wr.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
}else |
{ |
|
v_wr.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
counter_wait++; |
|
} |
467,14 → 366,12
|
case READ_DOUTR: |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
if(counter == 0) |
{ |
|
counter++; |
counter_write++; |
counter_read++; |
|
v_wr.value.integer = 1; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
486,24 → 383,21
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
|
v_wr.value.integer = ADDR_AES_DOUTR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
counter=0; |
} |
|
|
|
if(counter_write == 14) |
if(counter_read == 4) |
{ |
STATE = READ_RESULTS; |
counter_write = 0; |
counter_read = 0; |
|
v_wr.value.integer = ADDR_AES_DINR;//vector_address[counter_read]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
|
counter=1; |
} |
|
|
524,37 → 418,96
|
}else if(counter == 1) |
{ |
counter++; |
|
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
if(counter_read == 0) |
{ |
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = ADDR_AES_SR;//vector_address[counter_read]; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
v_wr.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
v_wr.value.integer = 0; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
}else |
{ |
v_wr.value.integer = 0; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = ADDR_AES_SR; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
|
} |
|
counter=0; |
|
} |
|
if(counter_read == 1) |
if(counter_read == 14) |
{ |
STATE = IDLE; |
counter_read = 0; |
STATE = RESET_SR; |
counter_write = 0; |
counter_read = 0; |
PACKETS_GENERATED = PACKETS_GENERATED + 1; |
counter=1; |
|
v_wr.value.integer = 0; |
} |
|
break; |
|
case RESET_SR: |
|
|
|
|
if(counter == 0) |
{ |
|
counter_write++; |
counter++; |
|
v_wr.value.integer = 1; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
}else if(counter == 1) |
{ |
|
v_wr.value.integer = 0; |
vpi_put_value(PENABLE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PWRITE, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 1; |
vpi_put_value(PSEL, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 0; |
vpi_put_value(PADDR, &v_wr, NULL, vpiNoDelay); |
|
v_wr.value.integer = 384; |
vpi_put_value(PWDATA, &v_wr, NULL, vpiNoDelay); |
|
counter=0; |
|
} |
|
if(counter_write == 2) |
{ |
STATE =IDLE; |
counter_write = 0; |
counter_read = 0; |
} |
|
|
|
break; |
} |
|