temp: update notes

temp: add build gw script

temp: update notes
This commit is contained in:
morgan 2025-01-28 17:47:59 +08:00
parent e09840e1d0
commit 553942232d
2 changed files with 33 additions and 18 deletions

4
build_gw.sh Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -e
python src/gateware/zc706.py -r build/pl.rs -c build/rustc-cfg -m build/mem.rs -V CXP_Demo -g build/gateware/

View File

@ -24,6 +24,7 @@
[x] follow DRTIO DMA [x] follow DRTIO DMA
[x] check crc [x] check crc
[x] GTX Multilane setup [x] GTX Multilane setup
[x] add tx/rx mode for gtx
- Camera boostrap - Camera boostrap
[x] get the CXP version [x] get the CXP version
[x] test connection [x] test connection
@ -32,6 +33,11 @@
- Camera frame pipeline - Camera frame pipeline
[x] CXP frame packet routing (maybe no need to routing non zero streaming id (we have ROI buildin anyways)?) [x] CXP frame packet routing (maybe no need to routing non zero streaming id (we have ROI buildin anyways)?)
[x] CXP CRC32 detection [x] CXP CRC32 detection
[x] Region of interest engine (32 bits mode)
[x] pixel gearbox
[x] pixel parser (xy pos)
[x] Test out CXP trigger
[x] 8, 10, 12 bits in white test image mode
## TODO ## TODO
@ -39,37 +45,42 @@
[] flake.nix mod [] flake.nix mod
[] local_run.sh mod [] local_run.sh mod
### Gateware ### Gateware
[x] rename word_dw to word_width [x] refactor error_cnt
[x] Test out CXP trigger [x] Heartbeat (is it useful?? lol)
[] add __init__.py for cxp?? [x] rename circular buffer to slots
[x] use `from misoc.interconnect.stream import Endpoint` instead
[x] add __init__.py for cxp??
[] Try to fix tight s/h time pins [] Try to fix tight s/h time pins
[] refactor error_cnt [] remove self.source.ack in fsm
[] Heartbeat (is it useful?? lol) - seems to kill timing :V
[] rename circular buffer to slots [] multilane ROI
[] Region of interest engine (n*32 bits mode)
[] bus widener + fifo
[] remove pmod/debug_sma in fns args [] remove pmod/debug_sma in fns args
[] add enum for gtx mode (e.g. tx only, rx only, both)
[] use if tx_mode / rx_mode instead
[] Region of interest engine
[x] pixel gearbox
[] pixel parser (xy pos)
[] rtio to getting the frame [] rtio to getting the frame
- O: trigger - O: trigger
- I: frame - I: frame
[] add a packet parser module that mux the packet?
### Firmware (design with driver) ### Firmware (design with driver)
[] Camera linkdown detection [x] API programming
[x] add tag handling for api calls
- support lane reset in kernel using syscall
[] double check cfg gating
[] add libboard_artiq/src/lib.rs cfg gating
[] Camera auto linkup/linkdown using threads [] Camera auto linkup/linkdown using threads
[] API programming [] Camera linkdown detection
[] add tag handling for api calls [] add mutex support for tx/rx camera programming (or block them when camera is not ready)
- support line reset in kernel using syscall [] add xml url printout in uart (so user can just download the xml using api)
[] add heartbeat checking [] add heartbeat checking
[] add flashing LED (non-essential)
[] add PoCXP (non-essential)
### Coredevice Driver ### Coredevice Driver
[x] use camera test pattern black/white to verify roi https://docs.baslerweb.com/test-patterns
[x] test out 8/10/12 bit mode
[] support simple camera programming interface (Not real time) [] support simple camera programming interface (Not real time)
- basic i2c-like interface with read/write u32 - basic i2c-like interface with read/write u32
[] add grabber like fns & docs [] add grabber like fns & docs
[] use camera test pattern black/white to verify roi https://docs.baslerweb.com/test-patterns
### PR ### PR