Closed bartokon closed 2 years ago
It would be good to add ready<->valid hs support and that ap_ctrl_chain :)
Wow this is fantastic work - looking forward to merging it and documenting it
I am quite busy this upcoming week so it might be ~2 weeks from now until it gets fully integrated...
I need to familiarize myself with the expected flow for using this - see if there are any final things to tidy up / note when documenting...
awesome :raised_hands:
So add ready<->valid hs
in the way of 'the signal is there but tready=1 always' hack can be done - and you the user just need to ensure you are actually always ready at the pipeline output and the pipeline will be always free flowing...
But actually supporting autopipelining + working combinatorial valid+ready handshaking true AXIS-style ... thats another issue :fist_raised: https://github.com/JulianKemmerer/PipelineC/issues/122
that ap_ctrl_chain
maybe we can work towards a small demo for that - protocol didnt look too complicated ... so getting some kind of ~loopback of data - maybe with the +1 on each word thing could also be a good test for that?
I guess the idea is that ap_ctrl_chain
will be reused by any/all pipelinec modules for getting generic in and out data ...
So
add ready<->valid hs
in the way of 'the signal is there but tready=1 always' hack can be done - and you the user just need to ensure you are actually always ready at the pipeline output and the pipeline will be always free flowing...But actually supporting autopipelining + working combinatorial valid+ready handshaking true AXIS-style ... thats another issue ✊ #122
If we got that handshake we create gears for pygears. https://docs.pygears.org/gears.html as it uses valid & ready handshake.
Niiicee pygears does indeed seem very cool
To be clear, saying like above - if ready is ignored - or autopipelining isnt used - then you can make a compatible pygear today. The problem is ready+autopipelines.
Planning to probably start an entire 'Vitis Integration' wiki page which primarily will consist of documenting these initial examples files - and can grow organically as needed from there
Will link to this new page from other places in wiki, examples, front page somewhere too
Maybe can put together a nice tweet about to tell folks :nerd_face:
These scripts are used to generate Vitis hls IP's that transfer data to/from pipelineC generated IP. Streaming interfaces are used as communication channel. PipelineC ip is packaged as .XO and connected with Vitis at linking stage.