Bus nhớ nội LMB (LMB: Local Memory Bus)

Một phần của tài liệu Nghiên cứu và triển khai hệ vi xử lý trên cơ sở lõi xử lý MicroBlaze, thử nghiệm ứng dụng trên FPGA (Trang 42 - 43)

LMB là đƣờng bus đồng bộ, đƣợc sử dụng chủ yếu để truy xuất khối Ram on- chip. Nó sử dụng một số tín hiệu điều khiển tối thiểu và giao thức đơn giản để đảm bảo rằng khối RAM đƣợc truy xuất trong 1 chu kỳ clock. Tần số hoạt động là 125MHz. Tất cả các tín hiệu của LMB đều hoạt động ở mức cao.

Tín hiệu Giao tiếp dữ liệu Giao tiếp lệnh Kiểu Mô tả

Addr[0:31] Data_Addr[0:31] Instr_Addr[0:31 ]

O Bus địa chỉ Byte_Enable[0:3

]

Byte_Enable[0:3] Không sử dụng O Cho phép byte Data_Write[0:31

]

Data_Write[0:31] Không sử dụng O Bus ghi dữ liệu

AS D_AS I_AS O Chọn địa chỉ

Read_Strobe Read_Strobe IFetch O Đọc tiến trình Write_Strobe Write_Strobe Không sử dụng O Ghi tiến trình Data_Read[0:31] Data_Read[0:31] Instr[0:31] I Bus đọc dữ liệu Ready Ready DReady IReady Iready I Sẵn sàng cho quá trình truyền kế tiếp Clk Clk Clk I Bus xung đồng hồ

- Addr [0:31]: 32 bit địa chỉ cho biết địa chỉ trên RAM đƣợc truy xuất. Nó chỉ hoạt động khi tín hiệu chọn địa chỉ AS ở mức cao.

- Byte_Enable[0:3]: Tín hiệu cho phép byte là các tín hiệu từ CPU xác định đƣờng bus dữ liệu hoạt động. Byte_Enable[0:3] có giá trị chỉ khi tín hiệu chọn địa chỉ AS ở mức cao. Trong đa chu kỳ truy nhập (yêu cầu truy nhập lớn hơn 1 chu kỳ xung nhịp mới hoàn thành), Byte_Enable[0:3] chỉ có giá trị trong chu kỳ xung nhịp đầu tiên.

- Data_Write[0:31]: Tín hiệu ghi dữ liệu là tín hiệu từ CPU và chứa dữ liệu để ghi vào bộ nhớ. Nó có giá trị khi tín hiệu chọn địa chỉ AS ở mức cao và không có giá trị trong chu kỳ xung nhịp sau đó tín hiệu Readly đƣợc thử ở mức cao.

- AS: Tín hiệu chọn địa chỉ từ CPU dùng để xác định việc bắt đầu quá trình truyền, quyết định hoạt động của bus địa chỉ và byte_enable. Nó ở mức cao trong chu kỳ xung nhịp đầu tiên, sau đó chuyển xuống mức thấp và duy trì ở mức thấp cho đến khi bắt đầu một quá trình trao đổi mới.

- Read_Strobe: Tín hiệu báo hiệu đọc là tín hiệu từ CPU dùng để báo hiệu sẽ đọc dữ liệu từ RAM. Tín hiệu này ở mức cao trong chu kỳ xung nhịp đầu tiên và duy trì ở mức cao đến khi chu kỳ xung nhịp sau khi tín hiệu Ready ở mức cao.

- Write_Strobe: Tín hiệu báo hiệu ghi dữ liệu là tín hiệu từ CPU dùng báo hiệu sẽ ghi dữ liệu vào RAM. Tín hiệu này ở mức cao trong chu kỳ xung nhịp đầu tiên và duy trì ở mức cao cho đến khi chu kỳ xung nhịp sau khi tín hiệu Readly ở mức cao. Nếu một quá trình ghi mới bắt đầu trong chu kỳ xung nhịp sau khi tín hiệu Readly ở mức cao thì tín hiệu Write_Strobe duy trì ở mức cao.

- Data_Read[0:31]: Bus dữ liệu đọc là tín hiệu vào CPU chứa dữ liệu đọc từ bộ nhớ.

- RAM Ready. Data_Read[0:31]: Có giá trị trên sƣờn lên của xung đồng hồ khi tín hiệu Readly ở mức cao.

- Readly: Tín hiệu Readly là tín hiệu vào CPU dùng để xác định quá trình truyền hiện tại đã hoàn thành và quá trình truyền mới có thể bắt đầu ở chu kỳ xung nhịp tiếp theo. Nó đƣợc lấy mẫu trên sƣờn lên của xung đồng hồ. Tín hiệu này dùng để xác định giá trị cho bus Data_Read[0:31] đối với quá trình đọc, cho bus Data_Write[0:31] đối với quá trình ghi. Khi tín hiệu này ở mức cao, dữ liệu sẽ đƣợc ghi/đọc vào RAM.

- Clk: Tất cả các hoạt động của LMB đƣợc đồng bộ với xung đồng hồ của MicroBlaze.

Một phần của tài liệu Nghiên cứu và triển khai hệ vi xử lý trên cơ sở lõi xử lý MicroBlaze, thử nghiệm ứng dụng trên FPGA (Trang 42 - 43)