---
# System prepended metadata

title: SOC LAB3 - Verilog 實作 FIR (vivado)

---

# SOC LAB3 Verilog 實作 FIR (vivado)
## 設計架構
### 1.Communication protocol
1. AXI-LITE
2. AXI-STREAM
3. AP_START、AP_IDEL、AP_DONE(HLS)


## SOC LAB3 背景知識
###  FIR 架構
![image](https://hackmd.io/_uploads/S1njldeLT.png)
#### Function specification
> y[t]=Σ(h[i]∗x[t-i])
#### **條件:**
1. 一個multipler + 一個adder
2. Data 放入SRAM(shift_ram、Data ram) 注意不是register implement
3. coefficient 放入SRAM(tap ram)



#### **特別注意:**
* 2~3 都要放入SRAM(若用register 可快速的直接算出無法達到本實驗目的利用**SRAM-Protocol**)
* SRAM of Data 是一個shift_ram，因此implement 是一個**FIFO**，但是SRAM不可直接執行shift，使用"**Pointer" read & write**"，並且必須確認其"**coefficient 對應位址**"
 
#### **係數及溝通介面:**
* Data_Width 32
* Tape_Num 11
* Data_Nun XX
* Communication Interface
[1] data_in (Xn): stream
[2] data_out(Yn): stream
[3] coef[Tape_Num-1:0]: axi-lite
[4] length: stream
[5] ap_start: axi-lite
[6] ap_done: axi-lite

##  FIFO(First In First Out) 架構
參考 https://www.youtube.com/watch?v=RpcK_JYqDvU
參考 https://hackmd.io/Nng59nkrTY2hIqxXUWy9lg

### 我的運算筆記
![image](https://hackmd.io/_uploads/Sk8H95Ru6.png)  
![image](https://hackmd.io/_uploads/HJ0rqqAOa.png)   
![image](https://hackmd.io/_uploads/BkOLqqAup.png)  
![image](https://hackmd.io/_uploads/BJgv55ROT.png)






