naps.cores.cmv12k package

Submodules

naps.cores.cmv12k.cmv12k_rx module

class naps.cores.cmv12k.cmv12k_rx.Cmv12kRx(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

configure_sensor_defaults = driver_method()
elaborate(platform)

naps.cores.cmv12k.cmv12k_spi module

class naps.cores.cmv12k.cmv12k_spi.Cmv12kSpi(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

elaborate(platform)
enable_test_pattern = driver_method()
get_spi = driver_method()
read_reg = driver_method()
set_exposure_value = driver_method()
set_number_frames = driver_method()
set_readout_configuration = driver_method()
set_train_pattern = driver_method()
write_reg = driver_method()
write_regs = driver_method()

naps.cores.cmv12k.pixel_remapper module

class naps.cores.cmv12k.pixel_remapper.Cmv12kPixelRemapper(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

Remaps one output port (if top and bottom outputs of the cmv12k are used, instantiate this twice!) to provide a linear output.

Generally the CMV12000 sends its data out in bursts. The output format of the CMV12000 (and therefore the input for this core) depends on two factors: the number of lanes used and the presence of subsampling / binning. The burst length is described by line_length / n_lanes_per_side so for the non line_lengh of 4096 and 16 lanes per side (the default beta configuration) this equals to a burst_length of 256. One Lane always sends adjacent pixels of bust_length out.

elaborate(platform)

naps.cores.cmv12k.s7_phy module

class naps.cores.cmv12k.s7_phy.Cmv12kPhy(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

elaborate(platform)
class naps.cores.cmv12k.s7_phy.HostTrainer(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

data_alignment = driver_method()
elaborate(platform)
initial_alignment = driver_method()
set_clock_delay = driver_method()
train = driver_method()
validate = driver_method()
class naps.cores.cmv12k.s7_phy.IDelayIncremental(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

elaborate(platform)
class naps.cores.cmv12k.s7_phy.ISerdes(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

elaborate(platform)
class naps.cores.cmv12k.s7_phy.MatchMonitor(*args, src_loc_at=0, **kwargs)

Bases: nmigen.hdl.ir.Elaboratable

elaborate(platform)

Module contents