위에서 보고, core내부에서 96bits를 찾아서 하는 것은 어려움이 많은 것 같아 일단 아래와 같은 방법으로 시도해본다.
1. write 요청이 aes.v에 들어오면 그것을 보고 write 요청은 잠시 멈추고, 해당 주소의 것들을
memory에서 read 요청을 해야됨.
2. 불러온 값을 decryption한다.
3. 치환한다.(o_wb_sel_i 참조해서)
4. 128bits를 encryption해서 o_wb_sel_o를 16'hffff 로 바꿔서 write 내보낸다.
==================================
어떻게 시도해볼 것인가??
A. 일단 aes를 다 제거하고, 메모리도 원래 상태로 해서 위의 것이 제대로 잘 동작하는지 확인해본다(encryption, decryption 부분을 제거하고)
A-1. 일단 aes.v에 encryption decryption의 부분을 제거해 준다.
A-2. write를 하고 싶다는 것을 인지한다.
A-3. write를 하고 싶다는 것들에 대한 data, condition들을 register에 저장을 해 둔다.
A-4. 해당 address에 대해서 read를 하고 싶다는 condition을 넣어서 read 요청을 한다.
A-5. read가 잘 되면 sel부분을 보고 어디에 쓰려고 하는 32bits를 추가해야 되는지를 확인해서 치환한다.
A-6. 아까 저장해놨던 condition과 data에서 sel부분을 16'hffff로 바꿔서 write를 하고 싶다고 보낸다.
B. 이것이 제대로 동작한다면 aes를 추가해서 해본다.
'수업 > 졸업논문-Amber' 카테고리의 다른 글
| 모듈 만들기 (0) | 2015.09.15 |
|---|---|
| cache에 쓰는 128bits를 그대로 encryption해서 메모리에 쓰기 (0) | 2015.09.14 |
| core에서 나머지 96bits를 찾기 (0) | 2015.08.31 |
| mem file을 encrypt 했는데도 안되서 main_mem.v 확인결과 (0) | 2015.08.26 |
| 10clk delay에다가 aes를 넣을 방법 (0) | 2015.08.16 |