--- tags: RISCV, 伴學松, 伴學松活動記錄 --- # 從0到有製作自己的CPU!! 第八周活動記錄 20220825 [TOC] # 直播紀錄連結 {%youtube WY0BWLudj64%} ## 出席 - [x] KIM_WENG - [x] 名名 - [ ] chuan - [x] bill503084699 - [ ] 楓糖 - [x] 謝祥辰 - [x] 黑貓 - [x] sixkwnp - [ ] Bonki - [x] ouo314 - [x] Willwho - [ ] GYLABA - [x] mikuthebest - [x] Penquuin - [x] 葉子 - [ ] painCake - [ ] EZ4ENCE - [ ] 頂漿汗腺 - [x] 角角 - [ ] adam chen # 討論內容 1. 兩位新學友自我介紹 2. 黑貓活動介紹 cpu 3. jmp 實作 4. 黑貓額外補充 5. willwho補充 # 架構圖 1. 之前的加構圖 ![之前的](https://i.imgur.com/7RUQCIQ.png) 2. 今天的 ![](https://i.imgur.com/lkF830L.jpg) # 本周作業 1. jump跟branch統整 2. vivado統整跑電波圖 # 討論重點 1. 跟新人介紹 2. jump branch架構統整 3. vivado跑code 4. 下週進度 branch register選擇器跟 那個右上方的多工器 5. git 伴伴學補充 # 連結 1. http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf 2. http://www.pynq.io/ 3. https://github.com/accomdemy/accomdemy_rv32i 4. https://desktop.github.com/ 5. 我用python写了一个executable code转hex ram的脚本,搬码就方便很多了,或者下次可以把代码发给我,我直接转了发上来。 https://github.com/375432636/risev_executable_code_to_hex 6. https://www.infineon.com/cms/en/product/evaluation-boards/kit_aurix_tc275_ard_sb/ ## 點子 / 撇步 - 接角的命名跟對照圖片比較正確(跟星期二比較起來) [name=第一組] - 黑貓翻risc v的書籍(rv32i標準) [name=第一組] - 都用組語寫(大陸),台灣是c語言? [name=第一組] - 跑示波圖 [name=黑貓] - jalr(i type)不管pc pce要disable? [name=第一組] - 看報錯的 log 找 error [name=第一組] - 介紹伴伴學 Github Organization [name=第一組] - 我用python写了一个executable code转hex ram的脚本,搬码就方便很多了,或者下次可以把代码发给我,我直接转了发上来。 (https://github.com/375432636/risev_executable_code_to_hex) [name=tom] - 我們還在手打還沒到hey ram by willwho [name=第一組] - jump 完了branch [name=第一組] - 臨床救援branch部份 [name=willwho] - 拿reg reg2 拿到branch 去運算,包含alu跟register [name=willwho] - 進branch reg reg2 rd關掉 pc 跟imm要解讀 至少要四個參數,把兩個register數值丟進來branch去做子運算,它跟alu很想,都是加減平移,01對調小於大於等於,把register 數值丟進來做比較在有沒有要branch的結果控制branch的多工器在alu上面,是要看imm跟pc,看branch code rs1 rs2互相比較 imm pc,imm跟pc相加branch有要?但branch沒有要就是要相加4再平移 [name=willwho] - jump就是enable的branch [name=kim] - jump的時候存進register是 [name=wiklwho] - 左邊要同時被jump跟branch控制,pc的input要同時被jump跟enable同時控制 [name=第一組] - jump要先進來or再comdition [name=第一組] - mosk二選一的modulation要改要(?) [name=第一組] - 照這樣code要修正 [name=第一組] - branch enable要再加 [name=第一組] - 架構圖要再加branch跟branch enable [name=willwho] - branch enable可以額外拉再cpu外面少一個input [name=kim] - 把組語並進pc 多一個or選擇或是寫code怎麼分模塊,分進去或是分出來一樣的意思 [name=willwho] - 最快的方法branch enable塞進pc [name=willwho] - pc是向外傳遞但pc max - jump會把pc pc加4把左邊並進去jump會把pc max存進裡面 [name=willwho] - rd pc+4 要寫上面那一條連進register [name=willwho] - 接下來branch跟 register選擇器跟data memory上面的多工器 [name=willwho] - vivado實做(我懶請看yt) [name=willwho] - 伴伴學github實做通知 [name=willwho] - branch 要把data1跟2拉出來進…… [name=willwho] - 今天的架構圖 [name=黑貓] ## 聊天室紀錄 ![](https://i.imgur.com/NFdaZIZ.jpg) ![](https://i.imgur.com/NICkk66.jpg) ![](https://i.imgur.com/UkIMuYF.jpg) ![](https://i.imgur.com/ck9mHBF.jpg) ![](https://i.imgur.com/IDGW3nn.jpg) ![](https://i.imgur.com/9IHKTSa.jpg) ![](https://i.imgur.com/QLLNOpT.jpg) ![](https://i.imgur.com/kR8vKZM.jpg) ![](https://i.imgur.com/MlDVlTh.jpg) ![](https://i.imgur.com/pZ2Zorz.jpg) ![](https://i.imgur.com/IM7Z6Lq.jpg) ![](https://i.imgur.com/RBXdTew.jpg) ![](https://i.imgur.com/rPUUGGj.jpg) ![](https://i.imgur.com/42Ca0n5.png) ![](https://i.imgur.com/VhJA9oh.jpg)