일단 system/main_mem.v 파일을 보자.
- 여기서 Wishbone으로 부터 들어오는 input은 다음과 같다.
i_wb_adr 32
i_wb_sel 4
i_wb_we 1
i_wb_dat 32
i_wb_cyc 1
i_wb_stb 1
그럼 여기서 알아야 할 것은
1. 어떤 신호가 들어오면 wishbone에서 메모리로 데이터를 받아오는지
2. 어떤 신호가 들어오면 메모리에서 wishbone으로 데이터를 보내는지
3. 받고 보낼 때, 어떤 port로 몇 byte를 보내는 것인지
A. 어떤 신호가 들어오면 wishbone에서 메모리로 데이터를 받아오는지를 보면
*clk_1 => start_read가 1이면 start_read_d1이 1이 된다.(나중에 aes에 의해 10clk delay가 생길 시에 여기서 좀 줄여볼 여지 있음)
*clk_2 => start_read_d1가 2이면 start_read_d2가 1이된다.
그리고 if문에서 start_read_d1가 1이므로, wb_rdata128에 rd_data를 쓰게 된다. 여기서 rd_data = ram[addr_d1[27:2]];인데, 그냥 램에 저장되어 있는 데이터를 의미하는 것 같다.
=> 결국 ram에 저장되어 있는 128bit짜리 데이터를 start_read가 켜진지 2clk만에 rd_data에 입력하는 것이다.
'수업 > 졸업논문-Amber' 카테고리의 다른 글
| 모듈 추가하는 방법 (0) | 2015.07.13 |
|---|---|
| a23에 새로운 모듈 추가하기 (0) | 2015.07.13 |
| 32bit ubuntu에서 Xilinx ISE 재설치 (0) | 2015.07.12 |
| ERROR:Simulator:861 - Failed to link the design (0) | 2015.07.12 |
| /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory (1) | 2015.07.12 |