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