# [SOC] LAB_FIR ## :beginner: Design Info :small_blue_diamond:Design Name: FIR :small_blue_diamond:Author: Hsuan Jung ,LO :small_blue_diamond: Contents: - [ ] Structure - [ ] Waveform - [ ] Simulation ## :wrench: STRUCTURE ![IMG_0095](https://hackmd.io/_uploads/SyW0toI2kg.jpg) AXI-STREAM interface : 32-bit data_buffer 、1-bit buffer_valid 、1-bit ss_last buffer、 5-bit input_pointer AXI-STREAM interface: ***** ## :wrench: AXI-LITE INTERFACE For FIR engine setting(follow belows address). | **Address** | **name** | ... | |---------- |---------- |---------- | |0X00 | FIR state |[0]:(Start)/ [1]:Done / [2]:Iddle |0X10 |Data Length|Number of Data(Input X) |0X14 |Tap numbers|Number of Tap Parameter(Coefficient h) |0X80-0X7F |Tap Parameter|Coefficient h :small_blue_diamond: Writing structure: ![IMG_0085](https://hackmd.io/_uploads/Byqn2883Jl.jpg) :small_blue_diamond: Writing waveform : ![IMG_1516](https://hackmd.io/_uploads/HyZK2PLhJg.jpg) :small_blue_diamond: Reading structure : ![IMG_0088](https://hackmd.io/_uploads/S1SWWv8n1x.jpg) :small_blue_diamond: Reading waveform : ![IMG_1520](https://hackmd.io/_uploads/HyPZGo8hJg.jpg) :::warning Can't read Tap parameter (0X80-0X7F) when FIR engine is running, but Configuration read is OK (0X00-0X14). ::: :::warning Can't change these sets when FIR engine is running . ::: ***** ## :wrench: AXI-STREAM INTERFACE (Data Input) :small_blue_diamond: Structure: ![IMG_0094](https://hackmd.io/_uploads/SyguqFiUnyl.jpg) :small_blue_diamond: Writing waveform : ![IMG_0089](https://hackmd.io/_uploads/BkTcMjL21x.jpg) ***** ## :wrench: FIR engine (Data process) :small_blue_diamond: Structure: ![IMG_0097](https://hackmd.io/_uploads/HkE7CoI2yg.jpg) ![IMG_0098](https://hackmd.io/_uploads/HkjUJ3IhJl.jpg) :small_blue_diamond: Waveform: ![image](https://hackmd.io/_uploads/H1XTWp8akl.png) ***** ## :blush: Simulation ![image](https://hackmd.io/_uploads/Hyxul2LhJl.png)