ThresholdLocal
Modified by 2015.06.01
Design
ThresholdLocal
Version
1.0
Modified
2015-05-22
Source
IP-GUI
Function
Local thresholding by Threshold from filters.
It will give the first output after 1 cycle while the tow input both enable.
ref_enable must enable after in_enable !
Files
Name | Function |
---|---|
ThresholdLocal.v | Main module |
ThresholdLocal_TB.sv | Test bench |
Parameters
Name | Type | Range | Default | Description |
---|---|---|---|---|
work_mode | unsigned | 0 for Pipeline, 1 for Req-ack | 0 | This module's working mode. |
in_window_width | unsigned | 1 - 15 | 1 | The width(and height) of input window, if input is not a window, set it to 1. |
color_width | unsigned | 1 - 12 | 8 | Color's bit width. |
max_delay | unsigned | None | 8 | The possible max cycles from in_enable to ref_enable. |
max_delay_bits | unsigned | Depend on max delay | 4 | Width bits of max delay. |
Ports
Name | Port | Type | Range | Default | Description |
---|---|---|---|---|---|
clk | input | unsigned | None | None | Clock. |
rst_n | input | unsigned | None | None | Reset, active low. |
in_enable | input | unsigned | None | None | Filter's rank, if half of full size of window, this module working as median filter, etc. |
in_data | input | unsigned | color_width * in_window_width * in_window_width - 1 : 0 | None | Input data, it must be synchronous with in_enable. |
ref_enable | input | unsigned | None | None | Threshold enable. |
ref_data | input | unsigned | color_width - 1 : 0 | None | Threshold, used as threshold for thresholding, it must be synchronous with ref_enable. |
out_ready | output | unsigned | None | None | Output data ready, in both two mode, it will be high while the out_data can be read. |
out_data | output | unsigned | None | None | Output data, it will be synchronous with out_ready. |
Simulations
Simulations for this module just support Gray-scale images !
Waves
Pipeline mode
![Pipeline mode](http://src.dtysky.moe/image/f-i-l/3/12/2.png)
ReqAck mode
![ReqAck mode](http://src.dtysky.moe/image/f-i-l/3/12/3.png)
Original
![Original](http://src.dtysky.moe/image/f-i-l/3/12/5.png)
Results
![Results](http://src.dtysky.moe/image/f-i-l/3/12/6.bmp)
HDL functional simulation for pipeline mode is on the left, for req-ack mode is on the middle, and which on the right is the soft simulation
![Results](http://src.dtysky.moe/image/f-i-l/3/12/7.png)
Source from MeanFilter, left for 3x3 window, right for 5x5 window
![Results](http://src.dtysky.moe/image/f-i-l/3/12/8.png)
Source from MidFilter, left for 3x3 window, right for 5x5 window
![Results](http://src.dtysky.moe/image/f-i-l/3/12/9.png)
For 11x11 window, left from MeanFilter, right from MidFilter
PSNR
1-3-mean | 1-3-mid | 1-5-mean | 1-5-mid | 2-3-mean | 2-3-mid | 2-5-mean | 2-5-mid | Total |
---|---|---|---|---|---|---|---|---|
1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 |
Utilization
For 3x3 window.
Slice LUTs* | Slice Registers |
---|---|
39 | 70 |
Timing
For 3x3 window.
The max Data Path Delay is 3.187ns, so:
FMax = 313.77MHz
Thanks
The sources of images for simulations:
H2SO4-蝶
パセリ-Favour