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.