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