2016-01-28 34 views
-1

基本上我想做的是,我將有一個std_logic_vector進入我的子模塊,並基於該向量的前8位,我想做某些事情。可能用VHDL創建字典型數據結構?

本質上這是一個操作碼。然而,僅僅將此饋送到ALU中將不起作用,因爲我有可變長度指令,也有循環。

例如,我必須是跳轉指令不同字節,一個需要3個週期中,其它4

我想看着輸入向量的第一個字節的方式,和仰視究竟是什麼指令,以便我可以設置不同的值與指令一起使用。

本質上是一個字典或一個LUT與多個答案。

因此,舉例來說,如果第一個字節是 0x54我想看看,看看,這是一個跳,需要4個週期,其直接編輯部地址,和指令的總長度爲6個字節。

有沒有辦法使用字典型結構或LUT來做到這一點?

我試圖合併的指令集是65C816,如果有幫助的話。

回答

1

當密鑰很小時(例如在這種情況下只有8位),則可以直接將密鑰用作內存地址,然後用查找所需的任何結果初始化內存。該查找只需要1個週期,實現起來相當簡單。

對於無法映射到內存查找的長鍵,需要製作複雜的查找機器,例如基於密鑰的散列值和密鑰匹配的最終驗證。這是一個更長的延遲更大的設計。

+0

這太棒了...從ROM獲取指令並使用ROM解碼它們。哇!非常感謝! –