---
# System prepended metadata

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

---

---
tags: RISCV, 伴學松, 伴學松活動記錄
---
# 從0到有製作自己的CPU！！ 第二周活動記錄 20220714

[TOC]

# 直播紀錄連結
{%youtube uQvE3QhV9pw %}
{%youtube AXw74hjSbIU %}
{%youtube zkENO2S0F3s %}

## 出席
- [x] KIM_WENG
- [x] 名名
- [x] chuan
- [x] bill503084699
- [x] 楓糖
- [x] 謝祥辰
- [x] 黑貓
- [x] sixkwnp
- [ ] Bonki
- [x] ouo314
- [x] Willwho
- [ ] GYLABA
- [x] mikuthebest
- [x] Penquuin
- [x] 葉子
- [x] painCake
- [x] EZ4ENCE
- [x] 頂漿汗腺
- [ ] 角角
- [ ] adam chen

# 討論內容
1. 帶各位操作Vivado，與認識Verilog語法
[name=名名]
2. 結束ALU單元
3. 討論下週分享主題 
[name=黑貓]

# 本周作業
1. 預習 RV32I 基礎指令（[中文版](http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf)/[英文版](https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf)）。
2. 每一組認領一個 RiscV 的類型，並找到該類型內每個指令的機器碼。
3. 把指令格式[填入表內](https://docs.google.com/spreadsheets/d/1k-DeZejcipB2Utys6GRMN3CXCmZ4dbDCHbeya-I1Hhs/edit?usp=sharing)。


# 討論重點
1. Vivado & Verilog 基礎操作
    - 新建Vivado project 
    - 將檔案加入至專案檔
    - 撰寫ALU的電路程式碼
    - 合成
    - 撰寫Testbench程式碼
    - 模擬
2. 下周第二組講[RV32i](https://github.com/cisen/32bit_RISC-V), Decode
    - 禮拜二帶觀念，禮拜四實作
3. 預習[RiscV指令集](https://tclin914.github.io/categories/RISC-V/)及手冊

## 點子 / 撇步
- 儲存完檔案後，要等source的Updete Process跑完再操作，不然檔案會跑掉。
[name=黑貓]
- `timescale 1ns/1nd`
    - 一個是時間精度，一個是單位長
- 分子不能大於分母
    - 時間精度不能比時間單位長還要大
[name=kim]
- 簡單來說精度是一個單位的個位數最小值
    - 1000 精度是 0，1000.1 精度是 0.1
[name=bridan]


## 討論內容
- 冒號忘記加：`3'b001: y=a+b`
> [name=ez4ence]
- op是你們自己制定的
> [name=天璇]
- 如果宣告沒縮排沒怎麼樣，天璇補充有縮排可以寫註解，還能用註解Pipe Stage
> [name=謝祥辰]
- 重宣告輸入輸出
> [name=Kim]
- initial語法
> [name=Kim]
- always(posedge) begin沒看過，kim也沒看過
> [name=天璇]
- 不用加clock語法
> [name=Kim,天璇]
- 照著黑貓程式一起寫
> [name=Kim]
- 看波形
> [name=Kim]
- 所以在initial block跟 always block 裡都會循序執行嗎?
> [name=DCTime]
- opcode跑到4了
> [name= kim ]
- casebage？要寫滿，以業界而言
> [name=Kim,天璇]
- 溢位，overflow 
- 天璇 本篇7,8
- 進階 lisk 5 overflow csr piperline通通處理掉
> [name= kim,天璇 ]
- 上周回顧，9:30alu的單元結束，接下來下週單元主題
- 第二組下週教registers
> [name= 黑貓 ]
- 要在remodel 還是 register
> [name= willwho ]
- 數據前規 ？
> [name= kim ]
- 下禮拜直接講程式碼會炸掉
- risc 5的code還沒學
> [name= willwho ]
- decode會牽扯到RiscV的語法
> [name=Willwho]
- 筆記寫得詳細一點？
> [name= bill ]
- datamemoy呢 dctime
- 太難，要後面再教
> [name= dctime，黑貓，kim，天璇]
- 正在組mcu，包含rom ram sr cpu ,把這個當桌遊來看，表格,比較好理解
> [name= bridan ]
- riscv ISA是decode的背景知識
> [name= 天璇 ]
- rv32i 跟decode教學，用專案去學
- 用cisen寫得專案拿來教
- bill 說是不是要先預習risc v
- rv32i指令
- 這周alu結束
- 下週decode單元
- 用表讀的方式下去學習
>[name= 黑貓]
- 盡量往risv32退
- verilog當作結束
>[name＝ willwho]
- 當組合語言教
[name=黑貓，天璇]



