Current Server Time: 17:03 (Central Europe)

#apertus IRC Channel Logs

2015/04/01

Timezone: UTC


00:13
intracube
left the channel
00:29
fsteinel
left the channel
00:29
fsteinel_
joined the channel
00:29
fsteinel_
changed nick to: fsteinel
00:32
g3gg0
left the channel
01:25
Bertl
off to bed now ... have a good one everyone!
01:25
Bertl
changed nick to: Bertl_zZ
02:46
Jin^eLD
changed nick to: Jin|away
06:33
alexML
this might be interesting for Apertus as well: http://www.magiclantern.fm/forum/index.php?topic=14847
06:33
alexML
(maybe at some point, both cameras can run the same GUI?)
07:21
se6astian|away
changed nick to: se6astian
07:38
niemand
joined the channel
07:48
g3gg0
joined the channel
07:53
jucar
left the channel
07:59
Francky
joined the channel
07:59
Francky
hi
08:00
se6astian
good morning
08:02
Jin|away
changed nick to: Jin^eKD
08:03
se6astian
changed nick to: se6astian|away
08:09
tezburma
joined the channel
08:26
Bertl_zZ
changed nick to: Bertl
08:26
Bertl
morning folks!
08:27
Francky
hi Bertl
08:32
Francky
do you have some time to help me
08:32
Bertl
alexML: nice one :)
08:32
Francky
i've made a 8 bit sender (par to ser) and a 8 bits receiver (par to ser) using a pll
08:33
Bertl
Francky: ser to par I hope for the receiver :)
08:33
Francky
there are one line for data and one line for word clock
08:33
Francky
yes indeed ser to par for receiver
08:33
Francky
i have connected sender to receiver and i send a single pattern to view if receive one is good
08:34
Francky
and it is not :(
08:34
Francky
but with chronogram i don't understand how the iserdes is working
08:34
Bertl
show me the code
08:34
Francky
the simulation :https://dl.dropboxusercontent.com/u/782577/sender_receiver_8bits.JPG
08:36
Francky
the single 8 bit sender : https://dl.dropboxusercontent.com/u/782577/sender_8bits.vhd
08:36
Bertl
the simulation doesn't look wrong per se, it is one cycle behind
08:36
Francky
the 8 bit + clk sender : https://dl.dropboxusercontent.com/u/782577/sender_8bits_clk.vhd
08:36
Francky
the 8 bit receiver : https://dl.dropboxusercontent.com/u/782577/receiver_8bits_clk.vhd
08:36
Francky
yes i have one cycle that i don't know where it is :)
08:37
Francky
this is that i don't undestand
08:37
Bertl
well, there has to be a delay, the data cannot be generated and sampled instantaneously
08:37
Francky
maybe i need a delay on the word bit, but i don't know why
08:38
Bertl
it doesn't matter much, as long as you are able to sync the receiver with the word start
08:38
Francky
oh in fact the word clock is uded by the iserdes to "push" the data out on the par bus right ?
08:38
Bertl
yep
08:38
Francky
clear !
08:38
Francky
thanks
08:38
Bertl
you're welcome!
08:39
Francky
another think : how do you know if it is rising or falling edge which is used by existing IP, as iserdes for example
08:40
Bertl
that is a good question, but usually data is sampled on the rising edge
08:41
Bertl
(unless you have DDR, then there is data on both edges)
08:43
Francky
ok thanks
08:43
Bertl
np
08:48
tezburma
left the channel
08:49
tezburma
joined the channel
09:10
Francky
does IDELAYE2 can be used to delayed the word clock ?
09:11
Bertl
you can delay all input to the fpga, including clock signals
09:12
Francky
what do you mean ?
09:13
Bertl
iDELAY is for inputs, ODELAY for output signals
09:14
Francky
ok so i need a IDELAYE2 right ?
09:14
Bertl
not sure what exactly you are trying to do atm?
09:15
Bertl
the one clock delay on the output is synchronous, so if you want (for whatever reason) to sync generator and receiver (not necessary) then just buffer the generator (i.e. delay it one clock)
09:15
Francky
i need to delayed the serial line "word clock" for the iserdes
09:16
Francky
i don't know if i have to do that by vhdl or by using a IP
09:17
Bertl
for the general case, i.e. transferring data over external lines, you cannot assume that kind of synchronization
09:17
Bertl
what you need to do instead is to make sure that the data is either source synchronous and has some kind of word clock, or the connection is "trained" to align to a word
09:18
Francky
i hope i undestadn right
09:18
Francky
so you say that
09:19
Francky
insteed of sending the patern "0F" for the word clock
09:19
Francky
it is better to send something like "17" or something like that
09:19
Francky
right ?
09:19
Bertl
for example
09:19
Francky
not 17 but 87
09:20
Bertl
it might mess up your first word
09:20
Bertl
but after that everything should be aligned properly
09:20
Bertl
another solution is to use the phase of the PLL
09:21
Bertl
i.e. if you generate word and bit clock with the PLL, then you can phase shift the word clock
09:21
Francky
use the phase of the pll = use a pll in the receiver with a division of 1 and change the phase
09:24
Bertl
yes, there is also the bit slip feature of the SERDES
09:24
Bertl
which can be used to "align" the data during "training"
09:37
Francky
the iserdes doesn't care about the delay of the clockdiv signal
09:53
Bertl
the clkdiv drives the output of the serial to parallel converter, so it should be relevant
09:54
Bertl
note that the simulations are often somewhat off (i.e. just models)
09:54
Bertl
also note that the bitslip is still relevant, even if you do not use it
10:03
Francky
the bitslip works
10:03
danieel
have you two decided if the physical need to be DC balanced (TMDS, ac-coupled) or just plain LVDS (dc-coupled) ?
10:08
Bertl
not yet, but I guess between FPGAs dc coupled is simpler
10:09
danieel
probably the usable bandwith will be higher then, compared to 8/10
10:09
danieel
but with tmds, or 8/10, there is a chance to recognize the pattern and tune runtime the delays on lanes - e.g. see the soft hdmi/dvi receiver core from xilinx
10:10
danieel
(dvi specifies very big tollerance to interlane skew)
10:11
Bertl
yes, but LVDS dc coupled can still use 8/10 (or TMDS) encoding
10:11
danieel
can but it is not necessary
10:11
Bertl
what I mean is, that's not a reason to use ac coupled interfaces
10:12
danieel
once you use an ac coupled, you cant really avoid 8/10 or tmds
10:12
Bertl
of course
10:12
danieel
and then it would be much easier just to reformat that dvi code from xilinx
10:13
danieel
XAPP495
10:14
danieel
Francky: ^^ is good for inspiration
10:15
Bertl
I think TMDS for inter FPGA communication is overkill
10:26
danieel
8/10 makes more sense, as you can use the oob for sync/packetization
10:29
danieel
or crate some sort of 64/66 to lower the overhead for larger packets, the scrambler could be left out as you do not need DC balance
11:03
ItsMeLenny
joined the channel
11:04
ItsMeLenny
hey, theres no link to buy futile resistance, is there an online store i can buy it from
11:07
rhavan
joined the channel
11:08
rhavan
left the channel
11:14
Bertl
hey Lenny, yes, we are working on the web-shop
11:14
Bertl
(so it will be available there shortly :)
11:15
ItsMeLenny
oh
11:15
ItsMeLenny
ok*
11:15
ItsMeLenny
cant wait to rock out to DOP rampage
11:16
Bertl
\m/
11:18
ItsMeLenny
\m/ ONE INCH DEPTH OF FIIIEELD, WITH MY APERTURE OPEN, ALL! THE! WAY! \m/
11:25
intracube
joined the channel
11:26
ItsMeLenny
you can play pacman now on google streetmaps, no joke
11:49
Jin^eKD
changed nick to: Jin^eLD
13:27
Francky
Bertl, what do you think about my stratégy of training ? :
13:27
Francky
at start, the sender send an "init pattern"
13:27
Francky
the receiver, which know the init pattern, use the bitslip to receive the good pattern
13:28
Francky
when the pattern is good, a signal is sent to the sender to start the data flow
13:47
Bertl
too complicated :)
13:47
Bertl
for testing, the best approach is to have some kind of "idle" signal
13:48
Bertl
e.g. send a coma pattern over and over again, which can be used for training
13:48
Bertl
then, when you want to start, simply start, the receiver knows that it has started from the change in pattern
13:49
Bertl
if you don't want to use a coder, make the first N patterns the sync patterns
13:49
Bertl
where N is at least the number of steps you need to synchronize
13:53
cbohnens|away
changed nick to: cbohnens
13:55
Francky
ok so it is exactly what i mean, without the signal feedback from the receiver right ?
13:59
Bertl
yes, feedback is always tricky
14:00
Francky
ok so i add to my test program a "data_match" signal that is 1 when data_in = data_out
14:00
Francky
in fact when data_in_delayed = data_out
14:01
Francky
because i need to delayed the data_in from 3 word_clk period to take the par to ser/ser to par time
14:01
Francky
does it seems good for you ?
14:01
Francky
it is working right now
14:01
Bertl
when you use the PRNG, then you can drop the crosscheck
14:02
Francky
what do you mean by "drop the crosscheck" ? the receiver need to check if received data is matching the prng data right ?
14:03
Bertl
yes, but the PRNG data is generated on _both_ ends
14:03
se6astian|away
changed nick to: se6astian
14:04
Francky
yes i undestood that
14:05
Francky
but if generation is made at the same time at both side (sender and receiver), in the receiver time, i need to delayed the prng data to "wait" for the data from the sender
14:05
Francky
or i just delayed the "start" of the prng
14:05
Bertl
the receiver has to synchronize the PRNG with the received data
14:05
Bertl
i.e. while the "idle" condition is true, the receiver PRNG is in reset
14:06
Francky
how to be sure that the prng wil never generate the idle word ?
14:06
Bertl
that's where the encoder comes in
14:07
Bertl
i.e. if you use 8/10 bit encoding, then you have all the 256 data values plus some more, which are called commas
14:07
Bertl
(did you read the 8/10 encoding wiki entries I pasted last time?)
14:07
Francky
not totaly
14:07
niemand
left the channel
14:08
Francky
but i undestand
14:08
Bertl
okay :)
14:08
Francky
there are forbidden word due to codding which could be use as idle word
14:10
Bertl
yes, and some of them are very suited for synchronization
14:10
Francky
ok
14:38
Francky
so i have a working vhdl code which can send 32 bit + clk through 5 serial lines and receive and compare to initial data, which works (on simulator)
14:38
Francky
i'm happy :)
14:39
Bertl
congrats!
14:39
Bertl
did you get/build the breakout board yet?
14:39
Francky
yep i get it and start to build it
14:39
Francky
i mont the 100 pins connectors
14:40
Francky
and stat connectors
14:40
Francky
and pmod connectors
14:40
Bertl
great! so you can soon test on real hardware then
14:40
Francky
yes this is the next step
14:40
Francky
but for the moment i have no coder in the transmit lines
14:41
Bertl
I'll upload one
14:41
Francky
the code make 32bits to 40 bits coding (ie 4 x 8 to 10 bits) ?
14:42
Francky
coder*
14:42
Bertl
always 8/10, so you need 4 of them
14:42
Francky
ok so the output is a 40 bits word
14:42
Francky
?
14:42
Bertl
if you want to see it that way, yes
14:43
Francky
humm in fact i think i misanderstood the way we transmit the data... in fact for each 8 bits word, i.e on each serial line, you will put a coder to build a 10 bits word and send it on the line right ?
14:43
Bertl
yes, that's the idea
14:43
Francky
so the iserdes/oserdes will be configurated with data lenght = 10
14:43
Francky
is it possible ?
14:44
Bertl
yup
14:44
Francky
ok
14:44
Bertl
even on low end hardware, you can use the 5bit serdes and a gearbox
14:44
Francky
i thought it wasn't, so i imagien to make a 8/10 coding on the 32 bits word and send it throught 5 x 8 bits serial lines, which is completely idiot
14:45
Bertl
would be kind of defeating the purpose, but as long as you keep the codes on one line it would actually work
14:46
Francky
it would work BUT it is not the right way
14:46
Francky
if you upload a coder/decoder, i will update my sender/receiver IPs
14:48
Francky
does the word clock need to be coded too ?
14:48
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/BETA/enc_8b10b.vhd
14:49
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/BETA/enc_tmds.vhd
14:49
Bertl
here you have two 8/10 bit encoders, the code is quite old so please double check it :)
14:50
Francky
i will correct it :D :D
14:59
Francky
do you have the decoder ?
15:06
Bertl
I didn't code them back then, so you have to do that
15:06
Bertl
note that decoding is rather simple if you don't care about checking for correct codes
15:07
Bertl
for proper bit error checking you should also verify the codes, but that can also be done in hindsight
15:08
Bertl
i.e. use the "decoded" 8 bit code to generate the "correct" 10 bit code and compare it with a pipelined version of the received code
15:09
Francky
ok
15:10
Francky
there are some undeclared signals on the 8b10b coder, but i don't know what to do with, because theyr are used once
15:11
Francky
into the delay proc : vde, ain, ade, cin are undeclared
15:12
Francky
and used only here
15:17
Bertl
yes, that is for TMDS, which encodes video and audio
15:17
Bertl
i.e. the encoder switches based on those signals, you can just remove the code
15:18
Bertl
i.e. only the vde = '1' branch is relevant for your purpose
15:23
ItsMeLenny
left the channel
15:46
Francky
i need to go. Tomorrow i hope to put the code on the zynq and make real debug insteed of simulation :)
15:46
Francky
ciao
15:46
Bertl
cya!
15:47
Francky
left the channel
16:03
Jin^eLD
changed nick to: Jin|away
16:05
jucar
joined the channel
16:29
cbohnens
changed nick to: cbohnens|away
16:31
intracube
left the channel
16:35
niemand
joined the channel
17:33
se6astian
changed nick to: se6astian|away
17:52
niemand
left the channel
18:00
se6astian|away
changed nick to: se6astian
18:38
intracube
joined the channel
19:04
aombk
so, what exactly do you need in 3d modeling?
19:11
g3gg0
left the channel
19:16
niemand
joined the channel
19:31
se6astian
aombk: you mean I can make a wish? :)
20:08
tezburma
left the channel
20:37
aombk
i mean i do 3d modeling and visualization and i saw something in one email. but i though you were covered in 3d modeling and visualization etc
20:37
aombk
se6astian,
21:12
se6astian
ha
21:13
se6astian
then we need you :)
21:13
se6astian
we need illustrations and visualizations for the Beta and the Gamma
21:27
intracube
se6astian: is there any repository of 3d mesh data for the Beta/Gamma?
21:29
niemand
left the channel
22:15
intracube
left the channel
22:15
se6astian
yes
22:15
se6astian
https://github.com/apertus-open-source-cinema/beta-hardware/tree/master/Enclosure
22:15
se6astian
everything Beta related
22:15
se6astian
for the Gamma not yet
22:16
se6astian
its all concept art for now
22:29
se6astian
time for bed
22:39
cfelton
left the channel
22:40
se6astian
changed nick to: se6astian|away
22:45
Andrej741
left the channel
22:47
Andrej74
joined the channel
22:52
jucar
left the channel