Current Server Time: 14:31 (Central Europe)

#apertus IRC Channel Logs

2021/05/30

Timezone: UTC


01:22
Obsdark2
joined the channel
01:23
Obsdark
left the channel
03:17
dos1
left the channel
03:17
dos
joined the channel
03:26
dos
left the channel
03:49
dos
joined the channel
04:59
dos
left the channel
05:04
Bertl_oO
off to bed now ... have a good one everyone!
05:04
Bertl_oO
changed nick to: Bertl_zZ
06:34
Obsdark2
left the channel
07:45
se6astian
good day
08:36
danieel
left the channel
08:40
danieel
joined the channel
08:47
danieel
left the channel
08:48
danieel
joined the channel
10:04
Spirit532
left the channel
10:04
Spirit532
joined the channel
12:16
vnksnkr
joined the channel
13:22
Bertl_zZ
changed nick to: Bertl
13:22
Bertl
morning folks!
15:38
Dest123
joined the channel
15:41
dos
joined the channel
17:32
tpw_rules
vup: alright i got vivado, yosys, and the naps libraries installed. i compiled the csr_demo applet, loaded it onto beta A, and tested with the pydriver console. it all worked great!
17:32
tpw_rules
i am impressed with how easy it was
17:33
tpw_rules
next i wanted to try the hdmi applet, but that is waiting on the recorder being set up. the first thing on my proposal is to implement sensor control, but that needs a sensor. are there any other SPI devices on the Beta i could experiment with first
17:34
tpw_rules
also i tried to run all the tests in naps, but a lot of them failed. is this expected or is there still something wrong with my installatiomn?
17:45
vup
tpw_rules: very nice, how do you like the pydriver stuff so far?
17:48
tpw_rules
i did not spend much time with it yet, but i am impressed by the simplicity. is it intended to be used by using the pydriver script that comes in the fatbitstream?
17:48
vup
yep
17:49
tpw_rules
and how does it work with simulation? is there a way to simulate the applets?
17:49
vup
I don't think there are suitable SPI devices on the main PCBs, but maybe Bertl has something he can quickly hook up, maybe to one of the plugin module slots?
17:49
vup
tpw_rules: we don't have generic simulation of arbitrary applets yet
17:49
vup
but all the infrastructure is basically there
17:50
tpw_rules
ok. i gather anuejn has been working on some sort of logic analyzer.
17:50
tpw_rules
debugging of all of this scares me a little bit :) but we can cross that bridge when we get there
17:52
vup
Re failing tests, usually there should be no failing tests, but it seems some recent yosys update broke something
17:52
tpw_rules
yes, lots of the tests seemed to be assertion failures in yosys
17:52
vup
we also have some formal tests, so for those you also need symbiyosys
17:53
tpw_rules
is there a way to use CSR stuff in simulation? this is my first time using CSR.
17:53
vup
you can compare your failing tests to the list here: https://github.com/apertus-open-source-cinema/naps/runs/2687022597
17:53
tpw_rules
i did not bother building yosys, i just downloaded and unpacked the fpga-toolchain archive like is done by the github actions
17:54
vup
tpw_rules: ah, then symbiyosys should be properly installed and you are probably hitting the same failures like the CI
17:55
tpw_rules
did a proposal get accepted to do nixos on the camera?
17:55
vup
tpw_rules: nobody was interested in working on it
17:55
tpw_rules
aww, i wanted to see that happen
17:56
vup
yeah, me too :)
17:56
tpw_rules
maybe i can do it next year
17:56
vup
sounds good :)
17:56
vup
now for simulation, currently we have no abstractions on the CSR level
17:56
vup
this means, to simulate a CSR read / write you need to use the "backend" implementation of the specific platform instead
17:57
vup
which is a convoluted way of saying, to test the CSRs on the zynq, you need to simulate AXI reads / writes
17:58
vup
finally there is now also a way to write simulations that look like the pydriver methods
17:58
vup
you can find a example of both here: https://github.com/apertus-open-source-cinema/naps/blob/5db701b5675ce8ab08b45b11492c1649ba3624a5/naps/cores/peripherals/soc_memory_test.py
17:59
tpw_rules
ok so this simsocplatform is what you guys use?
17:59
vup
SimSocPlatform is very new
17:59
vup
so it is not use very much yet
17:59
tpw_rules
i was thinking most of the simulations would be done at the individual module level anyway, like how i wrote the test for teh challenge
17:59
vup
we mostly use `platform.sim(...)` instead
18:00
tpw_rules
does naps have documentation anywhere? so far all i've found is doc/ which says "there is no docs" more or less :)
18:00
vup
no docs yet :(
18:00
tpw_rules
do docstrings get automatically dumped anywhere?
18:00
vup
we used to autogenerate sphinx docs
18:00
vup
but that broke aswell
18:01
tpw_rules
oh?
18:01
vup
you can find a old version here: https://apertus-open-source-cinema.github.io/naps/
18:03
vup
```
18:03
vup
Exception occurred:
18:03
vup
File "/opt/hostedtoolcache/Python/3.8.10/x64/lib/python3.8/site-packages/sphinx/util/typing.py", line 303, in stringify
18:03
vup
elif annotation in INVALID_BUILTIN_CLASSES:
18:03
vup
TypeError: unhashable type: 'Shape'
18:03
vup
```
18:19
Bertl
regarding SPI, we have the IMU CSO and the CSO adapter used on Beta B would allow to add that
18:22
vup
Bertl: but the CSO is connected to one of the machxo2's and not the zynq directly, right?
18:22
vup
or which adapter are you talking about?
18:22
Bertl
it is connected to both MachXO2s
18:22
Bertl
but not to the zynq, no
18:23
Bertl
but I doubt we will have any low speed (and SPI is low speed) interfaces on zynq I/Os
18:24
vup
yeah, I was more thinking along the lines of a plugin module breakout board -> hooking up some SPI device you have laying around
18:25
Bertl
well, I can check if I can find something
18:25
tpw_rules
wait, where is the sensor spi interface connected?
18:26
Bertl
on a full Beta, yes
18:26
tpw_rules
yes where?
18:31
vup
to the zynq
18:31
tpw_rules
ok
18:34
vup
(atleast in the current setup, its actually routed through another fpga, but that one currently just passes it through to the zynq)
18:35
tpw_rules
ok
18:36
tpw_rules
so what sort of procedures are there for design and code reviews, PRs, branching etc?
18:39
vup
I would say, try to submit self contained, not too big PRs, and then we will do code review via the github review thingy.
18:40
vup
anuejn and I have been doing most design review / discussion via vc, we could do the same if you are comfortable with that
18:40
tpw_rules
vc?
18:40
vup
video chat
18:41
tpw_rules
yeah that should work
18:43
vup
In general we will have our usual quick update meetings on mondays, and the gsoc meeting after that. This would be the place where I would like to make general plans for the rest of the week and general discussion about which steps to take next would take place.
18:43
tpw_rules
okay, that sounds good. so the first one would be tomorrow?
18:44
vup
Yes
18:45
Dest123
left the channel
18:46
tpw_rules
ok, see you then
18:46
vup
Now until either some test hardware for SPI or a actual sensor is setup, your first step could be adding the required resources to the platform definition we have for the beta: https://github.com/apertus-open-source-cinema/naps/blob/main/naps/platform/beta_platform.py
18:46
vup
you can do that by either digging through 5 layers of schematics here: http://files.apertus.org/HARDWARE/AXIOM/BETA/ :)
18:47
vup
or take the easy route and use the existing pin constraint files here https://github.com/apertus-open-source-cinema/axiom-firmware/tree/master/peripherals/soc_main
18:47
Dest123
joined the channel
18:47
Dest123
left the channel
18:48
tpw_rules
those would go on the BetaPlatform class?
18:48
vup
yep
18:49
vup
ie add a resource that uses the connectors defined in the MicroZedZ020Plaform, which describes the sensor lvds and spi pins
18:52
tpw_rules
i am a little confused. the nmigen board definition describes JX1 and JX2. bertl shared these pictures of the Beta boards: https://i.imgur.com/eQv7sEr.jpg
18:53
tpw_rules
are JX1 and JX2 the two white horizontal connectors?
18:53
vup
no
18:53
vup
JX1 and JX2 are connectors on the microzed board, which is not visible on the picture
18:54
vup
maybe take a look at this: https://wiki.apertus.org/index.php/AXIOM_Beta/Camera_Structure
18:54
vup
the red pcb is the microzed
18:55
vup
which looks like this on the backside https://www.element14.com/community/themes/images/2019/microzed_back_view.jpg
18:57
vup
these are then passed through the pcb stack via first the powerboard, then the mainboard (which is what you see on the picture bertl shared), through a interface board and then to the sensor board
19:00
Bertl
off for now ... bbl
19:00
Bertl
changed nick to: Bertl_oO
19:03
tpw_rules
ok
19:04
tpw_rules
so i would be crossreferencing the pins here: https://github.com/apertus-open-source-cinema/axiom-firmware/blob/master/peripherals/soc_main/pin_cmv_ibc.xdc to the names in the JX1 and JX2 connectors in the board definition?
19:04
vup
yeah
19:05
tpw_rules
where are the non-lvds pins?
19:07
vup
https://github.com/apertus-open-source-cinema/axiom-firmware/blob/master/peripherals/soc_main/pin_spi_ibc.xdc for example
19:07
tpw_rules
oh, i missed the comment :)
19:07
vup
heh
21:45
anuejn
tpw_rules: yeah sometimes its a bit messy to debug all these layers of s*** ;)
21:45
anuejn
but when they work its quite comfy :)
23:47
anuejn
also the naps tests that were failing should be fixed now
23:50
dos
changed nick to: dos11
23:50
dos11
changed nick to: dos1
23:53
dos
joined the channel
00:17
vup
and even the vivado ci runner is now up again :)
00:25
anuejn
yay and found another nmigen bug :joy:
00:31
dos1
left the channel
00:37
dos
left the channel
00:39
dos
joined the channel