docs: add sampler_readme
This commit is contained in:
26
rtl/sampler/README.md
Normal file
26
rtl/sampler/README.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Сэмплер
|
||||||
|
Модуль выполняет задачу сбора данных с выхода АЦП, их обработку, упаковку, и передачу дальше с помощью AXI Stream интерфейса.
|
||||||
|
|
||||||
|
## Cписок параметров
|
||||||
|
DATA_WIDTH - ширина входных данных, получаемых с АЦП.
|
||||||
|
PACK_FACTOR - количество отсчетов, собираемых в один выходной пакет.
|
||||||
|
PROCESS_MODE - режим интерпретации входного кода. 0 - прямой код, 1 - дополнительный код.
|
||||||
|
|
||||||
|
## Список входных портов
|
||||||
|
clk_in - сигнал тактирования выходного интерфейса.
|
||||||
|
rst - сброс модуля и остановка подачи импульсов.
|
||||||
|
[DATA_WIDTH-1:0] data_in - входной сигнал с АЦП.
|
||||||
|
out_of_range - флаг выхода значений данных за допустимый диапазон. 0 - валидны, 1 - не валидны.
|
||||||
|
|
||||||
|
## Список выходных портов
|
||||||
|
[DATA_WIDTH*PACK_FACTOR-1:0] m_axis_tdata - урезанный axis формат, выходные данные. Ширина шины считается исходя из битности данных и фактора упаковки.
|
||||||
|
m_axis_tvalid - урезанный axis формат, валидность выходных данных.
|
||||||
|
|
||||||
|
## Логика работы
|
||||||
|
На каждом такте принимаются data_in (значение АЦП) и out_of_range (флаг выхода значений данных за допустимый диапазон). Если out_of_range = 1, то данные игнорируются и не попадают во внутренний буффер. В противном случае, модуль накапливает данные во внутреннем буффере, идет его заполнение до количества данных, равное PACK_FACTOR. Когда буффер оказывается заполненным, он выдает пакет упакованных данных, сопровождая их импульсом m_axis_tvalid (готовность пакета). Если PROCESS_MODE = 1, данные выдаются в дополнительном коде, если PROCESS_MODE = 0 - в прямом.
|
||||||
|
|
||||||
|
## Симуляция
|
||||||
|
Тесты запускаются автоматически через make.
|
||||||
|
```cd tests
|
||||||
|
make sim```
|
||||||
|
При успешном завершении теста высвечивается "ALL PASSED".
|
||||||
Reference in New Issue
Block a user