위에서 보고, 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를 추가해서 해본다.

+ Recent posts