Salve a tutti,
innanzi tutto volevo avvisare che ieri sera ho fatto il porting del codice VHDL di sha1_core per la scheda che ho a disposizione. In realta' e' stata una cosa semplice. E' stato sufficiente sostituire la dual port ram usata nella CustomFifo. Pensavo comunque, se siete d'accordo, di rendere disponibile sia il codice modificato di sha1_core che l'interfaccia avalon che spero di sviluppare nel fine settimana.
A questo punto, pero', devo farvi un paio di domande sul comportamento del registro slv_reg5, in particolare sul bit 1.
Allora! Simulando il dispositivo mi sono accorto che appena dato il comando di reset slv_reg5(1) va a 1. Dopo aver dato il comando di reset scrivo 1 e poi 0 su slv_reg6(1) e poi asserisco il bit EOB. Il bit slv_reg5(1) rimane ad 1 fino a 22 cicli di clock dopo aver asserito il bit EOB. Il bit di polling, nel frattempo, passa ad 1 19 cicli di clock dopo aver asserito il bit EOB (questo
suppongo significhi che la periferica e' pronta per ricevere un nuovo blocco di dati) e rimane asserito, insieme a reset slv_reg5(1), per due cicli di clock. Successivamente slv_reg5(1) passa a 0, mentre il bit di polling rimane a 1 fino a quando non scrivo 0 sul bit EOB. Quando sui quattro registri di output appare il risultato dello sha1 il bit slv_reg5(1) diventa 1 (e questo suppongo significhi che e' possibile leggere i dati dalla periferica).
Il bit slv_reg5(1) non dovrebbe diventare uno solo ed esclusivamente in corrispondenza dell'output vero e proprio dei dati?
Potreste anche fornirmi, se possibile, delle coppie (input, output) che avete usato durante le vostre simulazioni?
Grazie mille
Paolo
--
Paolo Palana, PhD Student
<
" rel=nofollow target=_blank
ymailto="mailto:
">
>
Dept. of Computer Science, Systems, and Industrial Engineering
University of Rome "Tor Vergata", Via del Politecnico, 1 - 00133 Rome
office: D1 - 21
phone : +39 06 7259 7714