有一隻猴子拿到了一本 RISC-V 指令集,
於是用 systemC 做出了一個具體而微的 CPU 模擬器。
如果時間允許的話就再加點 ONNC 吧。
進到了系統指令的環節,一樣先參考 RISC-V-TLM 和 exactstep 的做法,恩...一言難盡。 先從指令介紹開始吧! I-type 指令格式如下:...
終於進到 R-type 指令了!指令實作已經有固定流程了,很單純,另外花了一點時間修改昨天的 Exception。 R-type 指令格式如下: |31...
今天一樣是簡單的 AND、OR、XOR指令實作,多出來的時間就來還摸索期留下來的債,讓整個專案變得更完整和容易維護,這次補上 JUMP/BRANCH Excep...
今天一樣是簡單的 SLT、SLTU 指令實作,並為了 Code Stream Logger 做準備,唯一有趣的是遇到 g++ 未實做的 feature 導致編譯...
今天一樣是簡單的 SLL、SRL、SRA 指令實作,再一樣為了 Code Stream Logger 做準備,另外再加碼一個 run 過這份程式的人一定會發現的...
指令的部分終於完結了!今天就來做 Logger 吧,目標是要有一致性和一定程度的可讀性,讓之後的 Code Stream 分析比較輕鬆。 RISC-V I 指令...
之前寫了一個很簡單的 Program Loader,現在就來真正的實作它,讓它能夠把編譯好的程式放到指定位置吧。主要參考對象是我們的老朋友:RISC-V-TLM...
今天就是 Debug 總集篇,前面都是用猴子自己瞎掰設計的 Code Stream 來驗證,這次終於能夠真的執行一個由 gcc 編譯出來的程式了! Debug開...
前兩天猴子先偷偷把之前編完的執行檔拿來驗證,今天來把 Cross Compiler 的部分補完。 有些夥伴沒接觸過嵌入式系統,可能不了解什麼是 Cross Co...
今天我想來點... Hello World!又是快樂 Debug 的好日子呢! 昨天已經把程式跑起來了,但又發現了很多奇怪的事情。HEX Format 每個欄位...