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