forked from M-Labs/artiq-zynq
frameline: update docs and fn name
This commit is contained in:
parent
f6ad1ee97a
commit
c91202a21e
@ -918,26 +918,23 @@ class Stream2Pixel4x_Converter(Module):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, res_width, count_width):
|
def __init__(self, res_width, count_width):
|
||||||
|
|
||||||
#
|
|
||||||
# 32+8(dchar) 32 4x pixel
|
# 32+8(dchar) 32 4x pixel
|
||||||
# sink ────/────> crc checker ─────> frame header ───/───> eol inserter ─────> 8, 10, 12, 14, 16 bits ───/───> pixel coordinate ─────> 4x pixel with
|
# sink ────/────> crc checker ─────> frame header ───/───> end of line ─────> 8, 10, 12, 14, 16 bits ───/───> pixel coordinate ─────> 4x pixel with
|
||||||
# reader pixel unpacker tracker coordinate
|
# reader marker pixel unpacker tracker xy coordinate
|
||||||
#
|
|
||||||
|
|
||||||
self.submodules.crc_checker = crc_checker = CXPCRC32_Checker()
|
self.submodules.crc_checker = crc_checker = CXPCRC32_Checker()
|
||||||
self.submodules.header_reader = header_reader = Frame_Header_Reader()
|
self.submodules.header_reader = header_reader = Frame_Header_Reader()
|
||||||
|
|
||||||
# Pixel Praser
|
# Mark the word just before new line data with eop for pixel unpacker
|
||||||
self.submodules.formatter = formatter = End_of_line_Marker()
|
self.submodules.eol_marker = eol_marker = End_of_line_Marker()
|
||||||
self.sync += formatter.l_size.eq(header_reader.metadata.l_size)
|
self.sync += eol_marker.l_size.eq(header_reader.metadata.l_size)
|
||||||
self.sink = formatter.sink
|
|
||||||
|
|
||||||
|
self.pipeline = [crc_checker, header_reader, eol_marker]
|
||||||
self.pipeline = [crc_checker, header_reader, formatter]
|
|
||||||
for s, d in zip(self.pipeline, self.pipeline[1:]):
|
for s, d in zip(self.pipeline, self.pipeline[1:]):
|
||||||
self.comb += s.source.connect(d.sink)
|
self.comb += s.source.connect(d.sink)
|
||||||
self.sink = self.pipeline[0].sink
|
self.sink = self.pipeline[0].sink
|
||||||
|
|
||||||
|
# TODO: add docs for each modules
|
||||||
|
|
||||||
unpackers = {}
|
unpackers = {}
|
||||||
for s in [8, 10, 12, 14, 16]:
|
for s in [8, 10, 12, 14, 16]:
|
||||||
@ -960,10 +957,10 @@ class Stream2Pixel4x_Converter(Module):
|
|||||||
self.pixel4x = tracker.pixel4x
|
self.pixel4x = tracker.pixel4x
|
||||||
|
|
||||||
# discard unknown pixel format
|
# discard unknown pixel format
|
||||||
mux_cases = {"default": [formatter.source.ack.eq(1)]}
|
mux_cases = {"default": [eol_marker.source.ack.eq(1)]}
|
||||||
for fmt in pix_fmt:
|
for fmt in pix_fmt:
|
||||||
mux_cases[pix_fmt[fmt]] = [
|
mux_cases[pix_fmt[fmt]] = [
|
||||||
formatter.source.connect(unpackers[fmt].sink),
|
eol_marker.source.connect(unpackers[fmt].sink),
|
||||||
unpackers[fmt].source.connect(tracker.sink),
|
unpackers[fmt].source.connect(tracker.sink),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user