在32位CPU中Load Aligner模塊數(shù)據(jù)通道的設計與實現(xiàn)
以上是Load Aligner模塊數(shù)據(jù)通道部分的設計。它還需要有控制模塊來產(chǎn)生上述控制信號,此外由于任何一個控制信號都要驅(qū)動數(shù)據(jù)通道子模塊中的32個cell,所以還要有一個驅(qū)動模塊來使控制信號有足夠的驅(qū)動能力。由以上分析,整個Load Aligner模塊的框圖如圖2所示。其中,控制模塊采用自動布局布線生成,而驅(qū)動模塊和數(shù)據(jù)通道模塊均采用全定制設計。
功能驗證
對此模塊的RTL代碼和所設計的電路分別進行了功能驗證。設從DCACHE取出的32位數(shù)據(jù)用十六進制表示為AABBCCDD,對表3中的所有指令進行測試。圖3所示的波形圖就是依次測試指令LW、LH00、LHU00、LH10、LHU10、LB00、LBU00、LB01、LBU01、LB10等的結(jié)果。可以看出,結(jié)果與表3完全吻合。說明所設計的電路滿足設計目標,可以實現(xiàn)所要求的所有指令。
電路仿真
根據(jù)圖1可以看出,從符號選擇信號Sandz4:0>到輸出的路徑為最長路徑,我們選取這條路徑進行仿真,并考慮在0.18μm時線電阻電容對時延的影響,用Hspice確定了所需器件的尺寸。仿真結(jié)果如圖4所示。上升時時延為0.52ns,下降時時延為0.47ns,均滿足小于0.7ns 的要求。
結(jié)論
在CPU中,Load Aligner模塊是DCACHE和數(shù)據(jù)通道之間的接口。從DCACHE中取出的數(shù)據(jù)只有通過Load Aligner模塊重新排序,才能進入CPU的數(shù)據(jù)通道。在設計中應用了自上而下的設計方法,所設計的電路實現(xiàn)了所有的指令,在時延上也達到了設計目標。
評論