1. 일단 state = 0일 때, read시에 어떻게 해야 할 것인가?
state == 0일 때, cyc, stb signal이 1로 오면서 read를 요구한다.
이 때, cyc, stb는 같이 1이 되고, ack를 받아서 바로 core쪽으로 주면 안된다.
일단 ack를 받게 되면, core쪽에는 0으로 hold 시켜 놓고,
ack를 decrypt start signal로 사용하여 decrypt를 진행시킨다.
그리고 decrypt가 끝나면 dec_done signal이 1이 될 것이다.
그러면 이 dec_done signal을 core쪽으로 보내는 ack 신호로 사용하면 된다.
(이거 완료신호 1clk만 1로 주면 되겠지?)
2. state가 1일 때, read를 할 것이다.
이 때도 state = 0일 때와 동일하게 ack를 받으면 core쪽에는 0으로 hold 시켜 놓고
ack를 decrypt start signal로 사용하여 i_wb_dat_i 를 decrypt 시킨다.
그리고 decrypt_done signal이 1이 되는 것을
state를 2로 보내는 signal로 사용하면 된다.
3. state == 2일 때, write를 할 것이다.
state가 2를 encrypt start signal로 사용한다.
그래서 바로 encrypt를 시작한다. ( 1 clk만 되도록 해야됨 )
그리고 encrypt_done signal이 들어오면 stb, cyc, we_o를 1로 준다..
여기서 ack가 들어오면 다시 state를 0으로 보내준다.
'수업 > 졸업논문-Amber' 카테고리의 다른 글
| 남은것 (0) | 2015.10.31 |
|---|---|
| 일단 simulation 모두 완료 후 FPGA에 올리기 -(1) (0) | 2015.10.27 |
| 버전1을 작성할 때 (0) | 2015.10.13 |
| 메모리에서 read하고 write 하는 것.. 버전1이라 생각하면 됨. (0) | 2015.10.13 |
| 모듈 만들기 (0) | 2015.09.15 |