日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

流水线cpu —Verilog HDL

發布時間:2024/3/24 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流水线cpu —Verilog HDL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.準備工作

先看看書(《計算機原理與設計 Verilog HDL版》),搞懂一點原理。然后照著書上的代碼寫一寫(用8.4的就可以了,不用8.6的)。

注意mux2x32,mux4,cla32等可以用單周期的mux,alu。 (cla32就是個加法器,)

然后dffe32在書上前幾章也有。

pipeimem即為im指令存儲器,可以套用單周期的IM。

pipemem是數據存儲器,可以套用單周期的dm

regfile 可以套用單周期的RF。

?

alu可以完全套用單周期的alu。pipecu中的aluc,rij型的wire,以及wreg中的一部分都可以套用單周期的代碼。只是注意要調整好,不要多寫,少寫,導致錯誤。(我犯過錯誤就是,alu的功能與pipecu的aluc不一致,少寫了一些東西,導致數據讀入都出問題。)

需要理解流水線cpu的各種問題及解決對策。

比如lw指令從memory讀到register,在mem級才可以前推(forward)到id級,這樣如果下一條指令要用到寄存器的 結果,需要阻塞(stall)一周期,否則已經進入了exe級了而書上示例的cpu只能forward到id級。

這里補充一點,用了8.4的代碼,然后為了消除控制冒險,要在mars的測試文件(.asm)中,每一條J型指令后加一個nop。這里是因為看8.2.2,采用了延遲槽技術,i指令是跳轉類指令,i+1無論如何都會被執行。(提前到在ID級判斷是否要跳轉),這里加nop,剛好取代了i+1。

二.調整接口&&細節調整

寫完代碼,modelsim編譯成功。(或者有問題,按照transcript的提升改一改)。

然后start simulation、

?

?

?

?

simulation失敗,提升error loading design。

error loading design的原因基本上是:模塊名錯誤(定義的和使用的。),參數錯誤(接口錯誤,比如參數順序不一致,參數寬度不一致)

注意網上看error loading design很多都說沒有提示,這是誤導了。(導致我自己不看提示改了一天,雖然確實也改好了一些吧)確實提示不多,但是modelsim transricpt 在start simulation 后也會有一些error提示的

Error: (vsim-3043) E:/pipe3/pipelinecomp_tb.v(55): Unresolved reference to 'ID' in U_SCCOMP.U_SCPU.ID.

這個就提示ID不知道是啥。

然后我看了一下pipelinecpu中,pipeid 起名id_stage ,而不是ID。把ID改成id_stage就完事了

?

調整接口很困難(對我來說)。要細心。

?

比如clrn就是rest等等,需要理解后替換。

比如因為仍然使用了單周期的頂層例化文件,comp中cpu模塊只有一個aluout的例化,那么就不能按照8.4的代碼在module cpu里ealu,malu,walu三個輸出。其中walu,ealu改為wire型。malu改名為aluout,仍保留為輸出。

還有pipemem(即為DM,data'memory)因為在comp中例化,就不需要像8.4中一樣在module pipelinecpu中使用了。

?

還有許多細節,需要自己摸索。

?

三.效果

還是學號排序,應該是成功了

放錯圖了

?這是mars setting momeryconfiguration text at address,然后assemble,然后dump的結果。


正確的圖

先設置mars setting momeryconfiguration data at address,assemble,不要運行,dump,然后仿真的結果

單周期的時候也是這么設置的,一開始忘記了...

?


?

轉載于:https://www.cnblogs.com/lqerio/p/11117618.html

總結

以上是生活随笔為你收集整理的流水线cpu —Verilog HDL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。