【IC前端虛擬項目】數據搬運指令處理模塊前端實現虛擬項目說明-CSDN博客
需要說明一下的是,在我所提供的文檔體系里,并沒有模塊的DS文檔哈,因為實際項目里我也不怎么寫DS畢竟不是每個公司都和HISI一樣對文檔要求這么嚴格的。不過作為一個培訓的虛擬項目,還是建議在時間充裕的情況下動手寫一寫模塊的DS,畢竟是有助于代碼開發的。
inst_buffer模塊是專門用來處理指令接收和指令提交的,看一下他在整個系統中的位置:
模塊的功能也是相對比較簡單的:1.接收指令;2.拆分為讀寫指令下發;3.匯總指令執行狀態;4.提交指令。因此在編寫這個模塊之前呢,可以先花些時間了解下處理器中關于指令的順序下發、亂序執行、順序提交、多發射等背景。當然了,因為這個模塊本身很簡單,所以直接上手寫也是完全沒有問題的。
我自己所設計的inst_buffer結構是這樣的:
后面我在優化面積的時候發現這兩個fifo其實是可以省掉的,所以大家在自己做的時候可以嘗試去優化這里。結構的核心部分是一個8項深的cmt_bu