--- tags: RISCV, 伴學松, 伴學松活動記錄 --- # 從0到有製作自己的CPU!! 第九周活動記錄 20220901 [TOC] # 直播紀錄連結 {%youtube _ZFo8ugmpkw %} {%youtube snE1MK4NfR0 %} ## 出席 - [x] KIM_WENG - [x] 名名 - [ ] chuan - [x] bill503084699 - [ ] 楓糖 - [x] 謝祥辰 - [x] 黑貓 - [x] sixkwnp - [ ] Bonki - [x] ouo314 - [x] Willwho - [ ] GYLABA - [x] mikuthebest - [x] Penquuin - [x] 葉子 - [ ] painCake - [ ] EZ4ENCE - [ ] 頂漿汗腺 - [ ] 角角 - [ ] adam chen # 討論內容 1. willwho用vivado寫好cpu再跑波形 2. 寫data memory(vivado) 3. kim講解挑戰者問題 # 作業 1. 剩餘data memory code # 討論重點 1. vivado實做 2. 剩餘燒入fpga理論講解(kim) 3. 剩餘willwho大大實做 ## 點子 / 撇步 - willwho實做code [name=willwho] - 列出wire接線 [name=willwho] - 寫data memory [name=willwho] - 列出input output - op dm_addr dm_data - data memory掛在外面 control [name=willwho] - FPGA 裡頭的st ram跑 - 因此要額外寫?因此只有write enable we [name=willwho] - dop設計幾個bype去function3包出去 [name=willwho,kim] - 模擬fpi flash做法可是verilog risc v好像沒有語法可以不能inputoutput雙向 [name=willwho] - 我們要有兩個記憶體 instrom datarom(fpiflash) 哈佛架構,但他們最後只會存在一個架構,e.2硬碟(flash非揮發硬碟)ddr(sdi rom) ,不會揮發的關機都還在(flash模擬電腦硬碟),ddr(揮發硬碟),os裝在那一槽(c槽磁碟),作業系統用c ability code存在flash memory裡面有載入器 最底下bis(最高級的東西),用xpu讀載入bis的code,再用jump指令,我們的cpu以為讀到兩個memory,但改良的哈佛架構會造成cpu只會讀到一個memory,amd intel 下面非control rv32i 南喬北喬都合進cpu裡面,如果通過匯流排的話會不會改掉 ? kim:不會是os? [name=kim] - os會分配在這些位置,memory lloc,剩下靜態變數,強行用 micro control可以把指令改掉,最後靠os安全協議再擋掉,用audino 寫?,映射的工作交給匯流排 讀stio flash [name=willwho] - opencode匯流排交給opencode [name=willwho] - 我們的os把我們的memory分成好幾塊,r c 分成好幾億程式碼斷 靜態變數存在外面,c存在memory 存在stay interger compiler 存stake ,額外分配一個記憶體放進去(heap),如果你不能碰到淺藍色綠色 咖啡色,os的保護條款,address改到不能改的地方,他會把它攔截下來做處理,我們會把放程式的跟放data分開來擺,另一個情況不會改 區域變 靜態變數? [name=kim] - absaberly code沒有體現沒有通過aw指令去做而是 它不是通過data定義五個值但直接就有了, 都有max same 問題就是代碼沒執行,輸出就出現了,最一開始的code [name=tom] - 有點類似程式常數 data像是程式中常數存在程式中特定的位置,直接來用,memroy相關的區隔同個cpu不同系統都會不一樣,cpu寫者系統開發者都會不一樣,data sation 都定義好了,位置都已經定義好了,都已經進去了,cpu再進去 [name=willeho bridan] - 304付個光碟軟體燒code再裡面,可以負責absaberlycode(燒作業系統)載入flash裡面載,開發版要有一個地方可以寫我們的cpu ,載作業系統,等我們flash有code再燒cpu code就可以燒instrution memory code,cpu要讀哪我們flash一定要有指令,不然cpu收不到指令會空的 [name=willwho,kim] - arduino燒錄bootloader的概念? - 我們還要插一個usb把code灌入flash硬碟裡面cpu沒有byles ,rtos code寫成absaberly code,包刮剛才的匯流排那些將instrution memory code燒進 flash [name=willwho,kim] - Sarlat 一個adrees還要看 做決定 - write 一個byte ,讀的話一口氣讀出來,4個bank,如果只有一個byte前面補0,不……我放棄請看直播 [name=willwho,kim] - 以前我在寫韌體方面abersabera 主要寫到8 16 bit 因為我們這邊所我的資料架設我們8bitcpu擷取8bit 資料但我們沒有8bit都沒有全部資料,擷取8bit某一個bit 像我們再寫abersabercode 寫我們不要的bit 我們再compaerbit裡頭十之一個0,lod看不管指令都是輸出,應該是讀32個bitlod應該是這樣做,saf要怎麼做,braidan 擷取摸一個memory 8bit 想要從右邊bit為0bit到過來想要用地五個bit那cpu有特地abesabera可以用,一次再clk可能 d rom…筆者放棄,datamemory 有124三種可能我們只有一個clk的時間,抓去32個bit資料但只要其中一個bit只要1到21到4讀取到寫 ,不像8個bit,同一個clk一要處理clk,假設取用一個byte , mcu先lod再存取 ## 聊天室連結 1. https://www.youtube.com/watch?v=_ZFo8ugmpkw 2. https://gitmind.com/app/doc/fd312032746 3. https://www.youtube.com/watch?v=_ZFo8ugmpkw 4. https://blog.minexo79.club/2022/07/17/halfyear-update/#FPGA-amp-AI ### kim給的檔案 1. (https://discord.com/channels/838422912507052062/981943351731454023/1014882807098646638) 2. willwho https://discord.com/channels/838422912507052062/981943351731454023/1014911874795577345 ### 聊天室圖片 ![](https://i.imgur.com/847by0B.png) ![](https://i.imgur.com/EU0bQc9.png) ![](https://i.imgur.com/i6L8sda.png) ![](https://i.imgur.com/Je5PwyG.png) ### 聊天室內容 ![](https://i.imgur.com/Ra5ITT7.jpg) ![](https://i.imgur.com/pggoyok.jpg) ![](https://i.imgur.com/W3h5i0o.jpg) ![](https://i.imgur.com/WB2xDrx.jpg) ![](https://i.imgur.com/AyoLRby.jpg) ![](https://i.imgur.com/Zouk554.jpg) ![](https://i.imgur.com/er567x7.jpg) ![](https://i.imgur.com/MGDKsVQ.jpg) ![](https://i.imgur.com/vYkADJG.jpg) ![](https://i.imgur.com/pofxB0f.jpg) ![](https://i.imgur.com/RgkxhaJ.jpg) > []![](https://i.imgur.com/Ja6mjr0.jpg) > ![](https://i.imgur.com/liehTxw.png)