---
# System prepended metadata

title: 從0到有製作自己的CPU！！ 第八周活動記錄 20220825
tags: [' 伴學松', ' 伴學松活動記錄', RISCV]

---

---
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)







