# Lab 1 --- 透過VM 使用vitis hls 設計出乘法器ip並export到vivado接線並生成bitstream,load到pynq上執行並成功得到相對應結果。 --- # Lab 2 --- 實作FIR filter 用MAXI和Stream兩個interface實作,介紹了在vitis hls中設定interface的方法,還多了kv260的FPGA板子的設定和如何運作。 --- # Lab3 --- lab3是要寫verilog code ,而實作的design也是FIR11,主要的module是testbench、FIR和兩個SRAM,SRAM分別是tape和input data,透過testbench傳到FIR,再將data傳到SRAM存放,因為FIR的design裡面只能包含一個MUL和一個ADD,之間的interface如下:  左側還要再加上 testbench 的 block。 在lab3上花的時間是目前的lab中花最久的,主要是卡在data和cofficient的傳遞,因為要先送到fir design再傳到bram去存放,而且在fir裡也不能用register存放,所以才會有比較多的問題產生,但最後還是有在時間內繳交作業,但是performance的部分就不是到很好。 --- # Lab4-1 --- 在lab4-1主要是把firmware從spi-flash讀到user bram裡面存放,主要的目的是想減少讀取firmware的時間,主要的設計就是把wishbone和bram之間的handshake建構起來。 --- # lab4-2 --- lab4-2主要是將4-1設計出來的ex-mem再配上lab3的fir,兩者結合再加上一個address decode的module,從wishbone讀進來的address分成兩條路,分別讀進fir或是firmware,當初一直找不到卡住的原因,後來才發現原來是沒有處理到wb_ack_o這個信號,所以一直卡住值到timeout,解決之後也就順利繳交作業了。 --- # lab5 --- lab5的部分主要是去了解整個design和各個ip,去了解他們之間的關係,也是目前lab之中一個比較晚整的設計,simulation上就只是照著指令跑而已,主要是透過block design去了解整個運作,搭配上講義和助教的講解,對於了解整個lab5是相當有幫助的。 --- # lab6 --- 在lab6的部分,主要是將4種firmware整合起來並用FPGA實作,類似於4-2的部分是,也是要做decode,一部分是uart,一部分是ex-mem,在一開始在整合的時候,可能對於整個架構不是太了解,在user project的部分有點搞混了,搭配上uart的design,module之間的實例化就有點複雜,在不斷的try and error之後就有成功跑出結果了,不過不知道為什麼在整合過後的uart在jupyter notebook一直print出亂碼,hello的h看起來像越南字的ũ,但是在單獨uart的實作上是可以正常print hello,我看討論區也有其他同學遇到問題,嘗試了一些方法後還是有點怪怪的,但是剩下的character都正常,也因為時間不多了就先整理好做成報告繳交了。 --- ## labD --- labD的部分沒有花太多時間做,因為時間有限加上final project也同步進行,我們有制定出prefetch scheme ,bank interleave的部分也有設計好,wishbone的decode到不同的bank也有做設計,但不幸的是最後跑模擬的時候還是有一些bug,導致結果錯誤,所以就把我們有做的部分寫成report,並把source code上傳到github。 --- # Final project final project的部分我們這組是做uart加上fifo的優化,最後實作出來看的出來因為有fifo的緣故,讓每一筆data傳出去的時間有重疊的部分,所以整體傳送完的時間大幅度的降低,也有implement到FPGA上作驗證,也是有成功輸出結果的。 --- # Github link ## lab1 ~ lab4-1 https://github.com/sssh311318/nthu_SoC ## lab4-2 https://github.com/thhongee/SoC_lab4_2 ## lab6 https://github.com/thhongee/SoC_Lab_06 ## labD https://github.com/thhongee/SoC_LabD_SDRAM ## final project https://github.com/thhongee/SoC_fINAL ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up