Topic for #milkymist is now Milkymist One, Milkymist SoC & Flickernoise development channel (LLHDL/Antares are welcome too) :: Logs: http://en.qi-hardware.com/mmlogs :: JFDI
aw joined #milkymist
aw_ joined #milkymist
wolfspraul joined #milkymist
xiangfu joined #milkymist
DJTachyon joined #milkymist
rejon joined #milkymist
<aw_> wolfspraul, here last one customer bought from Taipei she wanted me to prepare some video files for them. they are preparing to show this Milkymist One in next week in Brasil.
<wolfspraul> don't understand
<wolfspraul> :-)
<aw_> so I need to prepare them firstly then cc to you. ;-)
<wolfspraul> "prepare some video files"?
<wolfspraul> sure sounds great
<aw_> like retail box opening to understand how to use M1, this was done by Lekernel already. and some use case of applications we promoted.
<aw_> so even Werner's great video yesterday. ;-)
<wolfspraul> so you send them a collection of links to videos?
<aw_> yes
<wolfspraul> alright :-)
<aw_> also includes our official site, she told me that if someone in the conference may ask to buy. ;-)
<wolfspraul> ok
xiangfu_ joined #milkymist
aw joined #milkymist
aw_ joined #milkymist
rejon joined #milkymist
rejon joined #milkymist
lekernel joined #milkymist
<wpwrak> hmm, just did a cvs update and re-applied my quilt stack. the rtems folks don't seem to be in much of a hurry to fix those bugs. or is there a hidden branch where they keep all the goodies ?
<wpwrak> lekernel: soc11_2.diff should also go on my stack, right ?
Martoni joined #milkymist
<lekernel> yes
<wpwrak> added, thanks !
<wpwrak> by the way, how are we building rtems these days ? my approach is rtems cvs plus my patch stack. lekernel, xiangfu_, is what you use equivalent ?
<lekernel> same
<wpwrak> and a question about instrumenting the SoC for "exporting" signals: what do you use ? do you pass things through the hierarchy, do you use fpga_editor, something else ?
<lekernel> I don't have a logic analyzer, so I don't usually do that
<wpwrak> ah, i see. well, even with the scope it may be useful
<lekernel> a good way to do it would be a little script that manipulates the FPGA using XDL to reroute any net to I/O
<wpwrak> hmm. script sounds good. i was pondering the idea of a script that edits the sources. but hacking a later stage would have its advantages, too. with xdl, do you mean the file format or the program called xdl ?
<wpwrak> (or both ?)
<wpwrak> "As far as I know, there's nothing public about the XDL format" :-(
<wpwrak> and so the reverse engineering begins ... again ...
<lekernel> nah but it's super simple
<lekernel> and regarding the question in the forum, you unroute the net by removing all pip entries
<lekernel> you add the pin of the I/O site
<lekernel> and you run PAR again to re-establish the connections. it will also do the timing analysis on that modified net.
<wpwrak> what does the last item on inpin/outpin mean ? C3, O, DOB4, ... ?
<lekernel> it's the name of the pin within the site
<lekernel> e.g. an IOB site has multiple pins for input, output, tristate enable, etc.
<wpwrak> aaah, so it's always O. excellent :)
<lekernel> I told you it was easy :)
<wpwrak> does the order of things in the .xdl file matter ?
<lekernel> what is a little annoying is finding the good configuration options for the IOB, but you can simply copy and paste from a working design
<lekernel> not afaik
<wpwrak> yeah, copy and paste rules :)
<wpwrak> wonderful. about running par, if i just do it between system.ncd and system-routed.ncd, no extra par run should be necessary, correct ?
<lekernel> there's better than that
<lekernel> you modify system-routed.ncd and you unroute the only net you have modified
<lekernel> then PAR will only route one net, which takes only a few seconds (most of them spent loading the bloated libraries)
r33p joined #milkymist
<lekernel> in system.ncd there are no pips at all (everything's unrouted)
<wpwrak> system.ncd just looks like a simple netlist
<wpwrak> and what's a pip ? :)
<wpwrak> hmm, the pips look more difficult. let's keep that for another day.
<wpwrak> hmm. "inst" has a mysterious RIOB_X37Y124 (for dbg_rx_active going to G17). and i found another,
<wpwrak> git dbg_rx_pending going to G16
<wpwrak> maybe that's the N/P pairs ...
<wpwrak> yeah.
<lekernel> pips are programmable switches that establish the physical connections between the site pins, by jumping from wire to wire
<wpwrak> eek. i won't touch these :)
<lekernel> it's not hard
<lekernel> remove all pips from the net
<lekernel> and re-run PAR
<lekernel> it will nicely generate a new set of pips that reconnects all the pins - including the IOB pin you added
<lekernel> note that if you don't remove all pips before, it will still work (will grow from the existing routed net), but the solution can be sub-optimal
<lekernel> (at least, I think so. probably depends on some par options, too)
<lekernel> but the safe way to go is remove pips before
<lekernel> btw, pip sets aren't even too hard to generate anyway, I have an implementation of the Lee algorithm that works (can be suboptimal timing-wise compared to the PAR algorithm, though)
rejon_ joined #milkymist
<wpwrak> so you're ready to get rid of par ? :)
<xiangfu_> wpwrak, (rtems patches) working on that now. :)
<xiangfu_> now. the build script use the cvs, no patch at all.
<lekernel> xiangfu_: working on what?
<lekernel> adding wpwrak's patches to your build script?
<xiangfu_> apply werner's patch in rtems.
<xiangfu_> yes.
<xiangfu_> lekernel, btw, I will try to create a Makefile under milkymist.git. merge all .sh file to that Makefile.
<lekernel> what?
<lekernel> remove build_bios.sh, build_bitstream.sh etc.?
<xiangfu_> yes. create a "makefile' instead. what do you think?
<xiangfu_> like make bios
<lekernel> I don't care
<xiangfu_> make bitstream
<xiangfu_> ok. werner and me want that. :) hope I can finish that this weekend. then send a patch to mailing list.
<lekernel> xiangfu_: btw, I fixed your DMX/MIDI/video-in detection yesterday. it was only working when the variables were used in the constant part of the patch (i.e. when written a constant value. when used read or write in per-frame or per-vertex equations it didn't work)
<xiangfu_> thanks.
<xiangfu_> I have a small patch on makefile about build 'softwareusb' 'libhal' 'bios' , sent to mailing list. just let you know.
<lekernel> xiangfu_: btw, how do you feel about finding out why the RTEMS FTPd "root directory" option doesn't work?
<xiangfu_> when modify softusb code. 'build_bios.sh' will not recompile the 'softusb', this small patch fix that.
<lekernel> I'd like to set it to /ssd, and also hide non-ssd directories in the GUI
<xiangfu_> lekernel, yes. working on that when finish the compile patch stuff.
* xiangfu_ want more Milkymist task :)
<xiangfu_> lekernel, just finish the nanonote release. so will have more time working on milkymist one.
<xiangfu_> lekernel, btw. Jon try to sale the first Milkymist one in China mainland, we see. if all goes fine. we will try to setup tomorrow.
<lekernel> I have already committed it, no?
<xiangfu_> yes. committed. thanks.
kristianpaul joined #milkymist
xiangfu joined #milkymist
<lekernel> wpwrak: you fixed this, right? https://github.com/milkymist/bugs/issues/10
<wpwrak> yes, such devices should now work
kristianpaul joined #milkymist
<wpwrak> HMM. are my eyes betraying me or have i just found a bug in perl ?
<wpwrak> let's check those scoping rules again ...
<wpwrak> ah. no. all is normal. just funny scoping. phew.
<GitHub189> [flickernoise] sbourdeauducq pushed 1 new commit to master: http://git.io/cICrAg
<GitHub189> [flickernoise/master] videoin: format selection - Sebastien Bourdeauducq
<lekernel> you're doing that xdl thing in perl?
<wpwrak> yeah. takes about 0.064 seconds to read the whole .xdl file and search it for the terms we're interested in
<wpwrak> well, that's with a hot cache
<lekernel> anyone got a component (YPbPr) source to test?
<lekernel> seems we're going to have another run3 errata: the red and blue connectors do not match the usual component cable colors ...
<wpwrak> swapped ? or just way off ?
<lekernel> swapped
<lekernel> I'm not totally sure about this though, the adv7181 datasheet is unclear
<lekernel> best way is to test and see
<lekernel> The input signal that contains the timing information (H/V
<lekernel> syncs) must be processed by ADC0. For example, in the
<lekernel> YC input configuration, ADC0 should be connected to the
<lekernel> Y channel and ADC1 to the C channel.
<lekernel> ...and nothing about YPbPr
<lekernel> "just guess"
<lekernel> or, would it tell Pb from Pr automatically? is there a way to do that?
DJTachyon joined #milkymist
<wpwrak> hmm. does the codec also support true RGB ? if yes, are the connectors correctly colored for that ?
<wpwrak> and if 2x yes, why don't the YPtPr adapter's colors match ? :)
<lekernel> aah from the example design, seems we have to connect Pr to ADC1 and Pb to ADC2
<lekernel> that's red to ADC1 and blue to ADC2
<lekernel> which, from the M1 layout is AIN4 to ADC1 and AIN5 to ADC2
<lekernel> yay! they're not swapped
<lekernel> and composite works on the 3 channels. I do not have a S-Video or component source to test ...
<lekernel> though I get grayscale when feeding the composite signal on Y when using S-Video or YPbPr, which is encouraging
<wolfspraul> lekernel: wait. does this mean ADC1/ADC2 are wired correctly or incorrectly?
<lekernel> everything seems correct so far
<wolfspraul> ok
<wolfspraul> do you want me to look into the sourcing of some cable?
<wolfspraul> your mail was a little confusing, but I only skimmed over it
<lekernel> consumer s-video uses a mini-DIN connector, not RCA jacks
<lekernel> so we need a passive adapter to use those sources
<lekernel> we just need to connect directly these pins to the M1 video input jacks
<lekernel> two of them (plus ground)
<wolfspraul> so it's a female s-video like in that picture on one side, and 3 component rca male connectors on the other side?
<lekernel> no, 2 components (Y/C)
<wolfspraul> ok
<wolfspraul> how many should I get now?
<wolfspraul> just a few to start with?
<GitHub78> [flickernoise] sbourdeauducq pushed 1 new commit to master: http://git.io/9GZjyg
<GitHub78> [flickernoise/master] cp: update video input settings when loading a performance file - Sebastien Bourdeauducq
<lekernel> I don't know... for whom?
<wolfspraul> me neither :-)
<wolfspraul> for anybody who wants to connect an s-video source
<wolfspraul> how much would the image quality improve?
<wolfspraul> but it doesn't have a mini-din on one side
<lekernel> As S-Video maintains the two as separate signals, but still encodes two colour-difference signals into one chroma subcarrier, such detrimental low-pass filtering for luminance is unnecessary, although the chrominance signal still has limited bandwidth, and the colour crosstalk problem is subdued. The infamous dot crawl is eliminated. This means that S-Video leaves more information from the original video intact and offers an improved
<lekernel> image reproduction compared with composite video.
<lekernel> I believe the left connector on the picture is mini-DIN, maybe male... it says "s-video" ...
<wpwrak> maybe find out how much the cable is and if it's cheap but difficult to source outside of china, toss one in the box ?
<lekernel> "This cable can be used in several ways: •Connecting standard consumer S-Video to Separate Y/C RCA Connections"
<lekernel> this is exactly what we are doing
<wolfspraul> ah true, when I zoom in I can see mini-din, looks like male indeed
<wolfspraul> so you want male on the mini-din side, or female?
<lekernel> male is fine imo, so it can plug directly into the other appliance without an extra cable
<wolfspraul> ah ok, so the source (video camera etc) typically ends in a female mini-din?
<lekernel> yes
<lekernel> like that for example
<wpwrak> oh, lovely. when i try to convert the .xdl generated by xdl back to ncd, it spits out some errors
<lekernel> mh? shouldn't do that
<lekernel> what errors?
<wpwrak> ERROR:XDL:178 - parse error in config string around line 24810 in 'foo.xdl' around token ','
<wpwrak> fun facts: the input file is ref.xdl, the output file is foo.ncd
antgreen joined #milkymist
<wpwrak> at these lines, there are things like inst "videoin/dma/burstmem/mem1_do,mem2_do_sliced_1"
<wpwrak> maybe it doesn't like commas in identifiers
<lekernel> I think so
<lekernel> but it shouldn't have put them in the first place
<lekernel> actually I have never seen a comma in any netlist or such
<wpwrak> the keyword here is "should" ;-)
<lekernel> this is weird
<wpwrak> maybe i can just rename them globally
<wolfspraul> lekernel: do you have a s-video source?
<lekernel> if you want I can open a xilinx webcase entry... they usually fix bugs sent through there
<lekernel> wolfspraul: no
<wolfspraul> somehow when I google I get the impression the output would be male
<lekernel> wolfspraul: connectors on appliances are female, and you use a male-male cable
<wolfspraul> maybe you then still have a female-female cable in between?
<wpwrak> (bug) that may be a good idea. could be that this is hiding other bugs.
<wolfspraul> what about a camera that has a male s-video fixed cable coming out?
<wpwrak> but lemme first see if i can find the offending identifiers in the sources
<lekernel> can you send me the .ncd? and the exact two commands that cause the problem?
<wolfspraul> we wouldn't be able to use that adapter cable with it
<wolfspraul> unless we had another female-female plug in between
<wolfspraul> so somehow I think we are better of with a female mini-din to 2*rca adapter, no?
<wolfspraul> because as you said the "appliance" (in our case the adapter cable) is female
<wpwrak> naw, just the first part. not the ,...sliced...
<lekernel> with a female s-video and male RCAs
<wpwrak> lekernel: this should do the trick: xdl -ncd2xdl build/system.ncd tmp.xdl && xdl -xdl2ncd tmp.xdl out.ncd
<lekernel> not sure if it exists, especially with the right RCA pitch
<wpwrak> also happens with system-routed.ncd
<wpwrak> lekernel: the .ncd is just a regular M1 soc build, straight off git
<wolfspraul> ok, so we want female mini-din s-video on one side, and male RCA on the other side
<wolfspraul> got it
<lekernel> wpwrak: yes, same problem. i will open a xilinx bug report ...
<wpwrak> thanks !
<lekernel> wolfspraul: the "long cable with male mini-DIN connector" is also good (and means one less thing to plug)... but it doesn't really matter
<wolfspraul> lekernel: yes but only if your source doesn't have a fixed male cable come out
<wpwrak> since we're already adding a DVI connector in M1rc4, maybe add S-Video in and avoid messy adapter cables ?
<lekernel> not worth it
<lekernel> so far, no one asked explicitly for S-Video :) it's only there because it represents < 10 lines of code
<wolfspraul> oh no, that's a lot of work
<wolfspraul> I much rather look for that external adapter first, especially since I haven't even done it yet
<wpwrak> ok :)
<xiangfu> there are many cables that S-Video --> 1 video RCA. under taobao.com.
<lekernel> xiangfu: as my email says, these cables are not suitable
<xiangfu> lekernel, yes. most of them are male. :(
<lekernel> no, the problem is they also convert S-Video to composite, which reduces quality
<xiangfu> is this ok? and I needs another two male - male RCA make it connect to M1.
<xiangfu> it's S-video --> 4 RCAs.
<lekernel> it's not S-Video, it's made for expansion ports of graphics cards
<xiangfu> is that one for audio. other three for video? just want to understand.
<xiangfu> lekernel, oh.
<lekernel> no, it generates composite and component from the expansion port of a PC graphics card
<wpwrak> the video dialog is getting complicated :)
<wpwrak> hmm. there are more problems: with the ncd -> xdl -> ncd: ERROR:PhysDesignRules:764 - Slew rate not set. Since it is used for output and its IO standard is LVCMOS33, IOB comp phy_rx_data<0>.OUTBUF needs a slew rate to be set.
<wpwrak> and the joke is not lost on me that this is actually in input
<wpwrak> s/in/an/
<wpwrak> the .xdl also says so
<wolfspraul> lekernel: thanks for catching up with Don - and he replied! great!
<wolfspraul> until he stops by here - Don said he enjoyed using Milkymist One on his travels and it worked well and he has videos and patches to share with us soon...
<wpwrak> will be very interesting to hear how exactly he uses the M1
<wpwrak> oh wait .. that's still from xdl. interesting.
<wpwrak> (xdl -xdl2ncd)
<GitHub155> [flickernoise] sbourdeauducq pushed 1 new commit to master: http://git.io/8SLDSw
<GitHub155> [flickernoise/master] Keyboard shortcuts to switch between composite video sources: F1/F2/F3 to select green/blue/red inputs (respectively) - Sebastien Bourdeauducq
Alarm joined #milkymist
<GitHub102> [flickernoise] sbourdeauducq pushed 1 new commit to master: http://git.io/kBYlmQ
<GitHub102> [flickernoise/master] New patches - Sebastien Bourdeauducq
lekernel joined #milkymist
sh4rm4 joined #milkymist
<scrts> hm... whats the currency on taobao?
sh4rm4 joined #milkymist
<wpwrak> whee. the madness works ;-)
<mwalle> wpwrak: hacking the xdl to tap signals?
<wpwrak> yeah
<kristianpaul> oh
<kristianpaul> tell us, tell us :-)
<wpwrak> let's see ... what shall i ask for in return ?
<wpwrak> maybe the soul of your firstborn ?
aeris joined #milkymist