<jackgassett> hello
<kristianpaul> hi jackgassett
<jackgassett> hello!
<lekernel> hi
<lekernel> welcome
<jackgassett> thanks, I wanted to drop by and chat with some people working on the milkymist project.
<jackgassett> I have an open source FPGA board called the Papilio One.
<jackgassett> I was just chatting in my channel over at #GadgetFactory and we were talking about the milkymist project.
<jackgassett> The Papilio One is a low end FPGA board.
<lekernel> yup i'm checking that out
<jackgassett> I thought it would be cool to make milkymist run on the P1 but don't want to do so if it conflicts with the high end Milkymist One board.
<lekernel> port milkymist soc?
<lekernel> oh, go ahead
<jackgassett> I saw the Avnet port and thought that would most likely run on the P1.
<lekernel> it's definitely not going to conflict, people who buy small boards like yours wouldn't buy a milkymist board anyway
<jackgassett> But without looking too closely I couldn't tell if the avnet port was just the SOC portion.
<lekernel> and it'll have a lot less features (no sdram, no video, etc.)
<jackgassett> well, I do have a VGA video "Wing".
<lekernel> but still it could be nice to have a small cpu-based system (like the avnet port)
<jackgassett> And wanted to use Milkymist as a small demo of what can be done with the video wing.
<lekernel> what's on that video wing?
<jackgassett> but maybe the video features need more ram?
<jackgassett> nothing fancy, just resistors. No RAM or anything.
<lekernel> flickernoise uses around 25 megabytes, the demo firmware about 4 iirc
<lekernel> you need SDRAM
<lekernel> also the s3e500 wouldn't accomodate the graphics acceleration
<jackgassett> ok, what I really want is a SOC system with a video controller section. It wouldn't need a lot of memory because the VGA wing only provides 8 colors.
<lekernel> what can still be done is a small cpu system and a very low resolution vga out
<jackgassett> and a future wing will provide 4096 colors.
<jackgassett> yes, that is exactly what I was hoping for. With the goal being to make it easy for people to make interfaces etc.
<jackgassett> And do interesting things with the VGA output.
<jackgassett> cool, I'll have to dig in and look more closely. I really just wanted to touch base with you and make sure it would not be a conflict of interest.
<kristianpaul> do you have a sdram wind?
<kristianpaul> winG
<jackgassett> not right now. I have a new board coming out that uses the Spartan 3A and has SDRAM built in.
<jackgassett> But it will be a couple more months before it is ready.
<lekernel> isn't spartan 3a already on its way to obsolescence?
<kristianpaul> lekernel: does he really need sdram for basic vga stuff?
<jackgassett> I think the price is right for the type of boards I'm offering. When the board was designed the Spartan 6 still did not have an option that was under $20.
<kristianpaul> i think actually Fallenou have an ping ping game fot avnet board
<kristianpaul> too
<lekernel> usually yes, unless you have a resolution like 320x200 16 colors
<jackgassett> I just recently saw their Logic optimized options. I would have selected that if it was available at the time.
<lekernel> but people are already whining because mm isn't running in hd resolutions atm :)
<kristianpaul> heh
<jackgassett> I have Pac-Man running on the Papilio One now.
<kristianpaul> jackgassett: what is your relation with gadget factory btw?
<kristianpaul> jackgassett: nice
<kristianpaul> do you have a repo?
<kristianpaul> what are your plans with mikymist in the future?
<jackgassett> I'm the owner.
<jackgassett> kristianpaul: I was getting the link to the repo and just realized the site is down!
<jackgassett> My VPS provider is usually pretty solid but they seem to be down right now.
<kristianpaul> ok.. thats hapens
<jackgassett> ok, back up.
<kristianpaul> lekernel: from the mm1 soc an and avnet port, the mico32 version is same isnt?
<lekernel> I don't remember
<jackgassett> kristianpaul: are you asking my plans?
<kristianpaul> jackgassett: yes
<jackgassett> Well, my goal for the P1 is to provide a ton of concrete examples of the sort of things you can do with an FPGA.
<kristianpaul> Your site is nice, i wast aware of poeple seliing fpga based kits
<jackgassett> So I try to port the best projects I can find out there, usually in just a basic form. And I put together tutorial videos and example projects for doing things like implementing serial ports etc.
<lekernel> kristianpaul: so milkymist doesn't count?
<jackgassett> So I would only want to get a limited version of Milkymist running on the P1.
<kristianpaul> lekernel: no no, that is already on my list !!
<jackgassett> The board will never do what the Milkymist One can do.
<kristianpaul> sure
<jackgassett> but it could bring exposure, at a low cost, to the project.
<jackgassett> I want to be the Arduino for FPGA's.
<jackgassett> The idea is that someone buys the P1 for $50 and then browses through the repository and can test out all kinds of cool projects.
<jackgassett> If they like the limited milkymist project then they can move on to the fully featured Milkymist One board.
<kristianpaul> :-)
<jackgassett> I think it is beneficial to everyone but can understand if a project owner doesn't like the idea.
<kristianpaul> you i'll happy with a mm soc, with just processor, serial port and IO plus vga i guess?
<jackgassett> yes, I think that would be perfect.
<lekernel_> jackgassett: if you start with the avnet port it should be quite easy
<kristianpaul> indeed
<jackgassett> does the avnet port include VGA?
<kristianpaul> nopr
<lekernel> nope
<jackgassett> ok, so I would have to add that in.
<lekernel> but the milkymist vga controller requires a SDRAM bus anyway
<lekernel> and is generally optimized for SDRAM based systems
<lekernel> so you wouldn't want that
<jackgassett> could it be converted to use BRAM for smaller VGA usage?
<kristianpaul> jackgassett: but includes gpio (sysctl) you can clone that and implement a simple vga
<kristianpaul> it think you may already have the core for that isnt?
<lekernel> just use dual port RAM, with one port for CPU access and the other to scan the framebuffer
<kristianpaul> ah yes :-)
<jackgassett> ok, and milkymist SOC and software would make it easy to write to the framebuffer...
<lekernel> it'll a lot easier than messing around with the current core, that is designed to handle memory latencies, bus contention and memory burst access
<lekernel> just map the framebuffer to system memory, then you can run C code that display nice graphics
<jackgassett> ok, sounds awesome.
<kristianpaul> and is easy!
<jackgassett> When I get ramped up to start working on it I'll keep you guys posted.
<jackgassett> I think it would be really nice to have a low end board that people could do graphics on.
<jackgassett> Thats something the Arduino cannot really do. People would appreciate being able to do that easily.
<lekernel> yeah, in turn it'd be nice to introduce people to milkymist soc as well
<lekernel> many tech enthusiasts wrongly think that MM1 is super-complex and super-expensive and not for them
<kristianpaul> even, well i think you can port arduino lagunage to the board, is gcc so well...
<lekernel> arduino language? ah, it's C :)
<jackgassett> kristianpaul: already done!
<kristianpaul> jackgassett: oh !
<kristianpaul> lekernel: arduino functions ;-)
<lekernel> the funny thing is that people who write 'arduino language' are often afraid of C
<kristianpaul> hehe yes
<jackgassett> The P1 runs a sketches on an AVR compatible soft processor already.
<lekernel> which avr clone did you use btw?
<kristianpaul> i see
<jackgassett> arduino language is really C++.
<kristianpaul> navr... ;-)
<jackgassett> AVR8 clone from Ruslan.
<jackgassett> off opencores.
<jackgassett> It is very good so far.
<lekernel> ah, I think I saw that one already
<jackgassett> It is the best one I found.
<jackgassett> most complete.
<jackgassett> Haven't had any problems running sketches.
<jackgassett> Part of what I'm doing is trying to make FPGA's not be perceived as so scary.
<kristianpaul> do you use urjtag to load bitstream the board?
<jackgassett> a modified version of xc3sprog.
<jackgassett> also programs SPI flash.
<lekernel> it was rather slow... and vhdl...
<jackgassett> I used to use urjtag but sc3sprog is better.
<kristianpaul> but is integrated with the arduino like IDE?
<jackgassett> xc3sprog programs the bitstream in 500ms
<jackgassett> yes.
<jackgassett> You just press upload and the sketch is running on the board in couple of seconds.
<kristianpaul> nice work
<jackgassett> thanks,
<lekernel> why do you need to program the bitstream for this?
<jackgassett> I added makefile support to the arduino source.
<jackgassett> well, with the arduino flow it does this:
<jackgassett> hex file is generated with avr-gcc.
<jackgassett> hex file is converted to mem file.
<jackgassett> mem file is merged into bram in bitstream which contains AVR8 processor.
<lekernel> ah, ok
<jackgassett> merged bitstream is loaded with xc3sprog to the FPGA.
<lekernel> how do you merge the bram into the bitstream?
<jackgassett> with Xilinx tool.
<lekernel> argh :)
<kristianpaul> heh
<jackgassett> data2mem
<lekernel> you should try to RE and rewrite that one, it shouldn't be too hard
<kristianpaul> lekernel: how is it done in navre?
<lekernel> otherwise people have to install 8GB of auxiliary crap to run your stuff
<lekernel> kristianpaul: the lm32 core loads the avr program over the CSR bus
<jackgassett> well, I noticed that avnet and digilent package the data2mem executable with their projects.
<jackgassett> so I do the same.
<lekernel> and wishbone
<jackgassett> does the milkymist SOC implement wishbone?
<kristianpaul> yes
<lekernel> partly
<kristianpaul> but i think is not the upstream version
<lekernel> it has wishbone and 2 other buses
<jackgassett> nice, I've been meaning to implement that in a soft processor.
<jackgassett> never enough time to do all you want to do.
<jackgassett> I shied away from lm32 because I thought it had a funny license at one point.
<kristianpaul> all you do is lekernel :-)
<kristianpaul> mm soc have a nice/simple CSR bus too jackgassett
<lekernel> it's BSD-like, the sucky part is they have integrated US export restriction clauses in it
<lekernel> but just like you don't care about the data2mem license, I don't care about them
<lekernel> maybe lm32 will be replaced at some point, antgreen (who sometimes comes to this channel) is working on moxie which looks promising
<jackgassett> cool, someone just contributed a Zylin ZPU port called ZPUino.
<jackgassett> It works with Arduino IDE too.
<jackgassett> 32 bit, 100Mhz, uses 60% of 250K chip.
<lekernel> ZPU is so slow it's worthless
<jackgassett> ah, ok, thats good to know.
<lekernel> the clock frequency is high, but it takes several dozens of cycles for most instructions that take one cycle on a better arch like AVR
<jackgassett> well, thats the beauty of FPGA, easy to change.
<jackgassett> well, not easy.
<jackgassett> but possible.
<lekernel> your 100MHz ZPU might perform like a 300kHz AVR
<jackgassett> sheesh.
<kristianpaul> milkyduino :D
<jackgassett> why not.
<mwalle> mhh seem that there has to be a v3 of my target-lm32/ patchset :(
<Fallenou> :x
<nats`> mlouarf
<kristianpaul> Any comments on http://yasep.org/ ?
<kristianpaul> argg vhdl..
<kristianpaul> [florian]: are you the florian from linuxtogo?